本文由 ImportNew - 进林 翻译自 journaldev。
转载时对译文做了小的修改。
要了解Java垃圾收集机制,先理解JVM内存模型是非常重要的。今天我们将会了解JVM内存的各个部分、如何监控以及垃圾收集调优。
本文由 ImportNew - 进林 翻译自 journaldev。
转载时对译文做了小的修改。
要了解Java垃圾收集机制,先理解JVM内存模型是非常重要的。今天我们将会了解JVM内存的各个部分、如何监控以及垃圾收集调优。
在 Java7引入的诸多新特性中,Fork/Join 框架无疑是重要的一项。JSR 166旨在标准化一个简单可扩展的框架,将并行(parallel )计算的通用工具类组织成一个类似java.util中Collection一样的包。其目标是使之对开 发人员易用且易维护,同时该框架也旨在为并行计算提供一个高质量实现。目前已经有多个新的类和接口被添加到该框架中了。
该新特性主要是解决Java社区中对于如synchronized,wait和notify等操作的需求。Fork/Join框架设计目标就是可以容易地将算法并行化、分治化。开发人员曾多次想用自己(在非底层实现)的并发机制实现这一目标,因此新框架的想法是提供标准化和效率最高的并发工具协助开发人员实现各种多线程应用。其所需的类和接口都位于java.util.concurrent包中。
本文将描述Fork/Join框架及其如何用于解决Java并行问题(这些问题可参考本专题的第一部分)。
在现代的Java应用程序中很少不用到集合类和数组。 可以对集合进行增,删,改,插, 统计(聚合aggregate)。 这些操作的概念在SQL操作上也会用到。 但是对集合的操作却没有像SQL那样方便简捷。 为什么我们不能实现一种类似SQL语句一样方便的编程方式呢, 去取代一遍又一遍loop遍历的方式处理集合和数组中的数据?
另外,对于大数据量的集合, 能不能充分利用多核的优势, 并行的处理?
Stream是就是这种处理数据的风格, 一种流式风格。 这种风格在其它语言中也有实现, 比如Javascript (Node.js stream)。
这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。
元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。
1 | +--------------------+ +------+ +------+ +---+ +-------+ |
一个简单的例子:
1 | List<Integer> transactionsIds = |
这个是计算机的基础知识了。
+3的原码为00000011,-3的原码为10000011,
第一位是符号位。
+3的反码为00000011,-3的反码为11111100,
正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
+3的补码为00000011,-3的补码为11111101,
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
使用补码可以将减法变为加法,而且0的问题也会解决。
Java中使用补码的格式保存byte,short,int,long类型的数据。 ( two's complement integer.)
& 与。 按补码的每一位进行与操作。| 或。 按补码的每一位进行与操作。^ 异或。 按补码的每一位进行与操作。~ 取反。 按补码的每一位进行与操作。>> 带符号右移,高位补符号位。 正数右移一位相当于除以2。>>> 无符号右移。高位补0。 正数右移一位相当于除以2。<< 左移,低位补0。 正数左移一位相当于乘以2。除了~是一元操作符外其它都是二元操作符号。
Javacodegeeks 网站提供了一系列优秀的关于Java语言的论文。 本文整理罗列了关注度比较高的几篇文章。很多优秀的文章已经被翻译成了中文,读者可以对照着阅读。
中文翻译请参考: 115个Java面试题和答案(上), 115个Java面试题和答案(下)
importnew还翻译了DZone网站的另外一篇Java面试题相关的文章: Java面试参考指南(一)和 Java面试参考指南(二)
中文翻译请参考: Java 8新特性终极指南
40 Java Collections Interview Questions and Answers
Pankaj Kumar 发表于2013年2月。 罗列了非常多的Java集合面试题, 很多题目经常会在面试中问到。
69 Spring Interview Questions and Answers – The ULTIMATE List
Theodora Fragkouli发表于2014年5月。 非常好的Spring面试题。 自我感觉Spring面试题不好出, 涉及范围广, 深度不好控制, 官方文档介绍的相当全。 这篇文章给了我们好的参考。
中文翻译请参考: 关于Spring的69个面试问答——终极列表