精华内容
下载资源
问答
  • java编译器

    2018-02-07 16:25:57
    一款java编译器,可以编译java代码文件成为可执行程序.
  • 手机Java编译器

    2018-11-25 14:35:36
    在手机上使用的Java编译器,界面也很不错很有开发的欲望*-*
  • Java要用什么编译器最好?

    千次阅读 2021-04-23 15:46:45
    你说的是ide吧,如果你问的是编译器的话,那java编译器包含在jdk里面,具体一点说应该是 c1/c2那些 java目前通用的编译器就是一个openjdk,还有一个比较值得看的就是openjdk的扩展graalvm的 ce版,后者是基于前者...

    你说的是ide吧,如果你问的是编译器的话,那java的编译器包含在jdk里面,具体一点说应该是 c1/c2那些

    java目前通用的编译器就是一个openjdk,还有一个比较值得看的就是openjdk的扩展graalvm的 ce版,后者是基于前者制作的一个能够编译其他语言的编译器,兼容前者,并提供了更多的功能, 比如native image等等,如果你只是学习java的话,用openjdk就行了,如果你已经学完java了, 打算进一步探索一些高级功能,比如用java写一个安卓的apk这种,那就用graal了

    然后不同的公司,在openjdk的基础之上,也有一些特殊的分支,比如oracle jdk之类的,但是一般 而言,多数人和公司,都建议使用openjdk,因为不同公司的jdk会在openjdk的基础上加一些工具 等等,那些都是用来捆绑用户用的,不建议使用

    理论上,你有jdk就能开始写java代码了,只是在这个前提下,你只能用各种命令,还有文本编辑器 去编写代码,比如java,javac, jshell这些东西,然后vi去编写,那java的要求规则相对较多,比起 c来说,所以如果用这种方式去编写代码,你的效率很低,开发效率上不去

    所以一般会找一个集成开发环境,也就是ide,来编写代码,有了ide之后,各种自动,即时提示, 可以极大地方便你的开发流程,大多数ide还集成了maven,gradle等依赖管理工具,所以除了jdk 以外,你还可以下载一下idea的社区版,免费的,学java,写java的话,idea社区版够你用了

    然后你就可以用这个工具来提升你的开发效率,尤其是学习的过程中,一些初级的错误,比如大小 写之类的,ide会即时提示你,就不需要你每次都javac完,看着一堆错误在那边抓瞎

    文末分享:学习手册,面试题,开发工具,PDF文档书籍教程,扣扣群:639714511免费分享

    点击链接加入群聊

    展开全文
  • java什么编译器_JavaJava编译

    千次阅读 2020-06-25 22:35:52
    幸运的是,从Java 1.6开始,我们可以在运行时访问Java编译器,因此可以将编译时与运行时混淆。 尽管在这种非常特殊的情况下,这可能会导致过多的麻烦事情,通常导致无法维护的自我修改代码,...

    java用什么编译器

    在上一篇文章中,我写了关于如何在运行时生成代理的内容,我们已经了解到生成Java源代码的程度。 但是,要使用该类,必须对其进行编译,并将生成的字节码加载到内存中。 那是“编译”时间。 幸运的是,从Java 1.6开始,我们可以在运行时访问Java编译器,因此可以将编译时与运行时混淆。 尽管在这种非常特殊的情况下,这可能会导致过多的麻烦事情,通常导致无法维护的自我修改代码,但它可能还是有用的:我们可以编译运行时生成的代理。

    Java编译器API

    Java编译器读取源文件并生成类文件。 (将它们组装到JAR,WAR,EAR和其他软件包中是另一种工具的责任。)源文件和类文件不一定是驻留在磁盘,SSD或内存驱动器中的真实操作系统文件。 毕竟,当涉及到运行时API时,Java通常对于抽象是很好的,现在就是这种情况。 这些文件是一些“抽象”文件,您必须通过API提供访问这些文件,这些文件可以是磁盘文件,但同时几乎可以是任何其他文件。 将源代码保存到磁盘上只是为了让编译器在同一进程中运行以将其读回并在类文件准备好后对其进行相同操作,通常会浪费资源。

    Java编译器作为运行时可用的API,要求您提供一些简单的API(或您喜欢的SPI)来访问源代码并发送生成的字节码。 如果我们在内存中有代码,则可以有以下代码( 来自此文件 ):

    public Class<?> compile(String sourceCode, String canonicalClassName)
    			throws Exception {
    		JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
    		List<JavaSourceFromString> sources = new LinkedList<>();
    		String className = calculateSimpleClassName(canonicalClassName);
    		sources.add(new JavaSourceFromString(className, sourceCode));
    
    		StringWriter sw = new StringWriter();
    		MemoryJavaFileManager fm = new MemoryJavaFileManager(
    				compiler.getStandardFileManager(null, null, null));
    		JavaCompiler.CompilationTask task = compiler.getTask(sw, fm, null,
    				null, null, sources);
    
    		Boolean compilationWasSuccessful = task.call();
    		if (compilationWasSuccessful) {
    			ByteClassLoader byteClassLoader = new ByteClassLoader(new URL[0],
    					classLoader, classesByteArraysMap(fm));
    
    			Class<?> klass = byteClassLoader.loadClass(canonicalClassName);
    			byteClassLoader.close();
    			return klass;
    		} else {
    			compilerErrorOutput = sw.toString();
    			return null;
    		}
    	}

    编译器实例可通过ToolProvider并且要创建编译任务,我们必须调用getTask() 。 该代码通过字符串编写器将错误写入字符串。 文件管理器( fm )是在同一程序包中实现的,它只是将文件作为字节数组存储在映射中,其中的键是“文件名”。 这是类加载器稍后在加载类时将获取字节的位置。 该代码未提供任何可诊断的侦听器(请参见RT中Java编译器的文档),编译器选项或注释处理器要处理的类。 这些都是空值。 最后一个参数是要编译的源代码列表。 我们仅在此工具中编译一个类,但是由于编译器API是通用的并且需要可迭代的源,因此我们提供了一个列表。 由于存在另一个抽象级别,因此此列表包含JavaSourceFromString

    要开始编译,必须“调用”创建的任务,如果编译成功,则从生成的一个或多个字节数组中加载类。 请注意,如果在我们编译的顶级类中有嵌套类或内部类,则编译器将创建几个类。 这就是为什么即使只编译一个源类,我们也必须维护类的整个映射,而不是单个字节数组。 如果编译不成功,则错误输出将存储在一个字段中并可以查询。

    该类的使用非常简单,您可以在单元测试中找到示例:

    private String loadJavaSource(String name) throws IOException {
    		InputStream is = this.getClass().getResourceAsStream(name);
    		byte[] buf = new byte[3000];
    		int len = is.read(buf);
    		is.close();
    		return new String(buf, 0, len, "utf-8");
    	}
    ...
    	@Test
    	public void given_PerfectSourceCodeWithSubClasses_when_CallingCompiler_then_ProperClassIsReturned()
    			throws Exception {
    		final String source = loadJavaSource("Test3.java");
    		Compiler compiler = new Compiler();
    		Class<?> newClass = compiler.compile(source, "com.javax0.jscc.Test3");
    		Object object = newClass.newInstance();
    		Method f = newClass.getMethod("method");
    		int i = (int) f.invoke(object, null);
    		Assert.assertEquals(1, i);
    	}

    请注意,以这种方式创建的类仅在运行时可用于代码。 例如,您可以创建对象的不可变版本。 如果要在编译时使用可用的类,则应使用scriapt之类的注释处理器。

    翻译自: https://www.javacodegeeks.com/2016/03/java-compile-java.html

    java用什么编译器

    展开全文
  • eclipsec(java编译器

    2019-02-06 20:51:08
    java比较基本的开发工具,新手建议用中文版的,英文版的不容易操作。
  • java代码 通过java的Swing进行GUI开发 采用树形目录对java文件进行组织 可以实行对java文件的增加、修改、删除以及运行 类似于简易版的eclipse
  • MiniJava 编译器 一个完美的 MiniJava 编译器,将 MiniJava 代码转换为 Piglet、SPiglet、Kanga 和 MIPS 汇编。 它包括五个工作阶段: 检查代码错误 将 MiniJava 转换为 Piglet:将面向对象的语言转换为面向过程的...
  • 如果你还在用eclipse,那你真的是out了,目前java开发最好也是最强大的编译器就是IDEA , 很多公司也开始抛弃eclipse 而转向 idea
  • 您必须下载Java编译器或下载并安装IDE(例如Eclipse)。 编译器的选项是有限的。 如今,有许多在线编译器和IDE。 与台式机相比,它们具有明显的优势。 易于设置–无需下载; 没有安装; 没有PATH变量。 快速...

    学生java用什么编译器

    您想开始使用Java吗? 您是一个不耐烦的程序员,不想在您的计算机上安装任何软件吗? 直到最近,您还没有太多选择。

    您必须下载Java编译器或下载并安装Eclipse之类的IDE。 编译器的选项是有限的。

    如今,有许多在线编译器和IDE。 与台式机相比,它们具有明显的优势。

    • 易于设置–无需下载; 没有安装; 没有PATH变量。
    • 快速入门–许多功能只需几秒钟即可打开,而Eclipse需要1分钟才能启动。
    • 轻松共享–老师与学生共享代码,学生共享作业,将任何问题发布到Stack Overflow。 超级容易! 只需复制链接并粘贴。

    一些在线编译器,例如Codiva和JDoodle,适合学习编程和练习面试问题。 这些简单易上手。 针对此特定用例进行了优化的功能。

    另一方面,还有在线IDE,例如Codenvy和Cloud9。这些IDE提供了完整的开发环境,专业人员可以使用。 许多初创公司使用它来提供一致的预配置开发环境,所有开发人员都可以使用它而无需维护。

    在本文中,我们将介绍适用于学生以及在换工作时练习面试计划的专业人员的在线编译器和IDE。 没有特别的顺序:

    1.

    Codiva.io是我们在线Java编译器的首选。 这是此游戏的新功能,但具有一些很酷的功能。

    Codiva的最大特色是,它可以在您键入时进行编译,解析编译错误并在编辑器中显示。 到您完成输入时,您将获得编译结果。

    它还具有很好的自动补全功能。 这两个功能将在编码时为您节省大量时间。

    Codiva支持多个文件和程序包,并且可以具有自定义文件名。 您也可以运行交互式程序。 因此,初学者学习Java和算法课程的大多数主题都可以由Codiva本身完成。

    Codiva还是唯一在移动设备上运行良好的IDE。

    Codiva的一些缺点是,它仅支持Java,C和C ++,不提供UI主题或不同的编译器设置。 Codiva支持Java 9,但不支持Java 9模块。 当然,没有其他在线编译器也支持Java 9模块。

    Java编译器

    Codiva中的自动补全和错误处理

    总体而言,它是使用Java进行编码的出色工具。 在此处尝试Codiva.io在线Java编译器。

    2.

    JDoodle是流行的Java在线编译器。 它开始于Java,但现在支持近70种语言。 JDoodle只允许一个文件,但您不必指定任何文件名。 它通过分析文件内容找到它。

    JDoodle对运行交互式程序具有出色的终端支持。 默认情况下,程序在非交互模式下运行,限制为10秒。 但是,如果每个项目都需要,您可以切换到交互模式。

    如果您是一个学习许多编程语言的人,或者经常在多种语言之间切换,那么JDoodle将是一个不错的选择。

    对于Java,与Codiva相比,JDoodle的主要缺点是,每次完成代码时都必须手动单击编译。 然后通读错误消息,找到行号,然后返回编辑器。 如果您以前使用过桌面IDE或用Codiva编码,您会发现它很烦人。

    第二个缺点是,它仅支持一个文件。 如果您将其用于编程课程,则无法教授包装,封装等概念。

    尽管有这些缺点,JDoodle是一个不错的网站。 受欢迎是有原因的。

    Java编译器

    在这里尝试JDoodle。

    3.

    Rextester最初是一个正则表达式测试仪,后来发展为在线IDE。 它支持大约30种语言,包括Java,但在C#用户中更受欢迎。

    Rextester允许在多个编辑器小部件之间切换以适合您的喜好。

    它具有最佳的实时协作支持之一。 只需共享URL,开始输入即可。 多个用户可以同时进行编辑,到目前为止,我还没有遇到任何问题。

    Rextester仅支持单个文件,并且该类应命名为Rextester。 另外,不应公开授课。 在撰写本文时,它仅支持Java 8。

    Java编译器

    如果您想进行实时协作,请尝试Rextester

    4.

    联机GDB是支持内置调试器的联机工具。 如果您编写一些复杂的程序,并且必须在发生错误的情况下进行调试,则调试器将派上用场。

    您可以设置一个断点,并且在运行代码时,它将在该行停止,并逐步执行代码,并查看中间变量值。

    它还具有一个内置的代码格式化程序,该代码格式化程序会自动将代码格式化为格式合理的代码,但是您无法定义首选的代码样式。

    它仅支持Java8。编译有点慢,但是仍然值得尝试。

    Java编译器

    5.

    Browxy曾经很受欢迎,但开始落后。 它支持多个文件。 目前只有Java 8。

    Browxy是唯一几乎没有限制的在线编译器。 您甚至可以将网络请求发送到外部URL。

    如果您想练习调用API调用,这将非常有用。 它还支持Applet,但是没有人使用Applet。

    Browxy可以快速编译并运行,我们可以在不到一秒钟的时间内获得响应。

    Java编译器

    6.

    Ideone是最早出现的在线编译器之一。 因此,值得一提。

    它支持大约60多种语言。 Ideone尚未更新为支持Java9。IDEOne提供了一个API,可作为服务进行编译,您可以使用它来构建自己的在线IDE,以在网站上使用。

    Java编译器

    了解更多:

    结论

    今天,您以前使用的每个工具都可以在云中使用。 尽管开发人员大量使用了IDE,但为云开发却有些困难,但是它正在发生。

    与台式机世界不同,在台式机世界中,每个IDE都会竭尽所能而变得肿,我预测在线IDE市场将是零散的,并针对利基用例。

    将分别为学生和专业人士提供IDE。 因为,每个人都将只有一个链接,那么为什么要夸大该网站?

    翻译自: https://jaxenter.com/top-6-java-compilers-students-141549.html

    学生java用什么编译器

    展开全文
  • java 编译器 eclipse

    2018-06-14 17:13:00
    这是java的一个编译器,Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发...
  • java编译器myeclipse

    2018-12-07 17:01:59
    户籍管理系统 JAVA java做的户籍管理系统 对做课程设计的同学很有用啊
  • 获取Java编译器

    2018-06-18 17:06:47
    如何获取java编译器

    如何获取java编译器?

    获取java编译器可以动态编译java文件,获取方式有以下几种。

    一,使用Runtime

    Runtime.getRuntime().exec(“javac c://test.java”);执行cmd命令进行编译.java文件,详情请见:

    https://blog.csdn.net/rico_zhou/article/details/79873344

    二,通过系统方法getSystemJavaCompiler方法获取

    注意,查看源码是可以发现此方法获取的还是tools.jar,但是此文件在java/jdk/lib下,需要将其复制到jdk/jre/lib下,不然返回的是null。

    // 第一种,使用系统方法获取
    	public static JavaCompiler getJavaCompiler1() {
    		//需要把jdk/lib下的tools.jar复制到jdk/jre/lib下
    		JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
    		return compiler;
    	}

    三,从安装的jdk中获取

    主要是找到tools.jar文件,读取环境变量,拼接路径,然后从中获取编译器。

    	// 第二种,使用环境变量从jdk中读取
    	public static JavaCompiler getJavaCompiler2() throws Exception {
    		String javahome = System.getenv("JAVA_HOME");
    		File file = new File(javahome + File.separator + "lib\\tools.jar");
    		if (!file.exists()) {
    			return null;
    		}
    		JavaCompiler compiler = getJavaCompilerByLocation(file);
    		return compiler;
    	}
    
    	// 获取编译器
    	public static JavaCompiler getJavaCompilerByLocation(File f1) throws Exception {
    		String p = f1.getAbsolutePath();
    		URL[] urls = new URL[] { new URL("file:/" + p) };
    		URLClassLoader myClassLoader1 = new URLClassLoader(urls, Thread.currentThread().getContextClassLoader());
    		Class<?> myClass1 = myClassLoader1.loadClass("com.sun.tools.javac.api.JavacTool");
    		JavaCompiler compiler = myClass1.asSubclass(JavaCompiler.class).asSubclass(JavaCompiler.class).newInstance();
    		return compiler;
    	}

    四,从指定的tools.jar获取

    需要jar包tools.jar,传入路径参数,代码如下

    // 第三种,任意目录下tools.jar读取
    	public static JavaCompiler getJavaCompiler3(String filePath) throws Exception {
    		File file = new File(filePath);
    		if (!file.exists()) {
    			return null;
    		}
    		JavaCompiler compiler = getJavaCompilerByLocation(file);
    		return compiler;
    	}
    
    	// 获取编译器
    	public static JavaCompiler getJavaCompilerByLocation(File f1) throws Exception {
    		String p = f1.getAbsolutePath();
    		URL[] urls = new URL[] { new URL("file:/" + p) };
    		URLClassLoader myClassLoader1 = new URLClassLoader(urls, Thread.currentThread().getContextClassLoader());
    		Class<?> myClass1 = myClassLoader1.loadClass("com.sun.tools.javac.api.JavacTool");
    		JavaCompiler compiler = myClass1.asSubclass(JavaCompiler.class).asSubclass(JavaCompiler.class).newInstance();
    		return compiler;
    	}

    归根结底,最主要的还是tools.jar文件,demo源码GitHub:https://github.com/ricozhou/getjavacompiler

    展开全文
  • 安装java编译器

    万次阅读 多人点赞 2019-11-18 17:43:17
    安装JDK。 ... 1.官网下载 Java SE Development Kit 13.0.1 (由于是访问国外网站,所以会比较慢。...最好下载EXE版本的,这样什么都不用管,点安装就行。 https://www.oracle.com/technetwork/java/javase/...
  • 这是一个用java实现的简易的编译器,他能将一个具有加法和乘法的算术表达式编译成类汇编语言,这是我博文对应的代码,具体请参看我的博文: http://blog.csdn.net/tyler_download/article/details/50668983 例如...
  • Java编译器_很小巧,熊熊Java编译器,方便实时修改java源代码并编译、保存java源文件,省去了反复输入编译命令的麻烦,免费绿色软件,欢迎使用。 Java编译辅助工具,能方便实时修改Java源代码并编译、保存Java...
  • Java的几种编译器的介绍以及下载地址
  • java编译器的安装/环境变量的配置

    千次阅读 多人点赞 2019-07-21 11:33:59
    一.软件介绍      Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。... Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 二.安装步骤 1.根据系统...
  • DrJava is a lightweight development environment for writing Java programs. It is designed primarily for students, providing an intuitive interface and the ability to interactively evaluate Java code. ...
  • 编译原理课设作业,java实现,附上实验报告以及答辩ppt 实现词法分析,语法分析,语义分析
  • MiniJava编译器

    2016-03-10 15:03:10
    编译原理课程PJ。
  • windows下的java编译器和jdk.zip
  • 获得代码,保存到本地,调用本地编译器编译文件,执行之后返回结果并删除文件。可以更改为接口,集成到web项目里,达到类似菜鸟工具java在线编程的效果,考虑并发的话需要使用多线程
  • JAVA编译器

    2017-10-23 16:26:25
    反编译,可以把Java开发打包后的 class,或者 jar,war进行反编译
  • JAVA编译器

    2018-04-15 22:54:43
    JD-GUI是一个独立图形界面的...一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转; 三、Java反编译工具,实现了eclipse的高亮着色功能,多文件标签浏览;
  • 由JavaFX支持的MiniJava编译器 描述 作为编译器课程的最后工作,使用某些工具(例如JFLEX和CUP)开发了MiniJava语言的编译器,以解析代码。 为了方便开发人员访问该语言,开发了一个小型IDE,以便在编写和编译代码时...
  • Java编译器 Eclipse IDE for Java Developers - 2021-03
  • 编译原理课程的最终实验,内容包含了C语言为宿主语言的Java词法分析器和语法语义分析,两部分的源代码和测试用例和实验报告。
  • Java-Compiler:Java编译器源码阅读

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 492,437
精华内容 196,974
关键字:

java编译器什么好

java 订阅