一、JDK与JRE的区别
JDK包含工具:开发调试用;JRE是运行环境,部署运行时使用。
二、命令
Apt:JAVA语言解析器,生成文本; Javadoc:能干的他都能干,识别javatag,进行分析生成文档;
Idlj:corba解决不同语言间通信问题,定义corba的接口;
Jar:把编译的class编译成包,同zip的作用 , .jar文件可作为java的类库;
Jarsigner:签名,CA认证,可根验证、摘要认证,class内容未更改则该签名不变;
Java:启动虚拟机; javah:生成C中头文件
Javac:编译; javap:反编译工具,.class文件反编译;混淆器可压缩.class,防御破解;
Java-rm:生成客户端等的XX程序; javaw:用于windows的版本;
Jconsole:java控制台,查看运行中JVM状况; jdb:很少主动用;
Jmp:Java优化工具,把memory下载成map文件进行检查。
Jhat:把生成的map文件进行处理,通过http方式访问对象进行分析。
Jinfo:可查看具体JVM运行信息; jps:java的PS版本,显出进程号,同linux中ps命令作用;
Jstack:列出所有堆栈信息; jstat:类似jstack;
Jstatd:jstat的守护进程。远程提供服务; jvisualvm:包含jconsole等全功能,综合能力强大;
Keytool:生成一些key:公钥、私钥等; orbd:类corba的bd;
Rmic:编译一些桩; rmid:与demo?dim?相关;
Rmiregistry:提供名字服务功能的工具; serialver:远程通信,传递对象,序列化;
Wsgen,wsim[ort:表述比较复杂的对象,与web service相关,XML/HTTP/SERVER。
Java: -classpath + 包所在目录,引用第三方类库,可放目录、文件(jar包或zip)
Java 1.包名(包目录用点间隔)+文件名 2.根据全名找的,所以需要在包在的目录执行 可加参数dummy。
Javac –d +目的目录 +文件名+后缀 在目的目录生成包名+文件名的.class文件.
注意:
(1)编译一定要指定目录,否则直接生成的无法使用;
(2)编译指定的目录,就是将来运行时classpath指定目录;
(3)执行可能需要引用的外包,那么在classpath后两个路径间用分号间隔,linux用冒号。
配置环境命令:任意目录下执行:set path=C:/Program Files(x86)/Java/jdk1.7.0_71/bin;%path%
备注:上配置环境命令只在当前命令行下有效,需要一直有效的,请打开系统-属性-环境变量-用户变量中添加PATH,把jdk/bin目录路径加入其中,
在系统变量中的CLASSPATH中添加jdk/tools/tools.jar加入其中,此处描述很模糊,有需要的详查百度或Google。
调用process:
javac FakeProcessor.java
javac -processor FakeProcessor A.java
javap -v FakeProcessor
关于其他一些JVM的选项:
http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html
关于javac:
源文件,目的文件,Backward compatibility, classpath
Http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html
Jar:
压缩解压
Basic Options:-cf创建文件,-xf解开,-tf查看内容;
Runnable Jar
Jar File Specification
Java –java helloworld.jar
Javap:
–classpath (class所在目录)
Constants pool 常量池 byte code
Http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javap.html