1、标注

  一种元数据,作用分为三类:编写文档@Document、代码分析@Deparecated(过时的)和编译检查@override(重写)

2、EJB3

  EJB2的升级版,商业化的java bean,是轻量化的框架,引入了拦截器功能,

  拦截器:@Interceptors拦截器用来监听程序的一个或多个方法,它对方法调用提供了控制功能。

  

3、JPA

  Java Persistence API 数据持久化API

   首先要了解ORM对象关系映射(Object Relational Mapping)技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换,从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”,将数据库中的表和java中的类相对应,将数据库中的字段和java中的对象相对应。

  在JPA出现之前,各种ORM框架之间的API差异很大,使用了某种ORM框架的系统会受制于该ORM的标准。JPA就是为了统一ORM技术,JPA本质上是一种ORM规范,并未提供ORM实现,具体的实现由各个数据库厂商提供。

  其中Hibernate就是这样的一个JPA。

4、Web Service

  客户端和服务器可以自由的利用HTTP进行通信,跨平台跨语言。

5、依赖注入(控制反转)

  对象A调用对象B不需要对象A去创建,而是使用Spring框架创建,再注入到对象A中。

  可以降低代码的耦合度,使得资源访问变得更加容易。

  例如:类A中用到一个类B的实例,而用依赖注入的方式是在applicationContext.xml文件里面写入如下内容:

    <bean id="id1" class="A"><property name="B" ref="id2"></bean>

    <bean id="id2" class="B"></bean>

6、泛型

  使用泛型为了指明可变的类型进行指明,允许程序员讲一个实际的数据类型的确定延迟到创建泛型的实例的时候。

  使得整个集合的数据类型统一化,避免之后造型带来的隐患。

  

public class A {
public static void main(String[] args) {
//不使用泛型
ArrayList list=new ArrayList();
list.add(2);
list.add("asd");
int a=(int)list.get(1);
System.out.println(a);
//使用泛型
ArrayList<Integer> list1=new ArrayList();
list.add(2);
int b=(int)list.get(0);
System.out.println(b);
}
}

7、枚举

  枚举本质上就是一个命名变量的列表。对命名常量可以通过类似对象成员的方法或者通过方法values()、valueOf()、ordinal()、name()等方法进行存取。

  

public class A {
public static void main(String[] args) {
for(Week week:Week.values()){
System.out.println(week);
}
}
public enum Week{
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday;
}
}

8、增强的for循环即:foreach用法

9、可变参数

  在参数列表中有三个点代表不定数量的参数

public class A {
public static void main(String[] args) {
System.out.println(add(2,3));
System.out.println(add(2,3,4,5));
}
public static int add(int...args){
int sum=0;
for(int i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
}

10、静态导入

  import static java.lang.System.*;

  out.println(2);

java ee5的新特性的更多相关文章

  1. [转] Java 8的新特性

    简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性,并用实际的例子 ...

  2. Java 8的新特性—终极版

    作者:杜琪[译] 原文链接:http://www.jianshu.com/p/5b800057f2d8 1. 简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本 ...

  3. Java 9和Java 10的新特性

    http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...

  4. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

    Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...

  5. JDK 15 JAVA 15的新特性展望

    目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: T ...

  6. Java最近版本新特性使用介绍

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在阅读<Thinking in Java>的过程中,并发这一章出现不少新特性,工作中也有 ...

  7. Java API —— JDK5新特性

    JDK5新特性         自动拆装箱.泛型.增强for.静态导入.可变参数.枚举   1.增强for概述         1)简化数组和Collection集合的遍历         2)格式: ...

  8. Java SE 6 新特性: Java DB 和 JDBC 4.0

    http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...

  9. Java SE 6 新特性: 对脚本语言的支持

    2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...

随机推荐

  1. cocos2d-x 3.0 经常使用对象的创建方式

    cocos2d-x 3.0 中全部对象差点儿都能够用create函数来创建,其它的创建方式也是有create函数衍生. 以下来介绍下create函数创建一般对象的方法,省得开发中常常忘记啥的. 1.精 ...

  2. sql查询语句中的乱码 -- 前面加N

    直接运行sql出出现乱码,在中文字符前加N就能够正常显示了.N的含义就是用nvarchar格式显示.

  3. js+ canvas 实现人物走动

    在网上看了一篇管道工玛利亚走动的图片,感觉人物走动的太生涩了,就写了一下代码改动一下: js 代码: //定义数组图片集合 var marios = new Array("image/QQ截 ...

  4. [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)

    简单介绍: 单元測试是软件开发的一个重要方面.毕竟,单元測试能够帮你找到bug和崩溃原因,而程序崩溃是Apple在审查时拒绝app上架的首要原因. 单元測试不是万能的,但Apple把它作为开发工具包的 ...

  5. POJ 1236--Network of Schools【scc缩点构图 &amp;&amp; 求scc入度为0的个数 &amp;&amp; 求最少加几条边使图变成强联通】

    Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13325   Accepted: 53 ...

  6. ubuntu13.10升级到ubuntu14.04

    Upgrading from Ubuntu 13.10 To upgrade from Ubuntu 13.10 on a desktop system: Open Software Sources. ...

  7. struts2在action中获取request、session、application,并传递数据

    假设仅仅是通过request.session.application传递数据,则不须要获取对应的对象也能够传递数据,代码例如以下: ScopeAction.java: package com.ithe ...

  8. 【BZOJ 2038】小Z的袜子

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2038 [算法] 莫队算法 [代码] #include<bits/stdc++. ...

  9. Google浏览器vim命令

    使用鼠标久了,手腕.肩膀依旧疼痛.偶尔逛知乎,看到有人推荐chrome浏览器的vimium插件(火狐浏览器是vimperator),安装了使用了几天,真不愧是浏览器神器,好用到想哭,而且非常容易上手. ...

  10. SignalR——聊天室的实现

    秒懂——SignalR ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连 ...