• jdk1.5-jdk1.9的主要区别


    jdk1.5相对以前jdk版本主要新增功能

    1.自动拆箱和装箱 

    其中基本数据类型的包装类有:Double,Float,Long,Integer,Short,Character和Boolean

    2.提供了枚举

    3.静态导入

    通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。

    4.可变参数(Varargs)

    public void demo(int...  i ){}

    5.内省(Introspector)

    是 Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新 的值。通过getName/setName来访问name属性,这就是默认的规则。Java中提供了一套API用来访问某个属性的getter /setter方法,通过这些API可以使你不需要了解这个规则(但你最好还是要搞清楚),这些API存放于包java.beans中。

    一 般的做法是通过类Introspector来获取某个对象的BeanInfo信息,然后通过BeanInfo来获取属性的描述器 (PropertyDescriptor),通过这个属性描述器就可以获取某个属性对应的getter/setter方法,然后我们就可以通过反射机制来 调用这些方法。
    Eg:
         User user = new User();
            //操作单个属性
            PropertyDescriptor pd = new PropertyDescriptor("name", User.class);
            Method w = pd.getWriteMethod();//获取属性的setter方法
            w.invoke(user, "winclpt");
            Method r = pd.getReadMethod();//获取属性的getter方法
            r.invoke(user, null);
            
            //操作所有属性
            BeanInfo bi = Introspector.getBeanInfo(User.class);
            PropertyDescriptor[] pds = bi.getPropertyDescriptors();
            for(PropertyDescriptor p : pds){
                
            }

    6.泛型(Generic) 

    7.For-Each循环 

    8.自定义注解

    9.协变返回类型:实际返回类型可以是要求的返回类型的一个子类型 



    jdk1.6相对以前jdk版本主要新增功能
    使用JAXB2来实现对象与XML之间的映射 
     
    1.JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式,反之亦然。 
    我们把对象与关系数据库之间的映射称为ORM, 其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping).
    原来JAXB是Java EE的一部分,在JDK6中,SUN将其放到了Java SE中,这也是SUN的一贯做法。JDK6中自带的这个JAXB版本是2.0, 比起1.0(JSR 31)来,
    JAXB2(JSR 222)用JDK5的新特性Annotation来标识要作绑定的类和属性等,这就极大简化了开发的工作量。 
    实 际上,在Java EE 5.0中,EJB和Web Services也通过Annotation来简化开发工作。另外,JAXB2在底层是用StAX(JSR 173)来处理XML文档。除了JAXB之外,我们还可以通过XMLBeans和Castor等来实现同样的功能。
    详情请见 https://www.cnblogs.com/chenbenbuyi/p/8283657.html



    2.Desktop类和SystemTray类 (暂时没有特别作用)
    在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray。 
    前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序. 
     
    3.理解StAX 
     
    StAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API。 
    StAX 的来历 :在JAXP1.3(JSR 206)有两种处理XML文档的方法:DOM(Document Object Model)和SAX(Simple API for XML). 
    由 于JDK6.0中的JAXB2(JSR 222)和JAX-WS 2.0(JSR 224)都会用到StAX所以Sun决定把StAX加入到JAXP家族当中来,并将JAXP的版本升级到1.4(JAXP1.4是JAXP1.3的维护版 本). JDK6里面JAXP的版本就是1.4. 。 
    StAX是The Streaming API for XML的缩写,一种利用拉模式解析(pull-parsing)XML文档的API.StAX通过提供一种基于事件迭代器(Iterator)的API让 程序员去控制xml文档解析过程,程序遍历这个事件迭代器去处理每一个解析事件,解析事件可以看做是程序拉出来的,也就是程序促使解析器产生一个解析事件 然后处理该事件,之后又促使解析器产生下一个解析事件,如此循环直到碰到文档结束符; 
    SAX也是基于事件处理xml文档,但却 是用推模式解析,解析器解析完整个xml文档后,才产生解析事件,然后推给程序去处理这些事件;DOM 采用的方式是将整个xml文档映射到一颗内存树,这样就可以很容易地得到父节点和子结点以及兄弟节点的数据,但如果文档很大,将会严重影响性能。 
     
     
     
    4.使用Compiler API 
    现在我 们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。 
    这 个特性对于某些需要用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compiler API来实现动态编译JSP文件,当然,现在的JSP Web Server也是支持JSP热部署的,现在的JSP Web Server通过在运行期间通过Runtime.exec或ProcessBuilder来调用javac来编译代码,这种方式需要我们产生另一个进程去 做编译工作,不够优雅而且容易使代码依赖与特定的操作系统;Compiler API通过一套易用的标准的API提供了更加丰富的方式去做动态编译,而且是跨平台的。 
  • 相关阅读:
    生成证书命令keytool
    ACWEB使用HTTPS登录
    https登陆
    java调用webservice接口方法
    项目调研的误区和关键点
    成功的多项目管理
    如何向卖场贩卖多重价值
    零售业如何在淡季做出销量?
    如何进行项目调研
    项目经理的职业化优势
  • 原文地址:https://www.cnblogs.com/wchxj/p/9637676.html
Copyright © 2020-2023  润新知