{"action":"opened","issue":{"url":"https://api.github.com/repos/WhyNotRunning/WhyNotRunning.github.io/issues/14","repository_url":"https://api.github.com/repos/WhyNotRunning/WhyNotRunning.github.io","labels_url":"https://api.github.com/repos/WhyNotRunning/WhyNotRunning.github.io/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/WhyNotRunning/WhyNotRunning.github.io/issues/14/comments","events_url":"https://api.github.com/repos/WhyNotRunning/WhyNotRunning.github.io/issues/14/events","html_url":"https://github.com/WhyNotRunning/WhyNotRunning.github.io/issues/14","id":195138004,"number":14,"title":"jdk","user":{"login":"WhyNotRunning","id":11568030,"avatar_url":"https://avatars.githubusercontent.com/u/11568030?v=3","gravatar_id":"","url":"https://api.github.com/users/WhyNotRunning","html_url":"https://github.com/WhyNotRunning","followers_url":"https://api.github.com/users/WhyNotRunning/followers","following_url":"https://api.github.com/users/WhyNotRunning/following{/other_user}","gists_url":"https://api.github.com/users/WhyNotRunning/gists{/gist_id}","starred_url":"https://api.github.com/users/WhyNotRunning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WhyNotRunning/subscriptions","organizations_url":"https://api.github.com/users/WhyNotRunning/orgs","repos_url":"https://api.github.com/users/WhyNotRunning/repos","events_url":"https://api.github.com/users/WhyNotRunning/events{/privacy}","received_events_url":"https://api.github.com/users/WhyNotRunning/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-12-13T01:50:24Z","updated_at":"2016-12-13T01:50:24Z","closed_at":null,"body":"JDK所提供的所有标准Java类都存放在Java包中，如java.lang包中包含了运行Java必不可少的系统类。由于系统会自动将java.lang引入，所以不需要在源文件中用import语句来显示地引入这个包。另外，Java跪地过java.util和java.io是必须提供的标准包，在JDK中常用的包有以下几种：\r\n\r\n1.java.lang：语言包\r\n\r\n2.java.util：实用包\r\n\r\n3.java.awt：抽象窗口工具包\r\n\r\n4.javax.swing：轻量级的窗口工具包，这是目前使用最广泛的GUI程序设计包\r\n\r\n5.java.io：输入输出包\r\n\r\n6.java.NET：网络函数包\r\n\r\n7.java.applet：编制applet用到的包（目前编制applet程序时，更多的是使用swing中的JApplet类）。\r\n\r\n下面分别对这几个包做下介绍：\r\n\r\n①.java.lang：语言包\r\n\r\n这是Java语言的核心包，系统自动将这个包引入到用户程序，该包中主要类有：\r\n\r\n1.object类：它是所有类的父类，其中定义的方法其它类都可以使用。\r\n\r\n2.数据类型包装类：简单的数据类型的类包装，包括Integer、Float、Boolean等。\r\n\r\n3.数学类Math：提供常量和数学函数，包括E和PI常数及abs()、sin()、cos()、min()、max()、random()等方法，这些常量和方法都是静态的。\r\n\r\n4.字符串类String和StringBuffer类。\r\n\r\n5.系统和运行时类：System类提供一个独立于具体计算机系统资源的编程界面；Runtime类可以直接访问运行时资源。\r\n\r\n6.操作类 ：Class和ClassLoader类。类Class提供了对象运行时的若干信息，ClassLoader是一个抽象类，它提供了将类名转换成文件名并在文件系统中查找并装载该文件的方法。\r\n\r\n7.线程类：Thread类。Java是一个多线程环境，主要有Thread（线程建立）、ThreadDeath（线程结束后的清理操作）、ThreadGroup（组织一组线程）和Runnable（建立线程的交互工具）等类。\r\n\r\n8.错误和异常处理类：Throwable（所有错误和异常处理的父类），Exception（处理异常，需要用户捕获处理）和Error（处理硬件错误，不要求用户捕获处理）。\r\n\r\n9.过程类Process：它支持系统过程，当实用类Runtime执行系统命令时，会建立处理系统过程的Process类。\r\n\r\n②.实用包\r\n\r\n实用包提供了各种实用功能的类，主要包括日期类、数据结构类和随机数类等。\r\n\r\n1.日期类：包括Date（获取日期和时间）、Calendar（抽象类，日历类）和GregorianCalendar（Calendar类的子类）类。\r\n\r\n2.数据结构类：包括链表类LinkedList、向量类Vector、栈类Stack和散列表类Hashtable等。\r\n\r\n3.随机数类Random：它封装了Math类中的random方法，并提供了更多的辅助功能。\r\n\r\n③抽象窗口工具包\r\n\r\nJava的java.awt提供了绘图和图像类，主要用于编写GUI程序，包括按钮、标签等常用组件以及相应的事件类。\r\n\r\n1.组件类：包括Button，Panel，Label，Choice等类，用于设计图形界面。\r\n\r\n2事件包：在java.awt.event中包括各种事件处理的接口和类\r\n\r\n3.颜色包：在java.awt.color中提供用于颜色的类。\r\n\r\n4.字体包：在java.awt.font中提供用于字体相关的接口和类。\r\n\r\n④输入输出包\r\n\r\njava.io提供了系统输入输出类和接口，只要包括输入流类InputStream和输出流OutputStream就可以实现文件的输入输出、管道的数据传输以及网络数据传输的功能\r\n\r\n⑤网络函数包\r\n\r\njava.Net提供了实现网络应用程序的类，主要包括用于实现Socket通信的Socket类，此外还提供了便于处理URL的类\r\n\r\n⑥applet包\r\n\r\njava.applet是专为创建Applet程序提供的包，它包含了基本的applet类和通信类，目前基本上被JApplet类所代替。\r\n\r\n\r\nhttp://blog.csdn.net/kindazrael/article/details/7270673\r\n要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解\r\n了下JDK里的各种可执行程序或工具的用途\r\nJava(TM) 有两个平台 JRE 运行平台，包括Java虚拟机，运行类库，java应用程序装载器。\r\nJRE不是开发环境，所以不包括编译器，调试器，有需要这些请安装JDK(TM)\r\n    \r\n//说明 ：环境为Windows XP SP3 下 的JDK为1.60版本 JAVA_HOME = C:\\jdk1.6.0\r\n\r\n//---------------------------开发文件和目录------------------------------------------------\r\n               jdk1.6.0\r\n     ___________|____________________\r\n    |           |                    |\r\n    bin         lib                  jre\r\n    |           |          __________|_____________________\r\njava.exe    tools.jar     |                                |        \r\njavac.exe   dt.jar       bin                              lib                \r\njavap.exe            _____|____ __________         ________|_______ ________ ________        \r\njavah.exe           |          |          |       |        |       |        |        |\r\njavadoc.exe     java.exe    client      server  rt.jar    ext  security  applet    fonts\r\n                java.dll       |          |   charsets.jar |                  \r\n                awt.dll     jvm.dll    jvm.dll        localedata.jar\r\n\r\nc:\\jdk1.6.0 -- JDK的根目录，包含一些软件版权，声明，和自述文件，\r\n         同时包含归档了的Java平台源代码包src.zip         \r\nc:\\jdk1.6.0\\bin -- JDK包含的一些开发工具执行文件\r\nc:\\jdk1.6.0\\jre\\bin\\client \r\n        包含 Java HotSpotTM Client Virtual Machine 要用的 DLL 文件 \r\nc:\\jdk1.6.0\\jre\\bin\\server \r\n        包含 Java HotSpotTM Server Virtual Machine 要用的 DLL 文件  \r\nc:\\jdk1.6.0\\lib  -- Java开发工具要用的一些库文件，有包含了支持JDK工具的非核心类库tool.jar，\r\n        dt.jar 归档的 BeanInfo 文件 \r\n        用于告诉IDE这样显示java组件怎样让开发者在自己的应用程序中用户化它们\r\nc:\\jdk1.6.0\\jre  -- JDK使用的Java运行环境（JRE）的根目录，这个运行环境实现了Java平台         \r\nc:\\jdk1.6.0\\jre\\bin -- Java平台所要用的工具和库的可执行文件\r\n        这些可执行文件和 /jdk1.6.0/bin相同的。\r\n         //Java 启动器工具充当了应用程序启动器(覆盖了1.1版本的JDK推出的旧版本JRE工具)\r\n                        这个路径不需要设置 PATH 环境变量\r\nc:\\jdk1.6.0\\jre\\bin\\client  -- 包含Java Hotspot(Java性能引擎) 客户虚拟机要用的DLL文件\r\nc:\\jdk1.6.0\\jre\\bin\\server -- 包含Java Hotspot(Java性能引擎) 服务器虚拟机要用的DLL文件\r\nc:\\jdk1.6.0\\jre\\lib -- JRE要用的代码库，属性设置，资源文件。\r\n        例如rt.jar Java 引导类库(java 核心APIRunTime类)\r\n        charsets.jar 字符转换类库\r\nc:\\jdk1.6.0\\jre\\lib\\ext -- 默认的Java平台扩展安装环境\r\n        包含localedata.jar 是 ava.text 和 java.util包要用到的地区数据 \r\nc:\\jdk1.6.0\\jre\\lib\\security -- 包含安全管理文件，有安全规则(java.policy) \r\n        和安全属性文件(java.security)\r\nc:\\jdk1.6.0\\jre\\lib\\applet -- Java applets 要的Jar包，可以放到lib/applet/目录，\r\n        这样可以节省 applet 类装载器从本地文件系统装载 大的applets 所需的applet类时间\r\n         减少从网上下载具有相同的保护的时间。\r\nc:\\jdk1.6.0\\jre\\lib\\fonts 包含平台所需的TrueType字体文件\r\n\r\n//不知道大家的版本有没有这个目录\r\n-db目录    纯Java开发的数据可 Derby，是一个开源的100%Java开发的关系数据库\r\n                    db\r\n            _________|__________\r\n           |         |          |\r\n          Demo    Frameworks   lib \r\n  -Dmeo 是Java Derby的例子程序\r\n  -Frameworks 提供数据库运行时需要的用到的shell脚本，包括Windows下的bat和Unix下的Ksh\r\n        包含 Java DB 的类库和 Sun Microsystems 的 Apache Derby 数据库技术的分发\r\n        有关 Java DB 的信息，请参见 http://developers.sun.com/prodtech/javadb/。 \r\n        有关 Derby 的文档，请参见：http://db.apache.org/derby/manuals/index.html \r\n\r\n//----------------------------附加的文件和目录--------------------------------------------\r\n                        jdk1.6.0\r\n                 ___________|__________ ___________\r\n                |           |          |           |\r\n              demo      include     src.zip     sample \r\n             ___|___ _________ __________\r\n            |       |         |          |\r\n          applets  jfc       jpda      plugin\r\n       \r\nc:\\jdk1.6.0\\src.zip -- 归档的Java源代码\r\nc:\\jdk1.6.0\\demo -- Java编程的例子\r\nc:\\jdk1.6.0\\demo\\applets -- 网页Applets的例子\r\nc:\\jdk1.6.0\\demo\\jfc -- Java 2D(TM)和JFC(基础图形类集合)\\Swing 功能的例子\r\nc:\\jdk1.6.0\\demo\\jpda -- 用Java平台Debugging的体系构架，包还有javadt 的 jdb 源代码,\r\n        具体内容可看jpda目录下的doc\\index.html\r\nc:\\jdk1.6.0\\demo\\jvmti -- java虚拟机tool interface (工具接口) 实例代码\r\nc:\\jdk1.6.0\\demo\\plugin -- java 插件产品案例\r\nc:\\jdk1.6.0\\demo\\nbproject -- JDK的 netbean工程示例\r\nc:\\jdk1.6.0\\demo\\management -- 一些这样查看死锁线程(FullThreadDump )，\r\n        收集垃圾(VerboseGC)内存cpu使用状况了代码例子。详细可查看目录下的index.html\r\nc:\\jdk1.6.0\\sample -- 某些 Java API 的编程样例（带源代码）。\r\n//有兴趣的可看看上面这些代码，很有用\r\nc:\\jdk1.6.0\\include -- C 语言头文件 支持 用Java本地接口和Java虚拟机接口 来本机代码编程 \r\n\r\n//-----------------------------------基本工具--------------------------------------------\r\n这些工具是JDK的基础，用这些工具来编写应用程序。\r\njavac.exe -- Java语言编译器 \r\njava.exe -- Java应用程序启动器，JDK 1.6版里同时用于开发和部署，\r\n            旧的部署启动器，jre，不在提供\r\njavadoc.exe -- Java API 文档生成器\r\napt.exe -- java 注释处理器\r\nappletviewer.exe -- java applet 小程序查看器  \r\njar.exe -- java文件压缩打包工具\r\njdb.exe -- Java 调试器.\r\njavah.exe -- C 头文件和stub生成器，用于写本地化方法，例如生产JNI样式的头文件\r\njavap.exe -- class文件 反编译工具 \r\nextcheck.exe -- 用于检测jar包中的问题  \r\n\r\n//---------------------------------安全工具 -------------------------------------------\r\n\r\n这些工具用于设置系统的安全规则和生产可以工作在远端的安全规则下的应用程序\r\nkeytool.exe -- 管理密钥库和证书.\r\njarsigner.exe -- 生产和校验JAR签名\r\npolicytool.exe -- 有用户界面的规则管理工具  \r\nkinit.exe.exe -- 用于获得和缓存网络认证协议Kerberos 票证的授予票证\r\nklist.exe.exe --  凭据高速缓存和密钥表中的 Kerberos 显示条目 \r\nktab.exe.exe-- 密钥和证书管理工具 \r\n\r\n//--------------------------------Java国际化工具---------------------------------------\r\n\r\n这些工具可以帮助你创建可本地化的应用程序\r\nnative2ascii -- 见文本转化为 Unicode Latin-1。//这个工具很有意思 ,大家可以看看这里\r\n//http://java.sun.com/javase/6/docs/technotes/tools/windows/native2ascii.html  \r\n\r\n//--------------------------------远程方法调用工具-------------------------------------\r\n\r\n这些工具可以帮助创建可以和web和网络交互的应用程序\r\nrmic.exe -- 生成远程对象的stubs and skeletons(存根和框架)\r\nrmid.exe -- Java 远程方法调用(RMI:Remote Method Invocation) 活化系统守护进程\r\nrmiregistry.exe -- Java 远程对象注册表\r\nserialver.exe -- 返回类的 serialVersionUID.  \r\n\r\n//------------------------------Java IDL and RMI-IIOP 工具-----------------------------\r\n\r\n这些工具用于创建使用OMG-Standard IDL 和 CORBA/IIOP 的应用程序\r\ntnameserv.exe -- Provides access to the naming service. \r\nidlj.exe -- 生产映射到OMG IDL接口可以使Java应用程序使用CORBA的.java文件\r\norbd.exe -- 为客户可以在CORBA环境下透明的定位和调用服务器的稳定的对象提供支持\r\nservertool.exe -- 为应用程序提供易于使用的接口用于注册，注销，启动，关闭服务器\r\n\r\n//-------------------------------Java 部署工具------------------------------------------\r\npack200.exe -- 使用java gzip压缩工具将JAR文件转换为压缩的pack200文件，\r\n        生产打包文件是高度压缩的JAR包，可以直接部署，减少下载时间\r\nunpack200.exe -- 解包pack200文件为JARs \r\n\r\n//-------------------------------Java 插件工具------------------------------------------\r\nhtmlconverter.exe -- Java Plug-in HTML转换器 htmlconverter -gui 可以启动图形界面\r\n\r\n//-------------------------------Java web 启动工具--------------------------------------\r\njavaws.exe -- Java web 启动命令行工具\r\n\r\n//-----------------------Java 故障检修，程序概要分析，监视和管理工具--------------------\r\njvisualvm.exe -- 一个图形化的Java虚拟机，不说了 大家研究一下就发现太酷了\r\n        // 啊这是想了解JVM的人的神器\r\n        //http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html\r\njconsole.exe -- java监视台和管理控制台，图形界面的功能太强大了，\r\n        运行一下就知道 ，不想多说，看了就知道\r\n \r\n//------------------------------Java web 服务工具----------------------------------\r\nschemagen.exe  -- Java构架的XML Schema生成器\r\nwsgen.exe  -- 生成 JAX-WS\r\nwsimport.exe -- 生成 JAX-WS\r\nxjc.exe -- 绑定编译器 \r\n\r\n//------------------------------监视工具-------------------------------------------\r\n\r\n监视Java虚拟机的性能，不支持Windows 98 和Windows ME 平台\r\njps.exe -- JVM Process Status 进程状态工具。列出目标系统的HotSpot JJVM\r\njstat.exe -- 按照命令行的具体要求记录和收集一个JVM的性能数据\r\njstatd.exe -- JVM jstat 的守护进程\r\n\r\n//-----------------------------故障检测和修理工具-----------------------------------\r\njinfo.exe -- 配置或打印某个Java进程VM flag\r\njhat.exe -- 堆储存查看器\r\njmap.exe  -- Java内存图\r\njsadebugd.exe -- Java 的 Serviceability Agent Debug的守护进程\r\njstack.exe -- Java堆栈跟踪\r\n\r\n//----------------------------Java脚本工具-----------------------------------------\r\njrunscript.exe -- 运行脚本\r\n\r\n//工具都在JAVA_HOME\\bin目录下，绝大部分工具都有-help命令行参数来提供帮助"}}
{"actor":{"display_login":"WhyNotRunning"}}