1.[代码]DiagnosticCollectorCompile.java

import java.io.IOException;

import java.util.Arrays;

import javax.tools.DiagnosticCollector;

import javax.tools.JavaCompiler;

import javax.tools.JavaFileObject;

import javax.tools.StandardJavaFileManager;

import javax.tools.ToolProvider;

public class DiagnosticCollectorCompile {

public static void main(String args[]) throws IOException {

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

DiagnosticCollector diagnostics = new DiagnosticCollector();

StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);

Iterable extends JavaFileObject> compilationUnits = fileManager

.getJavaFileObjectsFromStrings(Arrays.asList("Foo.java"));

JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,

null, compilationUnits);

boolean success = task.call();

fileManager.close();

System.out.println("Success: " + success);

}

}

2.[代码]MyClass.java

class MyClass {

public static void main(String args[]) {

System.out.println("Hello, World");

}

}

java compiler类_利用 JavaCompiler 编译 Java 类文件相关推荐

  1. java invoke 泛型_利用Java反射机制和泛型,全自动解析json

    有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量  Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...

  2. compiler java_使用JavaCompiler编译java源文件

    从1.6版本的JDK开始,JDK提供了标准的包可以方便的调用JVM的编译器,可以方便的使用JVM的编译器来编译java源文件.JDK提供的调用接口是JavaCompiler类,该类在JDK的tools ...

  3. java 反射 单例类_利用反射机制破坏单例模式

    简介 利用反射机制破坏了单例模式,这里以懒汉单例模式为例子进行操作. 之前利用反射也是改变了类中的private变量. 类中的private变量真的private么? 正常的单例模式的实现 这里采用了 ...

  4. java printerjob打印_利用PrinterJob类实现打印控制

    无论采用哪种语言来开发应用系统,打印功能总是少不了的.为了节省Java程序开发人员的工作量,在Java语言中专门提供了一个PrinterJob类来帮助开发人员实现打印控制的功能. 本文将给大家介绍一下 ...

  5. java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用

    在H2数据库引擎中获取代码执行权限的技术早已是众所周知,但有个要求就是H2能够动态编译Java代码.而本文将向大家展示以前没有公开过的利用H2的方法,并且无需使用Java编译器,即通过原生库和JNI( ...

  6. java 编译器原理_作业5:Java编译原理

    零.编译 1.编译器 (1)前端编译器:.java文件转变为.class文件Sun的javacEclipse JDT中的增量编译器(ECJ) (2)后端编译器:.class文件转变为机器码HotSpo ...

  7. winsock使用java编写_利用Socket进行Java网络编程(一)

    利用Socket进行Java网络编程(一) 考试吧(Exam8.com) 2003-03-04 08:00:00 评论(0)条 作者: 郗旻 Socket是网络上运行的两个程序间双向通讯的一端,它既可 ...

  8. java 虚拟机 初始化_【深入理解Java虚拟机】类的初始化过程

    类的初始化过程 类的加载过程.png 加载 将 Class 文件以二进制的形式加载到内存中 验证 校验 Class 文件是否安全,是否被正确的修改等 准备 为类变量申请内存,设置默认值,(初始化变量的 ...

  9. java实现浏览器_利用Java实现网页浏览器

    使用VC,VB或者C#的开发者们对于在程序里面嵌入一个网页来说,那真是小事一桩.但是在JAVA里面,却几乎是不可能实现的任务. JEditorPane虽然说可以打开网页,但是它那解析速度以及解析质量, ...

最新文章

  1. Nginx使用http_accesskey_module防盗链,告别referer,告别伪装
  2. python3 检测端口是否开放
  3. linux c 通过套接字获取本地远程地址信息 getsockname getpeername 简介
  4. 评估指标:ROC,AUC,Precision、Recall、F1-score
  5. NYOJ 题目528 找球号(三)
  6. Linux基础命令---get获取ftp文件
  7. 通过简单的Spring方面摆脱null参数
  8. suse系统_据传 SUSE 将进行 IPO,高达 60 亿美元 | 新闻拍一拍
  9. 【转】Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)...
  10. 计算机电子表格的相关试题,(统考计算机模拟练习试题及答案电子表格.doc
  11. 如何在centos中找到安装mysql_如何在CentOS 7上安装MySQL
  12. Mysql 脚本兼容性测试_MySQL 测试小脚本〔案例〕
  13. 软件工程-团队作业3
  14. hihoCoder - 1079 - 离散化 (线段树 + 离散化)
  15. pip install transformers
  16. wgs84坐标系拾取工具_COORD坐标转换
  17. uniapp ios打包上架
  18. centos7 安装 K8S 及启动 POD问题
  19. Autosar Configuration(五) Security之Csm配置
  20. 语法制导翻译和中间代码生成

热门文章

  1. linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解
  2. 莪的拽、像省田各号①样没尽頭队——软件需求规格说明书
  3. 改变边框线条与背景重叠的布局
  4. SwitchyOmega使用
  5. EC-PCA: 利润中心会计配置
  6. EC-PCA: 利润中心出具报表编制流程 - KE5Z / S_ALR_87013326
  7. 算法的时间复杂度(大O表示法)
  8. php接口链接浏览器打开很快php很慢,php不管curl还是file_get_contents请求接口都很慢,但直接在浏览器里访问就很快,这是说明情况?...
  9. Unnamed System Edition v4.0
  10. SAN和NAS的区别