1 switch case 增加字符串类型,原理根据字符串hashcode以及string.equal比较
2 数值字面量改进
新增二进制数值字面量 0b000004,在数值中间新增下划线方便阅读2000_000
3 异常处理
增加addSuppressed 能够在触发异常后,通过该方法将finally中的异常添加保存进去
改进了catch子句的语法,允许在其中指定多种异常
4 try-with-resource语句
管理一个资源
public class CustomeResource implements AutoCloseable {

@Override
public void close() throws Exception {
// TODO Auto-generated method stub
System.out.println("进行资源释放");
}

public void useCustomeResource() throws Exception{
try(CustomeResource resource=new CustomeResource()){
System.out.println("使用资源");
}
}
}
管理两个资源
try(InputStream input=new FileInputStream(fromPath);
OutputStream output=new FileOutputStream(toPath)
){
byte[] buffer=new byte[8192];
int len=-1;
while((len=input.read(buffer))!=-1){
output.write(buffer,0,len);
}
}
5 在虚拟机中增加对动态语言的支持
MethodType
针对原来的 invokespecial invokevirtual invokeinterface invokestatic增加了更加灵活的invokedynamic指令

6
6.1数据库访问
6.1.1 try-with-resource语句使用在数据库资源释放上
6.1.2 对RowSet的实现对象的创建做了更新,工厂方式创建,ResultSet中getObject方法时,可以直接把结果类型传递进去等
6.1.3 数据库连接超时与终止,在connection接口中新增setNetworkTimeout和abort两个方法

6.2
6.2.1基本类型包装类增加了compare方法,同时字符串内部化技术(包含相同字符串引用的相同的内部对象)被扩大到-128~127
6.2.2通过新增ProcessBuilder.Redirect类对进程的输入和输出重定向方式进行了统一,提供了两种重定向类型,一种是原来的管道式,一种是继承式,其他三种是与文件相关的
6.2.3禁止了Thread的clone方法

6.3
6.3.1java.util中新增工具类Objects,Objects.compare相对对象的compare方法会对null进行判断处理;Objects.equals;Objects.deepEqual;Objects.hash和Objects.hashCode结果不同;Objects.toString
6.3.2正则表达式支持命名捕获分组,原来对捕获分组的引用只支持出现顺序的数字,现在可以给每个分组添加名字;对正则表达式新增\x来直接表示,\x和\u使用方式类似,只是允许表示的范围更广
6.3.3java.util.zip 允许选择压缩时缓存的中间结果的输出方式,也支持显示的制定压缩文件的文件名和注释所用的字符集;XMLEncoder增加构造方法,可以更加精细的控制保存行为
6.3.4获取beaninfo时,定义获取过程中包含哪些类的信息或者获取类中的哪些信息,java7后可以同时配置使用两项配置功能

7 多线程
7.1 java.util.concurrent包新增fork/join框架,类似map/reduce,目的是更好的利用多核和多处理器并行处理;在fork/join框架中,
区别于别的框架的在某个子问题遇阻时会处于等待状态该框架会主动查找其他尚未运行的子问题来执行,另外在每个子问题中应该避免使用sychonized关键词或其他方式进行同步,
也不应该使用阻塞式I/O操作或过多的访问共享变量;唯一的同步只应该发生在子问题和创建它的父问题之间
7.2 新增多阶段线程同步工具,Phaser类的特点是把多个线程协作执行的任务划分成多个阶段,所提供的比以前的倒数闸门和循环屏障强
7.3 ThreadLocalRandom类中的随机数是使用ThreadLocal类来实现的,避免了竞争问题

java7笔记的更多相关文章

  1. [笔记][Java7并发编程实战手冊]3.8 并发任务间的数据交换Exchanger

    [笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 Exchanger 是一个同步辅助类.用于两个并发线程之间在一个同步点进行数据交换. 同意两个线程在某一个点进行数据交换. 本章exchan ...

  2. [笔记][Java7并发编程实战手冊]系列文件夹

    推荐学习多线程之前要看的书. [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图文章里面的思维导图或则相应的书籍.去看一遍. 能理解为什么并发编程就会出现故障. Java7并发编程实战手冊 ...

  3. [笔记][Java7并发编程实战手冊]3.4 等待多个并发事件的完毕CountDownLatch倒计数闭锁

    [笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 本文学习CountDownLatch 倒计数闭锁. 本人英文不好.靠机器翻译,然后有一段非常形象的描写叙述,让我把它叫为倒计数 用给定的计数 ...

  4. Java7编程高级进阶学习笔记

    本书PDF 下载地址: http://pan.baidu.com/s/1c141KGS 密码:v6i1 注:本文有空会跟新: 讲述的是jdk7的内容: 注关于java 更详细的内容请进入:<Ja ...

  5. 《深入理解Java7核心技术与最佳实践》读书笔记(1.1)---Project Coin介绍

    OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议.在Coin项目开始之初,曾经广泛地向社区征求提议.在短短的一个月时间内就收到将近70条提 ...

  6. 《Java7并发编程实战手册》读书笔记

    一.线程管理 1.线程的创建和运行 创建线程的2种方式: 继承Thread类,并覆盖run()方法 创建一个实现Runnable接口的类.使用带参数的Thread构造器来创建Thread对象 每个Ja ...

  7. Java7编程高手进阶读书笔记—集合框架

    定义:Java集合框架API是用来表示和操作集合的统一框架,它包含接口.实现类.以及帮助程序员完成一些编程的算法 作用: ●编程更加省力,提高城程序速度和代码质量 ● 非关联的API提高互操作性 ● ...

  8. Java7编程 高级进阶学习笔记--嵌套类

    定义: 在一个类中定义的类叫做嵌套类. 作用: 1.允许对相关类进行逻辑分组 2.增强了代码的封装性 3.使代码具有更强的可读性和维护性 使用方式: package com.cmz.baseTest; ...

  9. Java7编程高手进阶读书笔记--final学习

    这段时间终于有了一些自己的时间,在网上淘了一本书把java学习下,顺便记下每日的学习心得 工作快两年多了,才知道基础的东西永远看的时候都有一个新的体验,今天中午看了下final,把自己炒的代码贴在这以 ...

随机推荐

  1. Redis学习笔记-进阶

    Redis持久化方案 redis有rdb和aof两种持久化方案 1)rdb方式 当符合一定条件时会自动将内存中的所有数据执行快照操作并存储到硬盘上 默认存储在redis根目录的dump.rdb文件中, ...

  2. HDMI学习

    市面上大多4K显示器都配备了HDMI 1.4接口,仅能实现30Hz的刷新率,不足以带来流畅的显示效果, 酱紫情况,就算是搭配了HDMI 2.0高清线也是无法发挥其作用.只有更先进的HDMI 2.0标准 ...

  3. HTML5 ---localStorage储存实例

     <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title> ...

  4. ABP JTable如何手动刷新子表数据

    function getSubMaster() { _$masterTable.find('.jtable-child-table-container').jtable('reload'); }

  5. 在项目中添加ReactiveCocoa #安装与配置

    这是对官方教程的补充 To add RAC to your application: Add the ReactiveCocoa repository as a submodule of your a ...

  6. vue路由的简单实例

    vue2.0 和 vue1.0 路由的语法还是有点稍微的差别,下面介绍一下vue-router 2的简单实例: <!DOCTYPE html> <html lang="en ...

  7. [题解]UVa 11082 Matrix Decompressing

    开始眨眼一看怎么也不像是网络流的一道题,再怎么看也觉得像是搜索.不过虽然这道题数据范围很小,但也不至于搜索也是可以随随便便就可以过的.(不过这道题应该是special judge,因为一题可以多解而且 ...

  8. Java Calendar 注意事项

    Java JDK 提供了java.util.Calendar来处理日期和时间.Calendar是一个抽象类,是所有日历的模板,因此我们可以继承Calendar来实现其他的历法(比如阴历). Java提 ...

  9. java中的算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符

    一.算术运算符 算术运算符主要用于进行基本的算术运算,如加法.减法.乘法.除法等. Java 中常用的算术运算符: 其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴 例 ...

  10. 使用SVN同步资源后图标样式的详细解读

    项目视图   The Package Explorer view - 已忽略版本控制的文件.可以通过Window → Preferences → Team → Ignored Resources.来忽 ...