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. 命令模式之2 Invoker Vs. Client

    当程序中直接编写下达命令的语句如new Cmd1().execute()时.一般会将调用者与客户类合二为一. 在GUI程序中.下达命令的语句通常包括在底层框架中.或者说底层框架包括了调用者.这时程序猿 ...

  2. windows下PTAM的编译

    前些日子在研究PTAM,以下首先说说PTAM的编译过程,我在XP几WIN7搭配vs2010中均已測试过,都能够执行. 首先下载编译PTAM所必须的库文件.下载地址我会给出 PTAM(PTAM.zip) ...

  3. 杂项-Java:Spring

    ylbtech-杂项-Java:Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于200 ...

  4. 4.QList

    #include "mainwindow.h" #include <QApplication> #include <QLabel> #include < ...

  5. 关于swift构造方法

    switf 中如果遇到这样的错,,,大概错误就是,"必须要调用父类的构造方法",,可是呢,,调用了super.init()  不就是调用了构造方法了吗? 结果上去一查,,结果一名外 ...

  6. SpringBoot(十) 异步任务,定时任务和邮件任务

    异步任务 “异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行:异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的 ...

  7. https://blog.csdn.net/sxf359/article/details/71082404

    https://blog.csdn.net/sxf359/article/details/71082404

  8. Java开发就业形势和面试技巧

    如果从软件编程的就业来讲,如果你现在不懂架构,那么找到一份好工作还是比较难的,但是这里面有两点需要注意: 传统软件公司,这类公司还会使用最为原始的开发技术(SSH),但是这样的传统软件公司的招聘量已经 ...

  9. CF960F Pathwalks_权值线段树_LIS

    很不错的一道思维题. Code: #include<cstdio> #include<algorithm> #include<iostream> using nam ...

  10. Pyhton学习——Day22

    #有缩进的代码表示局部作用域的代码#if_name_ =='_main_' # while True#先引入一个os模块import os,sys,time,json# print(os.path.d ...