「javajdt解析」java jdt
今天给各位分享javajdt解析的知识,其中也会对java jdt进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JDT的好处是什么?
- 2、怎么是用jdt获取java的注释
- 3、JDT到底是用来干嘛的?Java开发依赖于JDK,运行在JRE上,那么JDT在Eclipse中,作用是什么?
- 4、java中的 JDT与JDK有什么区别???
JDT的好处是什么?
JDT(java development tooling)是Eclipse提供的一组API。其功能引用其官方文档上的说法:
Programmatically manipulate Java resources, such as creating projects, generating Java source code, performing builds, or detecting problems in code. Programmatically launch a Java program from the platform. Provide a new type of VM launcher to support a new family of Java runtimes. Add new functions and extensions to the Java IDE itself. 总之,提供了一系列强大的API供我们操作Java代码。
JDT实际上是将Java代码构建成一个基于DOM结构的抽象语法树AST(Abstract Syntax Tree )。代码中的每个部分都对应一个ASTNode,许多的ASTNode就构成了这个抽象的语法树。Java Class一般对应Compilation Unit node,该节点也是AST树上的顶点。创建一个AST如下:
java 代码
ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource("".toCharArray()); CompilationUnit unit = (CompilationUnit) parser.createAST(null); unit.recordModifications(); AST ast = unit.getAST();
其中createAST,当parse需要较长时间时,可以采用createAST(new NullProgressMonitor()),否则直接传null即可。
recordModifications()用于记录节点的变动,比如修改、删除等,当需要对AST树进行变动操作时,必须要预先调用这个方法。
比较重要的是:一个AST树上的所有节点必须都属于该AST。不允许直接将其他AST树上的节点添加该AST树上。否则会抛出java.lang.IllegalArgumentException异常。须使用ASTNode.copySubtree(AST target, ASTNode node)返回一个目标树的深度拷贝,才能进行添加操作。例如: java 代码ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource("".toCharArray()); CompilationUnit targetRoot= (CompilationUnit) parser.createAST(null); targetRoot.recordModifications(); parser.setSource("class T{}”".toCharArray()); CompilationUnit srcRoot= (CompilationUnit) parser.createAST(null); //这是非法操作,两者的AST源不一样 targetRoot.types().add(srcRoot.types().get(0)); //这是合法操作 targetRoot.types().add(ASTNode.copySubtree( targetRoot.getAST(), (ASTNode) srcRoot.types().get(0))); //这是合法操作 targetRoot.types().add(targetRoot.getAST().newTypeDeclaration());
可以查百度百科的
怎么是用jdt获取java的注释
具体代码如下:
?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?
PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,
执行效率比完全生成HTML标记的CGI要高许多;
PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
JDT到底是用来干嘛的?Java开发依赖于JDK,运行在JRE上,那么JDT在Eclipse中,作用是什么?
JDT是eclipse里的一个组件,Java Development Tools,由于eclipse最初设计出来是用来开发Java程序的,因此这是个核心组件,就是一个程序的核心模块了,作用就是进行Java程序的组织、编译、调试、运行等等工作,也只有eclipse用它。
java中的 JDT与JDK有什么区别???
jdk是java的开发环境 ,程序的编译、运行都需要jdk
一个java开发平台,jdk少不了,而编辑器 可以多种多样,除了eclipse中的JDT,还有独立的jcreate ,或者用记事本以其他加强型的文本编辑器都行
所以JDT 只是个编辑器,类似于 editplus、ultrae ,只是功能更多点
javajdt解析的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java jdt、javajdt解析的信息别忘了在本站进行查找喔。