1、Math

Math相关的库包括包括浮点库(java.lang.Mathjava.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)— 基本库的更多相关文章

  1. C#与C++、Java之比较概览

    转自C#与C++.Java之比较概览 C#与C++.Java之比较概览 Ben Albahari 著  荣耀 译 本文翻译时间较早.欢迎指出任何误失.谢谢. 感谢以下人士的支持和反馈(按字母先后顺序) ...

  2. Java下好用的开源库推荐

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文想介绍下自己在Java下做开发使用到的一些开源的优秀编程库,会不定 ...

  3. java调用c++生成的动态和静态库时遇到的问题

    java.lang.UnsatisfiedLinkError: no jacob in java.library.path -Djava.library.path 关于java用jni调用 dll动态 ...

  4. Java SE技术概览 - Jave SE Platform at a Glance

    从学习到工作,使用Java有几年时间,一直没有好好端详一下她的“内涵”.无意中看到一个关于Java SE的概览图,发现Java中提供的API还挺系统全面,把她放到博客中,相信对于想系统了解Java技术 ...

  5. 在 Java EE 组件中使用 Camel Routes

    摘要:你可以通过集成 Camel 和 WildFly 应用服务器(使用 WildFly-Camel 子系统)在 Java EE 组件中开始使用 Apache Camel Routes. [编者按]作者 ...

  6. Java Web之JSTL标准标签库总结

    [文档整理系列] Java Web之JSTL标准标签库总结

  7. Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新

    Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新 摘自: https://blog.csdn.net/johnson_moon/article/details/7887449 ...

  8. java调用dll或so动态库文件(c++/c)

    java调用dll或so动态库文件(c++/c) 博客分类:  工作 CC#C++JavaEclipse  java调用dll或so动态库文件(c++/c)开发平台:Eclipse3.3.1.1+CD ...

  9. 使用java以及jdbc不使用第三方库执行sql文件脚本

    使用java以及jdbc不使用第三方库执行sql文件脚本 2017年02月15日 15:51:45 阅读数:660 使用java执行sql脚本的方法 解析sql脚本,删除不必要的注释和空行 将语句按分 ...

  10. JAVA整合Redis使用redisTemplate清除库中的所有键值对数据

    JAVA整合Redis使用redisTemplate清除库中的所有键值对数据,清除所有缓存数据 Set<String> keys = redisTemplate.keys("*& ...

随机推荐

  1. Python TypeError: not all arguments converted during string formatting ——元组tuple(a)和(a,)的区别

    今天写程序,想输出一个array的shape,原程序为: print('shape of testUImatrix:%s\nStart to make testUImatrix...'%(testui ...

  2. oracle篇 之 单行函数

    一.分类 1.单行函数:需要处理的行数和返回结果的行数相等(单行进单行出) 2.多行函数(组函数):返回结果的行数少于要处理的行数(多行进单行出) 二.字符处理相关函数 1.lower:字符串转换成小 ...

  3. 搭建alpine仓库 提供apk包

    搭建alpine私有仓库从官方拉取alpine所有的包 wget -r -np -nH http://nl.alpinelinux.org/alpine/v3.5/main/x86_64/ wget ...

  4. pjb fabu

    #!/bin/bash PyPath=/opt/shell/mysql LocaName=`pwd` bagname=`basename $LocaName` sleep 1s ConfList=`p ...

  5. 如何规避“Flash中国特供版”

    如何规避“Flash中国特供版” 来源  http://blog.sina.com.cn/s/blog_4e1bc3e90102xn0k.html 浏览国内网站,尤其是一些很重要或者很常用,但是很落后 ...

  6. java返回json设置自定义的格式

    使用注解@JsonSerialize(using = CustomPriceSerialize.class) 创建自定义的格式化类(可为内部类) /** * 设置默认返回的小数类型(0.01 元) * ...

  7. 文件上传XSS引发的安全问题

    文件上传xss,一般都是上传html文件导致存储或者反射xss 一般后缀是html,之前疏忽了,没怎么考虑文件上传xss 如果没有 验证文件内容,却验证了后缀的情况下,使用: htm后缀: 测试代码: ...

  8. 记录一次有意思的XSS过滤绕过2

    前几天在漏洞挖掘中遇到个xss,感觉绕过过程蛮有意思的,写篇文章记录下. 接下里是我对这个xss详细的分析和绕过 存在问题站点http://******/index/appInfo?appId=784 ...

  9. 洛谷P1032 字串变换-题解

    https://www.luogu.org/problemnew/show/P1032--(题目传送) 好在数据范围很小,暴力一点也能过.思路较简单,按照所有规则,从第一位开始广搜. 注意:1.str ...

  10. POJ-3494 Largest Submatrix of All 1’s (单调栈)

    Largest Submatrix of All 1’s Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 8551   Ac ...