繁体   English   中英

如何在eclipse中为java程序调试更容易?

[英]How debugging is much easier in eclipse for java programs?

每当我在eclipse中编写一个程序时,每一行都会被编译为下一行。它显示编译是在编写程序时完成的。 这是否意味着每当你编写一行程序时都会运行javac.exe文件? 它在Eclipse中的调试要容易得多。

Eclipse有自己的编译器(JDT)。 它不使用javac.exe编译器。 问题是它如何实现如此短的编译时间?

Eclipse维护的用于表示Java程序(AST)的内部数据结构与JDT编译器使用的数据结构相同。 这种数据共享允许编译器运行得更快,因为它不需要再次重新编译整个程序(甚至整个文件)。

此外,与javac.exe不同,JDT编译器驻留在Eclipse中。 它不是一个单独的进程,因此不需要像javac.exe那样(通过操作系统)加载它。

除此之外(这对所有Java编译器都是如此),Java具有动态链接。 在程序执行期间加载程序时,每个类都链接到程序中。 这消除了在编译结束时对链接阶段的需要(a-la C / C ++ / C#)。 链接阶段通常很长,因为它整体处理程序(与逐个文件执行的编译相反)。 因此,随着程序的增长,链接变慢。 诸如增量链接之类的技术已设法减轻这种减速但不完全。

鉴于Java不需要(静态)链接,您可以进入Java程序准备运行的状态比其他(静态链接)语言快得多。

Eclipse实际上有自己的编译器,可以在键入时编译代码。 它不是javac.exe,但您可以在JDT页面上阅读更多相关信息。

我相信Eclipse IDE使用自己的Java编译器。

Javac.exe是Sun自己的官方Java编译器,我确信Eclipse编译器大量借用。

您可以在Project-> Build Automatically中将其关闭。 Eclipse正在使用它自己的java编译器 - eclipsec而不是javac。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM