【java】Java组件概览(2)— 基本库
1、Math
Math相关的库包括包括浮点库(java.lang.Math和java.lang.StrictMath)和任意精度数学(java.math包)。
(1)java.lang.Math
该类包含执行基本数值运算的方法,如基本指数、对数、平方根、三角函数、弧度/角度、四舍五入以及最大、最小和绝对值。
另外,还有两个常量无理数E(e)和PI(π)。
(2)java.lang.StrictMath
提供的方法与Math一样。Math的方法很多都是直接调用StrictMath的实现,而StrictMath再调用本地(native)方法(StrictMath也有一部分方法调用的是Math的方法)。
(3)java.math
提供任意精度的Integer(BigInteger)和Decimal(BigDecimal)数的计算(如货币计算的场景),不会溢出或丢失精度。
2、Collections
集合相关的类,非常重要,不多赘述。
3、Ref Objects
提供引用对象类,它支持与垃圾收集器的有限程度的交互。程序可以使用引用对象来维护对某个其他对象的引用,使得后者对象仍然可以由收集器回收。
包括强引用、软引用、弱引用和虚引用。
3、Regular Expressions
正则表达式,包含类Pattern和Matcher。关键是正则表达式语法的熟悉,入门容易精通难。
4、logging
日志记录。
5、Management
为Java平台提供监视和管理功能。分为以下几块:
(1)java.lang.management
支持监视和管理Java虚拟机和底层操作系统。API使应用程序能够自我监控并使JMX兼容工具能够在本地和远程监控和管理虚拟机。
例如在应用内部可以通过其工厂类ManagementFactory获取或者推送各种运行时信息,如CPU、内存等实时状态。
(2)com.sun.management
是Oracle在java.lang.management基础上对平台监视和管理功能的扩展。
(3)java.util.logging.LoggingMXBean
通过它可以可以检索和设置日志记录信息。
(4)The Java Management Extensions (JMX)的API
提供了一种利用工具本地或者远程监视和控制Java应用的方法。
提供远程监视功能时,Java应用必须自己将待监控的资源注册到MBeanServer中,并暴露一个远程接口给工具。
(5)Attach API
Oracle的平台扩展,允许将管理代理动态加载到虚拟机中。
6、Instrumentation
用于检测Java编程语言应用程序 - 例如,监视它们或收集性能信息。工具用于 java.lang.instrument修改定义类的类文件 - 通常通过在方法的字节代码中插入将执行检测的附加字节代码。
就是将你自己编写的Java类编译成jar包加载到将要启动(premain)的或者正在运行(agentmain)的JVM中(类似一个探针),这时候你的jar包就注入到这个java进程中了。你要什么数据或者功能,将其在该jar包中实现即可。
该功能比较强大,可以达到监控和诊断的目的。但为了对原JVM中的功能不产生干扰,jar包中的类最好使用自定义的类加载器。
现利用该技术的工具有GProfile和阿里的Arthas。
7、Concurrency Utilities
并发工具类。非常重要,这不做赘述。
8、Reflection
这是Java语言的重要特性,是各种框架的基础。
9、Versioning
版本控制功能支持包级版本控制,以便应用程序和applet可以在运行时识别特定Java Runtime Environment,VM和类包的版本。
API包含在java.lang.Class、java.lang.ClassLoader、java.lang.Package、java.lang.System中。
10、Preferences API
包含在java.util.prefs包中。
它允许应用程序存储和检索用户和系统首选项和配置数据。此数据持久存储在依赖于实现的后备存储中。有两个独立的优先节点树,一个用于用户首选项,另一个用于系统首选项。
11、JAR
JAR(Java Archive)是一种独立于平台的文件格式,它将许多文件聚合为一个文件。多个Java小程序及其必需组件(.class文件,图像和声音)可以捆绑在一个JAR文件中,然后在单个HTTP事务中下载到浏览器中,从而大大提高了下载速度。
JAR格式还支持压缩,这可以减小文件大小,进一步缩短下载时间。此外,applet作者可以对JAR文件中的各个条目进行数字签名,以验证其来源。它是完全可扩展的。
12、ZIP
提供用于读取和写入标准ZIP和GZIP文件格式。
【java】Java组件概览(2)— 基本库的更多相关文章
- C#与C++、Java之比较概览
转自C#与C++.Java之比较概览 C#与C++.Java之比较概览 Ben Albahari 著 荣耀 译 本文翻译时间较早.欢迎指出任何误失.谢谢. 感谢以下人士的支持和反馈(按字母先后顺序) ...
- Java下好用的开源库推荐
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文想介绍下自己在Java下做开发使用到的一些开源的优秀编程库,会不定 ...
- java调用c++生成的动态和静态库时遇到的问题
java.lang.UnsatisfiedLinkError: no jacob in java.library.path -Djava.library.path 关于java用jni调用 dll动态 ...
- Java SE技术概览 - Jave SE Platform at a Glance
从学习到工作,使用Java有几年时间,一直没有好好端详一下她的“内涵”.无意中看到一个关于Java SE的概览图,发现Java中提供的API还挺系统全面,把她放到博客中,相信对于想系统了解Java技术 ...
- 在 Java EE 组件中使用 Camel Routes
摘要:你可以通过集成 Camel 和 WildFly 应用服务器(使用 WildFly-Camel 子系统)在 Java EE 组件中开始使用 Apache Camel Routes. [编者按]作者 ...
- Java Web之JSTL标准标签库总结
[文档整理系列] Java Web之JSTL标准标签库总结
- Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新
Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新 摘自: https://blog.csdn.net/johnson_moon/article/details/7887449 ...
- java调用dll或so动态库文件(c++/c)
java调用dll或so动态库文件(c++/c) 博客分类: 工作 CC#C++JavaEclipse java调用dll或so动态库文件(c++/c)开发平台:Eclipse3.3.1.1+CD ...
- 使用java以及jdbc不使用第三方库执行sql文件脚本
使用java以及jdbc不使用第三方库执行sql文件脚本 2017年02月15日 15:51:45 阅读数:660 使用java执行sql脚本的方法 解析sql脚本,删除不必要的注释和空行 将语句按分 ...
- JAVA整合Redis使用redisTemplate清除库中的所有键值对数据
JAVA整合Redis使用redisTemplate清除库中的所有键值对数据,清除所有缓存数据 Set<String> keys = redisTemplate.keys("*& ...
随机推荐
- 第一章 Python基本语法元素分析(二)
1.3 实例1:温度转换 根据华氏和摄氏温度定义,利用转换公式如下: C=(F-32)/1.8 F=C*1.8+32 代码如下: 运行结果: 1.4 Python程序语法元素分析 注释:不被程 ...
- postgresql数据库中~和like和ilike的区别
~(暂且叫他波浪号吧) 和 LIKE 和 ILIKE 操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配时则不区分字符串的大小写,~ 波浪号则可以使用正则匹配. LIKE和 ILIKE 它 ...
- P1462 通往奥格瑞玛的道路
P1462 通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡 ...
- xadmin 数据添加报错: IndexError: list index out of range
报错现象 xadmin 集成到项目后进行添加数据的时候报错 具体如下 黄页 后端 具体报错定位 报错分析 点击这里 报错解决 源码 input_html = [ht for ht in super(A ...
- bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)
设第一套为A,第二套为B 先对于每个B[i]判断他能否替代A[j],即B[i]与其他的A线性无关 设$B[i]=\sum\limits_{k}{c[k]*A[k]}$,那么只要看c[j]是否等于零即可 ...
- js+jquery创建元素
例:创建如下标签: <a id="baidu" class="link" name="baidu">这是一个链接</a&g ...
- mysql删除多个重复数据,多个字段添加唯一性索引
需求:删除station_id.ab_data_time.item_code_id.data_cycle.ab_value 字段重复的记录 #查询重复的数据 select b.id,b.station ...
- Java 程序国际化
相关类: java.util.Locale java.util.ResourceBundle 操作步骤: 可以新建一个包, 如 res , 添加 .properties 文件 在其中添加键值对 ...
- 《JAVA并发编程实战》示例程序 第三章
3.1 可见性 程序清单3-1 在没有同步的情况下共享变量(不要这么做) /** * 主线程和读线程都将访问共享变量:ready 和 number * 结果可能 * 1. 主线程先运行完,读线程后运行 ...
- jmeter和loadrunner关于分布式部署测试计划的优缺点
1.都可以实现分布式负载,相对来说loadrunner更强大一些 2.都支持在windows和linux环境的负载生成器,控制台方面,jmeter跨平台,而loadrunner不是 3.loadrun ...