您的位置:

java编译器,java编译器eclipse

本文目录一览:

javac是什么?

javac是Java编译器,负责将Java源代码转换成字节码文件。

javac 可以隐式编译一些没有在命令行中提及的源文件。用 -verbose 选项可跟踪自动编译。当编译源文件时,编译器常常需要它还没有识别出的类型的有关信息。

javac的特点

javac具有简单性、面向对象、分布性、解释性、可靠、安全、平台无关、可移植性、高性能、多线程、动态性等特点。提供了异常处理机制,程序员可以把错误代码放在一起,这样可以简化错误处理任务,便于恢复。不支持指针,杜绝了内存的非法访问。

JAVA的编译器有哪些?

推荐Jcreator,它对于初学者是个很好的开发工具,又小运行也很快。它要用到JDK,大的IDE有JBuilder,netbean,sun stdio,eclipse。

编译器就是将"一种语言(通常为高级语言)"翻译为"另一种语言(通常为低级语言)"的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

Java进阶:SE6调用编译器的两种方法[2]

三 从内存中编译

JavaCompiler不仅可以编译硬盘上的Java文件 而且还可以编译内存中的Java代码 然后使用reflection来运行它们 我们可以编写一个JavaSourceFromString类 通过这个类可以输入Java源代码 一但建立这个对象 你可以向其中输入任意的Java代码 然后编译和运行 而且无需向硬盘上写 class文件

import java lang reflect *;import java io *;import javax tools *;import javax tools JavaCompiler CompilationTask;import java util *;import java net *;public class test_pilerapi{   private static void pilerJava() throws Exception   {    JavaCompiler piler = ToolProvider getSystemJavaCompiler();    DiagnosticCollector diagnostics = new DiagnosticCollector();    // 定义一个StringWriter类 用于写Java程序    StringWriter writer = new StringWriter();    PrintWriter out = new PrintWriter(writer);    // 开始写Java程序    out println( public class HelloWorld { );    out println( public static void main(String args[]) { );    out println( System out println(\ Hello World\ ); );    out println( } );    out println( } );    out close();    //为这段代码取个名子 HelloWorld 以便以后使用reflection调用    JavaFileObject file = new JavaSourceFromString( HelloWorld writer toString());    Iterable pilationUnits = Arrays asList(file);    JavaCompiler CompilationTask task = piler getTask(null null     diagnostics null null pilationUnits);    boolean success = task call();    System out println( Success: + success);    // 如果成功 通过reflection执行这段Java程序    if (success)    {     System out println( 输出 );     Class forName( HelloWorld ) getDeclaredMethod( main new Class[]     { String[] class }) invoke(null new Object[]      { null });       System out println( 输出 );      }     }     public static void main(String args[]) throws Exception     {      pilerJava();     }    }    // 用于传递源程序的JavaSourceFromString类    class JavaSourceFromString extends SimpleJavaFileObject    {     final String code;   JavaSourceFromString(String name String code)   {    super(URI create( string:/// + name replace( / )+ Kind SOURCE extension) Kind SOURCE);    this code = code;     }     @Override     public CharSequence getCharContent(boolean ignoreEncodingErrors)    {     return code;  } }

lishixinzhi/Article/program/Java/hx/201311/27240

初学java 用什么编译器?

一 eclipse / myeclipse

当年学习java,最先接触到的就是 eclipse。喔了个噻,当时感觉eclipse好牛啊,有好多先进的功能:

1. 可以方便地进行包管理。可视化窗口,创建目录和文件都很方便,移动包,复制包等都可以方便的进行。

2.热键操作。复制保存啥的就不说了,代码提示这个功能还是很不错的,在写着写着,脑子突然短路的时候,可以通过快捷键把脑子快速带回来。

3.代码调试。有时候,写着写着代码,突然间就报错了,不知道哪里错了,咋整,这时候,如果使用编辑器的话,就可以使用 debug模式进行调试了,找出问题所在,解决问题。

4.一些代码管理等插件。在企业中肯定要用到代码同步工具,svn 或者 git , 在编辑器中会提供这样的插件,方便代码的管理。

二 idea

相比 eclipse 和 myeclipse ,idea 的基本功能差不多。

1. 包管理:也是有方便的包和资源管理。

2.热键:也是提供热键管理的,而且还很好用。

3.代码调试:debug模式用起来也是很舒服。

4.插件方面:也是支持一些插件的,如 热部署插件等。

三 比较

1. 操作:两个软件有不同的快捷键,虽然idea兼容部分eclipse快捷键,但是不建议这样做。

2.资源消耗:idea更能吃内存啊呦喂,电脑配置低的伤不起啊。eclipse要更柔和一点。

3.是否免费:eclipse 是免费的,myeclipse和idea 是要付费的呦。但是嘛,你懂得。

4.专业性:idea 应该是更专业的,有更高的代码更新机制和代码提示功能。但是 eclipse 涉及的范围更广,除了java 和可以编辑其他语言的项目。

四 建议

1. 如果电脑配置比较低,建议使用 eclipse ,并且使用较低版本的,这样,电脑不会太吃力。如果配置比较高,比如,16G内存,固态硬盘,那就使用idea吧。

2. 没有最好的编辑器,只有最适合自己的编辑器。任何一个编辑器用习惯了,都是很不错的。

希望对您有所帮助!~

Java用什么编译器?

常用的就是Eclipse,My Eclipse,idea这三种,My Eclipse相对于其他两种不是很常用