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. mysql 行转列 和 列转行

    我们有时会将一些数据已逗号的连接方式存在数据库,当取出时我们又想单独一个个取出来 利用help_topic 的自增性 LENGTH(wu.`password`) - length(replace(wu ...

  2. extern extern “C”用法详解

    1.extern 修饰一个变量,告诉编译器这个变量在其他地方定义,编译器不会给出变量未定义的警告. extern tells the compiler that the variable is def ...

  3. ubuntu pip 安装django报错解决

    系统版本 ubuntu  Kylin 16.04 LTS       安装pip3 安装 Django 总是提示time out,无法安装. 逛了好多论坛终于遭到了解决办法,分享保存: sudo pi ...

  4. [goa]golang微服务框架学习--安装使用

      当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码, ...

  5. pxe无人值守安装多网卡注意事项

    pxe无人值守安装linux配置这里就不说了,直接看这篇博客http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.h ...

  6. Asp.Net MVC4入门指南(4):添加一个模型

    在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术En ...

  7. checkbox全选

    jquery代码如下(在jquery1.10.2下验证通过): <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...

  8. JAVA第4次作业

    package fuzhi; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExc ...

  9. 安装memcache扩展

    今天早上去公司打开新项目,结果提示"Class 'Memcache' not found",于是上网搜了下这是怎么回事?现在在这里记录一下解决过程,以备查询,也希望能帮助到遇到相同 ...

  10. webService 跨域请求webconfig配置

    在webService文件夹下单独添加一个web.config <?xml version="1.0" encoding="UTF-8"?>< ...