jdk-8u201+8u202.zip,包括Linux、Windows、macosx版本,最后一个免费的Oracle-jdk版本。 百度网盘下载,附件提供百度网盘链接及提取码。
2022-01-15 19:45:53 246B jdk8 8u201 8u202
1
# jdk7新特性 ## try-with-resources 是一种声明了`一种或多种资源的try语句`。资源是指在程序用完了之后必须要关闭的对象。try-with-resources语句保证了每个声明了的`资源在语句结束的时候都会被关闭`。任何实现了java.lang.`AutoCloseable`接口的对象,和实现了java .io .`Closeable`接口的对象,`都可以当做资源使用`。 ``` try ( InputStream is = new FileInputStream("xx"); OutputStream os = new FileOutputStream("xx") ) { //xxx //不用关闭了,JVM帮你关闭流 ``` ## 多异常统一处理 在Java 7中,catch代码块得到了升级,用以在`单个catch块中处理多个异常`。如果你要捕获多个异常并且它们包含相似的代码,使用这一特性将会减少代码重复度。 ``` try { //xxx } catch (AException | BException e) { e.printStackTrace(); } ``` 缺点是异常处理细粒度降低 ## 泛型推导 ``` List list = new ArrayList(); ``` `泛型实例`的创建可以通过`类型推断`来简化,`可以去掉`后面new部分的泛型类型,`只用`就可以了。 ## 使用ForkJoin Java 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行。 我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循环在一个线程内完成: ```ascii ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ``` 还有一种方法,可以把数组拆成两部分,分别计算,最后加起来就是最终结果,这样可以用两个线程并行执行: ```ascii ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ``` 如果拆成两部分还是很大,我们还可以继续拆,用4个线程并行执行: ```ascii ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ``` 这就是Fork/Join任务的原理:判断一个任务是否足够小,如果是,直接计算,否则,就分拆成几个小任务分别计算。这个过程可以反复“裂变”成一系列小任务。 我们来看如何使用Fork/Join对大数据进行并行求和: ``` public class Main { public static void main(String[] args) throws Exception { // 创建2000个随机数组成的数组: long[] array = new long[2000]; long expectedSum = 0; for (int i = 0; i < array.length; i++) { array[i] = random(); expectedSum += array[i]; } System.out.println("Expected sum: " + expectedSum); // fork/join: ForkJoinTask task = new SumTask(array, 0, array.length); long startTime = System.currentTimeMillis(); Long result = ForkJoinPool.commonPool().invoke(task); long endTime = System.currentTimeMillis(); System.out.println("Fork
2022-01-13 20:03:17 1.51MB jdk8 lambda 函数式编程 stream
1
jdk8 jdk-8u251-linux-x64 网盘下载
2022-01-13 17:12:44 75B jdk8
1
jdk-8u311最新的windows系统安装包64位安装包,希望能给大家提供帮助,方便各位学习生活,免费的
2022-01-12 19:04:33 168.5MB jdk jdk8 jdk8u311
1
Linux版本的jdk和Rocketmq的安装包
2022-01-10 14:01:39 193.78MB Linux-jdk8 RocketMQ安装包
1
windows nexus3.7.1,jdk8,nexus3.7内置jre1.8,内置的jre在nexus第一次启动时初始化,解压zip, D:\Program Files\nexus-3.7.1-02-win64 nexus-3.7.1-02 sonatype-work (下载的文件会放到这个目录下) 运行 cmd cd D:\Program Files\nexus-3.7.1-02-win64\nexus-3.7.1-02\bin nexus.exe /run 另外 运行nexus.exe /install Nexus Service命令,可以吧nexus安装为服务
2022-01-10 11:22:55 145.48MB nexus-3.7.1 jdk8
1
公司常用到lamda表达式,有了这个资料,走遍天下都不怕
2022-01-10 09:09:48 714KB java
1
JDK8的安装及配置
2022-01-10 09:07:36 1.01MB jdk1.8 java
1
jdk-8u311-linux-aarch64.rpm jdk-8u311-linux-aarch64.tar.gz jdk-8u311-linux-arm32-vfp-hflt.tar.gz jdk-8u311-linux-i586.rpm jdk-8u311-linux-i586.tar.gz jdk-8u311-linux-x64.rpm jdk-8u311-linux-x64.tar.gz
2022-01-10 09:01:57 701.86MB javajdk
1
java8
2022-01-10 09:00:34 205.65MB java
1