`
javawangli
  • 浏览: 224868 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDK7.0语法新特性及下载

阅读更多
1,菱形语法(泛型实例化类型自动推断) 
List<String> list = new ArrayList<>(); // <>这个真的很像菱形

2,在目前版本中,不可具体化的泛型(任意类型)可变参数,在编译时,会在调用处产生警告,JDK7里将这个警告挪到了方法定义处。 
变化前:
static <T> List<T> asList(T... elements) { ... }   
static List<Callable<String>> stringFactories() {   
     Callable<String> a, b, c;   
     ...   
     // 警告处   
     return asList(a, b, c);   
   }  

static <T> List<T> asList(T... elements) { ... }
static List<Callable<String>> stringFactories() {
     Callable<String> a, b, c;
     ...
     // 警告处
     return asList(a, b, c);
   }  
   变化后:
   // 警告处   
static <T> List<T> asList(T... elements) { ... }   
static List<Callable<String>> stringFactories() {   
     Callable<String> a, b, c;   
     ...   
     return asList(a, b, c);   
   }  

// 警告处
static <T> List<T> asList(T... elements) { ... }
static List<Callable<String>> stringFactories() {
     Callable<String> a, b, c;
     ...
     return asList(a, b, c);
   }  

   3,switch现在可以支持字符串了
   String s = ...   
switch(s) {   
   case "quux":   
     processQuux(s); //没有break,继续往下   
  
   case "foo":   
   case "bar":   
     processFooOrBar(s);   
     break;   
   case "baz":   
     processBaz(s); //没有break,继续往下   
  
   default:   
     processDefault(s);   
     break;   
}  

String s = ...
switch(s) {
   case "quux":
     processQuux(s); //没有break,继续往下

   case "foo":
   case "bar":
     processFooOrBar(s);
     break;
   case "baz":
     processBaz(s); //没有break,继续往下

   default:
     processDefault(s);
     break;
}

4,支持二进制语法和单位级别的数字表示方式
// 8位byte   
byte aByte = (byte)0b00100001;   
// 16位short   
short aShort = (short)0b1010000101000101;   
// 32位int   
int anInt1 = 0b10100001010001011010000101000101;  

// 8位byte
byte aByte = (byte)0b00100001;
// 16位short
short aShort = (short)0b1010000101000101;
// 32位int
int anInt1 = 0b10100001010001011010000101000101;  
支持单位级别的数字,提高可读性
long underScores = 9_223_372_036_854_775_807L; // 每三位加一下划线,等同于 9,223,372,036,854,775,807  

long underScores = 9_223_372_036_854_775_807L; // 每三位加一下划线,等同于 9,223,372,036,854,775,807  

5,从语法层面上支持集合,不再是数组的专利。
final List<Integer> piDigits = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9];   
final Set<Integer> primes = { 2, 7, 31, 127, 8191, 131071, 524287 };   
final Map<Integer, String> platonicSolids = { 4 : "tetrahedron",   
6 : "cube", 8 : "octahedron", 12 : "dodecahedron", 20 : "icosahedron"  
};  

final List<Integer> piDigits = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9];
final Set<Integer> primes = { 2, 7, 31, 127, 8191, 131071, 524287 };
final Map<Integer, String> platonicSolids = { 4 : "tetrahedron",
6 : "cube", 8 : "octahedron", 12 : "dodecahedron", 20 : "icosahedron"
};  

6,JSR 292 动态类型语言支持
Dynamic x = (动态语言脚本);   
Object   y = x.foo("ABC").bar(42).baz();  

Dynamic x = (动态语言脚本);
Object   y = x.foo("ABC").bar(42).baz();  

7,动态资源管理
在目前版本的java中,当你操作流时,一定会加try..finally以保证出现异常时,流能被正确关闭。
BufferedReader br = new BufferedReader(new FileReader(path));   
try {   
     return br.readLine();   
} finally {   
     br.close();   
}  

BufferedReader br = new BufferedReader(new FileReader(path));
try {
     return br.readLine();
} finally {
     br.close();
}  
在JDK7里,你只需要将资源定义在try()里,Java7就会在readLine抛异常时,自动关闭资源。另外,资源类必须实现 Disposable<?> 接口。支持管理多个资源

try (BufferedReader br = new BufferedReader(new FileReader(path)) {   
     return br.readLine();   
}

  

 

 

   下载地址

    Windows x86  http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-i586.exe

    Windows x64  http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe 

   

3
3
分享到:
评论

相关推荐

    JDK7.0帮助文档

    JDK7.0是Java平台的一个重大更新,引入了许多新特性,改进了现有功能,并修复了大量bug。这个CHM(Compiled HTML Help)格式的文档方便用户离线查询,无需网络连接即可获取详尽的Java API信息。 首先,JDK7.0最显著...

    jdk7.0API.chm

    JDK 7.0是Java的一个重要版本,引入了许多新特性,优化了性能,并增强了开发者的工作效率。本文将围绕JDK 7.0 API进行详细介绍,帮助开发者更好地理解和运用这个版本的Java平台。 一、增强的语法特性 JDK 7.0引入了...

    JDK7.0新特性

    ### JDK 7.0 新特性详解 随着Java技术的不断发展和完善,每一版更新都带来了新的特性和优化。JDK 7.0作为Java发展史上的一个重要里程碑,不仅增强了语言本身的特性,还在运行时环境中加入了多项重要的改进。接下来...

    eclipse+Tomcat7.0+jdk7.0

    JDK7.0引入了许多新特性,如:try-with-resources语句以简化资源管理,多租户应用程序的支持,改进的类型推断,以及新的文件系统API(NIO.2)等,这些都极大地提升了开发者的工作效率和代码质量。 【安装与配置】在...

    JDK 7.0.zip

    JDK 7.0是Oracle公司发布的一个重要版本,带来了许多新特性和改进,旨在提高开发效率和代码的可读性。这个压缩包“JDK 7.0.zip”包含了这一版本的所有必要文件。 1. **新特性**: - **多租户架构**:JDK 7引入了多...

    jdk7.0 64位(官网下载的资源)

    JDK 7.0是Java平台的重大更新,它引入了许多新特性,增强了性能和开发者的生产力。以下是其中一些关键的改进和功能: 1. **多语言支持**:JDK 7通过Project coin引入了新的语法特性,如try-with-resources语句,...

    jdk-7.0-windows-x64

    JDK 7.0 版本引入了一些关键特性,如: 1. **动态类型语言支持**:引入了`invokedynamic`指令,使得在Java中支持脚本语言和其他动态语言变得更加容易。 2. **Try-with-resources**:这是一个语法糖,确保在try块中的...

    本资源是JDK7.0珍藏版

    JDK7.0作为Java发展历程中的一个重要版本,引入了许多新特性,改进了语言语法,提升了性能,并对开发者的工作效率进行了优化。 1. **动态类型语言支持**:JDK 7.0引入了`Type Inference for Generic Instance ...

    JAVA JDK 7.0 帮助文档,带查询的

    Java JDK 7.0 的帮助文档是开发者不可或缺的工具,它详细阐述了Java 7的新特性、类库以及方法的使用。通过查询这个文档,开发者可以更好地理解和运用Java语言,提升编程技能,解决实际问题。无论是初学者还是经验...

    jdk-7&jre-7.0

    标题“jdk-7&jre-7.0”所指的是Java Development Kit (JDK) 7更新21和Java Runtime Environment (JRE) 7的软件包。这两个组件是Java编程语言的核心组成部分,用于开发和运行Java应用程序。 JDK是Java开发者的必备...

    JDK 7.0 API

    JDK 7.0是Java发展历程中的一个重要里程碑,引入了许多新特性和改进,旨在提高开发者的生产力和代码的可维护性。 ### 新特性与改进 1. **多重 Catch 语句**:在JDK 7之前,我们不得不为每个可能抛出的异常创建单独...

    java jdk7.0

    这个版本在2011年发布,引入了许多新特性、改进和优化,旨在提升开发者的效率和代码性能。以下是一些核心知识点: 1. **多语言支持**:Java 7通过Project Coin对语言语法进行了增强,其中最显著的是加入了多catch块...

    JDK7+TOMCAT7.zip

    JDK7在Java SE(标准版)平台中引入了一系列新特性,旨在提高开发人员的生产力,简化代码编写,并增强应用程序性能。其中,最重要的新特性包括: 1. **多线程并行GC(G1垃圾收集器)**:G1垃圾收集器是一个用于...

    gradle-7.0.zip

    1. **Java 11支持**:Gradle 7.0开始正式支持Java 11作为最低的JDK版本,这允许开发者利用Java的新特性和性能提升。 2. **更好的依赖管理和解析**:Gradle 7.0对依赖管理和解析进行了优化,能更好地处理依赖冲突和...

    proguard支持JDK 1.8

    JDK 1.8的新特性及ProGuard支持** JDK 1.8引入了许多新特性,包括Lambda表达式、方法引用来简化函数式编程,Stream API用于处理集合数据,以及默认方法和接口的私有方法等。ProGuard支持JDK 1.8意味着它可以正确...

    jdk1.7.0_76.zip

    首先,Java 7是Java平台的重大更新,引入了许多新特性以提升开发效率和代码质量。其中最显著的变化包括: 1. **多线路(Multithreading)增强**:JDK 7通过Fork/Join框架和并行流改进了多线程处理,使得开发者可以...

    jdk.src.zip

    JDK 7.0引入了一些关键改进,比如类型推断(Type Inference)的加入,使得泛型使用更加便捷(即`&lt;&gt;`语法),以及try-with-resources语句,这简化了资源管理,尤其是在处理I/O流时。 【描述】中提到,JDK 7.0在兼容...

    jdk1.7 java官网正式版Windows 64位-jdk-7u80-windows-x64.exe

    这些新特性极大地提高了开发者处理文件系统的灵活性和效率。 在安全性方面,JDK 1.7增强了安全管理器,提供了更多的控制选项,并对加密算法进行了更新,以符合不断变化的安全标准。 对于Windows 64位操作系统,JDK...

    JDK_API6.0/7.0&&JavaEE6 API 英文版

    JDK 7,即Java Development Kit 7,继续扩展了Java的功能,引入了一些重要的新特性: 1. **语法糖:**包括钻石操作符()和try-with-resources语句,提高了代码的可读性和简洁性。 2. **多版本兼容的JAR**:允许在...

    jdk1.8+tomcat7

    首先,JDK 1.8带来了Lambda表达式,这是Java语言的一次重大语法更新,使得代码更加简洁、易读。Lambda允许开发者以更直观的方式处理函数式接口,尤其在处理集合和多线程编程时,显著提高了代码的可读性和可维护性。...

Global site tag (gtag.js) - Google Analytics