耗时三个月整理的Java核心技术卷II:高级特性,大家有福了

之前给大家介绍过java核心知识点,今天能给大家介绍java核心技术卷II,高级特性第10版。希望大家能够喜欢!

本书包含的知识点:

使用新的流库来更灵活高效地处理集合;高效地访问文件和目录,读/写二进制或文本数据,以及序列化对象;使用Java SE 8的正则表达式包;在Java中操作XML :解析、校验、XPath、 文档生成、XSL等;高效地将Java程序连接到网络服务;用JDBC 4.2编程;用新的java. time API优雅地克服日期/时间编程的复杂性;用本地化的日期/时间、数字、文本和GUI来编写国际化的程序;用脚本API、编译器API和注解处理器来处理代码;通过类加载器、字节码校验、安全管理器、权限、用户认证、数字签名、代码签名和加密来增强安全;掌握列表、表、树、文本和进度指示器等高级Swing构件;用Java 2D API产生高质量的绘图;使用JNI本地方法来利用其他语言编写的代码;

目录给大家展示一下:

JavaSE8的流库

▲从迭代到流的操作 ▲收集结果▲流的创建▲收集到映射表中▲fi1ter. map和flatMap方法

▲群组和分区▲抽取子流和连接流▲下游收集器▲其他的流转换▲约简操作▲简单约简

▲基本类型流▲Optional 类型▲并行流

流提供了一种让我们可以在比集合更高的概念级别上指定计算的数据视图。通过使用流,我们可以说明想要完成什么任务,而不是说明如何去实现它。我们将操作的调度留给具体实现去解决。例如,假设我们想要计算某个属性的平均值,那么我们就可以指定数据源和该属性,然后,流库就可以对计算进行优化,例如,使用多线程来计算总和与个数,并将结果合并。

你将会学习如何使用Java的流库,它是在Java SE 8中引人的,用来以“做什么而非怎么做”的方式处理集合。

本地方法

▲从Java 程序中调用C函数▲调用Java 方法▲数值参数与返回值▲访问数组元素▲字符串参数

▲错误处理▲访问域▲使用调用API▲编码签名▲完整的示例:访问Windows注册表

原则上说,“100% 纯Java”的解决方案是非常好的,但有时你也会想要编写或使用其他语言的代码(这种代码通常称为本地代码)。

特别是在Java的早期阶段,许多人都认为使用C或C++来加速Java应用中关键部分是个好主意。但是,实际上,这基本上是徒劳的。1996 年JavaOne会议上有一个演讲很明确地说明了这一一点,来自Sun Microsystems的密码库的实现者报告说他们的加密函数的纯Java平台实现已臻化境。他们的代码确实没有已有的C实现快,但是事实证明这无关紧要。Java 平台实现比网络I/O要快得多,而后者是真正的瓶颈。

当然,求助于本地代码是有缺陷的。如果应用的某个部分是用其他语言编写的,那么就必须为需要支持的每个平台都提供-个单独的本地类库。用C或C++编写的代码没有对通过使用无效指针所造成的内存覆写提供任何保护。编写本地代码很容易破坏你的程序,并感染操作系统。

因此,我们建议只有在必需的时候才使用本地代码。特别是在以下三种情况下,也许可以使用本地代码:

●你的应用需要访问的系统特性和设备通过Java平台是无法实现的。

●你已经有了大量的测试过和调试过的用另一种语言编写的代码,并且知道如何将其导出到所有的目标平台上。

●通过基准测试,你发现所编写的Java代码比用其他语言编写的等价代码要慢得多。Java平台有一个用于和本地C代码进行互操作的API,称为Java本地接口(JNI)。

想要获取Java核心技术卷II :高级特性(原书第10版)可以转发此文关注小编,私信小编“学习”来获取吧~

你可能感兴趣的:(耗时三个月整理的Java核心技术卷II:高级特性,大家有福了)