工具和工具api
-
java: java命令启动java应用程序。它通过启动Java运行时环境(JRE),加载指定的类,并调用该类的main()方法来实现。方法必须声明为public和static,不能返回任何值,并且必须接受字符串数组作为参数
-
javac: Java编程语言编译器
-
javadoc: Java文档技术
-
jar: Java存档(JAR)文件 JAR(Java归档
-
)是一种平台无关的文件格式,它将许多文件聚合为一个文件。多个Java小程序及其必需的组件(.class文件、图像和声音)可以捆绑在JAR文件中,然后在单个HTTP事务中下载到浏览器中,大大提高了下载速度。JAR格式还支持压缩,压缩可以减少文件大小,进一步提高下载时间。此外,applet作者还可以在JAR文件中对单个条目进行数字签名,以验证它们的来源。它完全可扩展。
-
javap: javap命令反汇编一个或多个类文件。输出取决于使用的选项。如果没有使用任何选项,javap命令将打印包、受保护字段和公共字段,以及传递给它的类的方法。javap命令将其输出打印到stdout。(将点class文件反编译为人能看懂的文件)
-
jdeps: jdeps命令显示Java类文件的包级或类级依赖关系。输入类可以是.class文件、目录、JAR文件的路径名,也可以是分析所有类文件的完全限定类名。选项决定输出。默认情况下,jdeps将依赖项输出到系统输出。它可以用点语言生成依赖项(请参见-dotpoutput选项)。
-
scripting: JAVA运行脚本语言(可以用脚本运行main方法)
-
Security: 安全工具 这些安全工具帮助您在系统上设置安全策略,并创建可以在远程站点设置的安全策略范围内工作的应用程序
-
Monitoring Tools: 监控工具 监视JVM性能统计信息
-
jconsole: jconsole兼容JMX的图形工具,用于监视Java虚拟机。它可以监视本地和远程JVM。它还可以监视和管理应用程序。
-
VisualVM: 可视化
JavaVisualVM是一个工具,它提供了一个可视化界面,用于查看Java应用程序在Java虚拟机(JVM)上运行时的详细信息,以及对这些应用程序进行故障排除和分析。Java开发工具包(JDK)提供了各种可选工具,包括Java VisualVM,用于检索有关运行JVM软件实例的不同类型的数据。例如,大多数以前独立的工具JConsole、jstat、jinfo、jstack和jmap都是javavisualvm的一部分。JavaVisualVM将这些工具联合起来,从JVM软件中获取数据,然后以图形方式重新组织和呈现信息,使您能够统一查看有关多个Java应用程序的不同数据,无论这些应用程序是在本地还是在远程机上运行。此外,开发人员可以通过创建插件并将其发布到工具的内置更新中心来扩展JavaVisualVM以添加新功能。
Java应用程序开发人员可以使用Java VisualVM对应用程序进行故障排除,并监视和改进应用程序的性能。JavaVisualVM允许开发人员生成和分析堆转储,跟踪内存泄漏,浏览平台的MBean并在这些MBean上执行操作,执行和监视垃圾收集,以及执行轻量级内存和CPU评测。
-
JMC: 是源自 JRockit JVM 的一套监控和管理工具
-
jfr: JFR是Java分析器,它使您可以研究代码的运行时特征。 通常,您将使用探查器来确定代码的哪些部分导致大量内存分配或导致消耗过多的CPU
-
jpda(Java Platform Debugger Architecture): Java 虚拟机为调试和监控虚拟机专门提供的一套接口
-
Java Virtual Machine Tool Interface (JVM TI): Java虚拟机工具接口 提供了一种编程接口,允许软件开发人员创建软件代理以监视和控制 Java 编程语言应用程序 JVM工具接口(jvmti)是一个本地编程接口,供工具使用。它提供了一种检查状态和控制在Java虚拟机(JVM)中运行的应用程序执行的方法。JVMTI支持需要访问JVM状态的各种工具,包括但不限于:分析、调试、监视、线程分析和覆盖率分析工具。
-
IDL:Java IDL是一种分布式对象的技术:使对象可以通过网路和不同的平台交互。Java IDL可以让对象在不同的语言中交互,如:C, C++,C#....
-
Remote Method Invocation (RMI) Tools: 远程方法调用(RMI)工具
-
java DB(data base): 这是一个数据库 一个纯 Java 实现、开源的数据库管理系统(DBMS)
-
Deployment: Java部署工具 与java应用程序和小程序在web上的部署结合使用的实用程序。
-
Internationalization: 国际化(不同的国家显示不同的语言)
-
Web Services: web 服务,因互联网而产生
-
Troubleshooting:工具本质上是不受支持的和实验性的,使用时应牢记这一点。它们在未来的JDK版本中可能不可用
deployment 部署
-
Java Web Start:javawebstart是一种应用程序部署技术,它使您只需单击Web浏览器就可以启动功能齐全的应用程序。您现在可以下载并启动应用程序,如完整的电子表格程序或Internet聊天客户端,而无需经历复杂的安装过程。
javawebstart包含Java平台的安全特性,因此您的数据和文件的完整性不会受到损害。此外,javawebstart技术使您能够在任何浏览器上使用最新的javase技术。
使用JavaWebStart,只需单击网页链接即可启动应用程序。如果您的计算机上没有该应用程序,javawebstart会自动下载所有必要的文件
-
Applet / Java Plug-in: Java小程序使用Java插件技术在浏览器中运行。
-
javafx: 类似 flash
-
swing: Swing实现了一组组件,用于构建图形用户界面(gui),并向Java应用程序添加丰富的图形功能和交互性。Swing组件完全用Java编程语言实现。可插拔的外观允许您创建gui,这些gui既可以跨平台显示相同的外观,也可以采用当前操作系统平台(如microsoftwindows、Solaris)的外观™ 或Linux)。
-
java 2D: 2D图形和图像 API是一组用于高级二维图形和图像的类。它包含线条艺术、文本和图像,并以一个单一的综合模型。API为图像合成和alpha通道图像提供了广泛支持,提供了一组精确的颜色空间定义和转换类,以及一组丰富的面向显示的图像操作器。这些类作为java.awt和java.awt.image包的附加项提供。
-
AWT:
抽象窗口工具包(AWT)支持图形用户界面(GUI)编程。AWT的特点包括:
一组本机用户界面组件
一种健壮的事件处理模型
图形和图像工具,包括形状、颜色和字体类
布局管理器,用于不依赖于特定窗口大小或屏幕分辨率的灵活窗口布局
数据传输类,用于通过本机平台剪贴板进行剪切和粘贴
-
Accessibility: 定义了用户界面组件与提供对这些组件进行访问的辅助技术之间的协定。如果 Java 应用程序完全支持 Java Accessibility API,则它应该与屏幕读取器、屏幕放大器这样的辅助技术保持兼容和友好。使用完全支持 Java Accessibility API 的 Java 应用程序,将不再需要离屏模型的屏幕读取器 ,因为该 API 提供了离屏模型中通常所包含的所有信息。
-
Drag and Drop: 拖放功能 支持跨Java编程语言和本机应用程序、Java编程语言应用程序之间以及单个Java编程语言应用程序内的数据传输。
-
Java输入法框架
(货币基金组织)技术
输入法框架支持文本编辑组件和输入法之间的协作来输入文本。输入法是一种软件组件,它允许用户以键盘上简单键入以外的方式输入文本。它们通常用于在键盘上输入日语、汉语或朝鲜语(使用数千个不同的字符),而按键要少得多。不过,该框架还支持其他语言的输入方法,并支持使用完全不同的输入机制,如手写或语音识别。
输入法框架提供两层公共接口:
输入法客户机API提供接口和类,使文本编辑组件能够与输入法通信,并实现集成良好的文本输入用户界面。
输入法引擎SPI提供的接口支持用Java编程语言开发可用于任何Java运行时环境的输入法。
-
Image I/O: Java映像I/O技术
通过JSR-015开发的javaimagei/oapi提供了一个可插拔的体系结构,用于处理存储在文件中并通过网络访问的图像。它提供了比以前加载和保存图像的api更大的灵活性和功能。
API为添加特定于格式的插件提供了一个框架。Java图像I/O中包含了几种常见格式的插件,但是第三方可以使用这个API创建自己的插件来处理特殊格式
-
PrintService: 打印功能 JavaPrintServiceAPI允许在所有Java平台上进行打印,包括那些需要较小占用空间的平台,如JavaME配置文件,但也支持Java.awt.Print.printerjobAPI。Java打印服务API包括一个可扩展的打印属性集,该属性集基于IETF的Internet打印协议(IPP)1.1中指定的标准属性。通过这些属性,客户机和服务器应用程序可以发现并选择具有这些属性指定的功能的打印机。除了包含StreamPrintService(允许应用程序将数据转换为不同格式)之外,第三方还可以通过服务提供商接口动态安装自己的打印服务。
-
sound: Java Sound Technology Java声音技术
-
JDBC: Java数据库连接(JDBC)API提供了Java编程语言的通用数据访问。使用jdbcapi,您几乎可以访问任何数据源,从关系数据库到电子表格和平面文件
-
JNDI(Java Naming and Directory Interface): Java命名和目录接口(JNDI)为用Java编程语言编写的应用程序提供命名和目录功能。它被设计成独立于任何特定的命名或目录服务实现
-
javaBeans: JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。,属性名称符合这种模式,其他Java 类可以通过(反射机制)发现和操作这些JavaBean 的属性和方法
-
security:Java安全技术包括大量api、工具和常用安全算法、机制和协议的实现。javasecurityapi跨越了许多领域,包括密码学、公钥基础设施、安全通信、身份验证和访问控制。Java安全技术为开发人员提供了编写应用程序的综合安全框架,也为用户或管理员提供了一套安全管理应用程序的工具。
-
Serialization: Java对象序列化
对象序列化支持将对象及其可访问的对象编码为字节流。序列化还支持从流中互补地重建对象图。序列化用于轻量级持久化和通过套接字或Java远程方法调用(javarmi)进行通信。对象的默认编码保护私有和临时数据,并支持类的演化。类可以实现自己的外部编码,然后单独负责外部格式。
序列化现在包括一个API,该API允许独立于类的字段指定对象的序列化数据,并允许使用现有协议将这些序列化数据字段写入流和从流中读取,以确保与默认的写入和读取机制兼容。
-
Extension Mechanism: 此功能已被弃用,将在将来的版本中删除。
-
JMX: 让程序有被管理的功能 用于管理和监视应用程序、设备、服务和Java虚拟机等资源
-
XML JAXP(JAXP是解析xml的): XML(可扩展标记语言)是一种灵活的方法,可以创建通用信息格式,并在万维网、内部网和其他地方共享格式和数据。XML可以被任何个人或团体或公司使用,这些个人或公司希望以一致的方式共享信息。XML是万维网联合会(W3C)的正式推荐,它类似于当今网页的语言——超文本标记语言(HTML)。XML和HTML都包含标记符号来描述页面或文件的内容。然而,HTML仅从如何显示和交互的角度描述网页的内容(主要是文本和图形图像)
-
Networking: 网络
-
JNI: (跨平台互交接口)是一个标准的编程接口,用于编写Java本机方法并将Java虚拟机嵌入本机应用程序。主要目标是本机方法库在给定平台上跨所有Java虚拟机实现的二进制兼容性。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)
-
DATE AND TIME : jdk8中引入的日期时间api是一组对日期和时间的最重要方面进行建模的包。time包中的核心类使用ISO-8601中定义的日历系统(基于公历系统)作为默认日历
-
通过数据流、序列化和文件系统进行输入和输出。
字符集、解码器和编码器,用于字节和Unicode字符之间的转换。
访问文件、文件属性和文件系统。
用于使用异步或多路复用、非阻塞I/O构建可伸缩服务器的API。
-
Internationalization: 国际化是设计一个应用程序的过程,这样它就可以适应不同的语言和地区,而无需进行工程更改。有时国际化这个术语缩写为i18n,因为在第一个“i”和最后一个“n”之间有18个字母
国际化项目具有以下特点:
通过添加本地化数据,相同的可执行文件可以在全球范围内运行。
文本元素,如状态消息和GUI组件标签,在程序中不是硬编码的。相反,它们存储在源代码之外并动态检索。
对新语言的支持不需要重新编译。
与文化相关的数据(如日期和货币)的格式符合最终用户的地区和语言。
它可以快速本地化。
承认:国际化API的大部分设计和实现都是由IBM的Java技术中心——硅谷完成的。Java软件对他们的工作表示感谢。
lang and util Base Libraries
-
Math: 数学功能包括浮点库(java.lang.Math和java.lang.StrictMath)和任意精度数学(java.Math包)。 数学类 包括基本的浮点库、复杂运算以及任意精度的数据运算
-
collections : 如List,Set 集合框架是一个统一的体系结构,用于表示和操作集合,使它们能够独立于其表示的细节进行操作。它减少了编程工作量,同时提高了性能。它支持无关API之间的互操作性,减少设计和学习新API的工作量,并促进软件重用。该框架基于十多个集合接口。它包括这些接口的实现和操作它们的算法。
-
ref object: 提供引用对象类,这些类支持与垃圾收集器的有限程度的交互。一个程序可以使用一个引用对象来维护对另一个对象的引用,这样后一个对象仍然可以被收集器回收。程序还可以安排在收集器确定给定对象的可达性已经改变之后的某个时间被通知。
-
Regular Expressions: 用于将字符序列与正则表达式指定的模式进行匹配的类。
-
logging: 包Java.util.Logging中引入的Java日志API通过生成适合最终用户、系统管理员、现场服务工程师和软件开发团队分析的日志报告,方便了客户站点的软件服务和维护。日志api捕获应用程序或平台中的安全故障、配置错误、性能瓶颈和/或bug等信息。
核心包支持将纯文本或XML格式的日志记录传递到内存、输出流、控制台、文件和套接字。此外,日志API能够与主机操作系统上已经存在的日志服务进行交互。
-
Management: 为Java平台提供了全面的监视和管理支持
-
Instrumentation:java提供给针对JVM对外接口的开发类
-
Concurrency Utilities:并发实用程序 并发实用程序包提供了一个强大的、可扩展的高性能线程实用程序框架,如线程池和阻塞队列。这个包将程序员从手工制作这些实用程序的需要中解放出来,这与collections框架为数据结构所做的方式大致相同。此外,这些包为高级并发编程提供了低级原语。
-
Reflection: 反射使Java代码能够发现有关已加载类的字段、方法和构造函数的信息,并在安全限制内使用反射的字段、方法和构造函数对其底层对应项进行操作。API容纳需要访问目标对象的公共成员(基于其运行时类)或给定类声明的成员的应用程序。它还允许程序抑制默认的反射访问控制。API 说明 java.lang.reflect
-
Versioning: 好像是jdk版本 版本控制特性支持包级别的版本控制,以便应用程序和applet可以在运行时识别特定Java运行时环境、VM和类包的版本。
-
Preferences : 应用程序需要偏好和配置数据来适应不同用户和环境的需求。java.util.prefs包为应用程序提供了一种存储和检索用户和系统首选项以及配置数据的方法。数据持久地存储在依赖于实现的备份存储中。有两个独立的首选项节点树,一个用于用户首选项,另一个用于系统首选项。
-
JAR:JAR(Java归档)是一种平台无关的文件格式,它将许多文件聚合为一个文件。多个Java小程序及其必需的组件(.class文件、图像和声音)可以捆绑在JAR文件中,然后在单个HTTP事务中下载到浏览器中,大大提高了下载速度。JAR格式还支持压缩,压缩可以减少文件大小,进一步提高下载时间。此外,applet作者还可以在JAR文件中对单个条目进行数字签名,以验证它们的来源。它完全可扩展。
-
zip:提供用于读取和写入标准ZIP和GZIP文件格式的类。
以上大部分99%来源jdk1.8的文档,进行的翻译而成。感觉还是有用的,虽然我也是才开始看文档的嘻嘻