JAVA不同版本的区别_java版本差异-程序员宅基地

技术标签: Java  

Java不同版本区别:

JSE: java标准版,包含Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程。

JEE: java企业版,包含JSE中的类,并且还包含用于开发企业级应用的类。 比如:EJB、servlet、JSP、XML、事务控制。

JME: java移动版,包含嵌入式开发或者移动应用开发所需要的类,包括一些JSE的核心代码和一些无线设备的API。

 

JDK不同版本的区别:

1.5版本:

   1、出现泛型

    原来:ArrayList list=new ArrayList(),新特性:ArrayList<Integer>list=new ArrayList<Integer>();

   2、自动装箱/拆箱

    原来:int i=list.get(0).parseInt(),新特性:int i=list.get(0);原始类型与对应的包装类不用显式转换

    3、出现for-each

        原来:while/for/do while ,新特性:for(int i:array)

    4、import static

        原来:import,Math.sqrt(),新特性:import static,sqrt()

    5、可变长参数

        原来:int sum(int int1,int int2,int int3),新特性:方法定义int sum(int ...intlist) ,使用循环遍历intlist,相当于数组

    6、增加注解支持

 

1.6版本:

    1、对脚本语言的支持:比如javasrcipt,ruby

    2、StAX,一种利用拉模式解析(pull-parsing)XML文档的API。类似于SAX,也基于事件驱动模型。之所以将StAX加入到JAXP家族,是因为JDK6中的JAXB2和JAX-WS 2.0中都会用StAX。

    3、使用Compiler API,动态编译Java源文件,如JSP编译引擎就是动态的,所以修改后无需重启服务器。(刚知道是从这里开始可以动态编译的)

    4、轻量级Http Server API,据此可以构建自己的嵌入式HttpServer,它支持Http和Https协议。

    5、对Java集合(Collections)的增强支持,可直接采用[]、{}的形式存入对象,采用[]的形式按照索引、键值来获取集合中的对象

    6、嵌入式数据库 Derby(这个也是刚知道,基本没用过)

 

1.7版本:

    1、switch中支持使用string

    2、支持二进制数字,如:int binary= 0b1001_1001;

    3、数值可加下划线用作分隔符(编译时自动被忽略)

    4、Map集合支持并发请求

    5、对于字符串常量池中存储的内容改变

 

1.8版本:

    1、接口的默认方法:即接口中可以声明一个非抽象的方法做为默认的实现,但只能声明一个,且在方法的返回类型前要加上“default”关键字。

    2、Lambda 表达式

    3、函数式接口:是指仅仅只包含一个抽象方法的接口,要加@FunctionalInterface注解

    4、还增加了很多与函数式接口类似的接口

 

1.9版本:

    1、WebSocket 和 HTTP/2 的支持    

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35211818/article/details/104183428

智能推荐

MMU从浅入深--分页模式_page walk-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏4次。提要 最近抽空重新研读IA-32手册, 顺便整理一下自己对Page mode(chapter 4)的一些理解,以便帮助自己或者其他有需要的朋友做一些总结。拿来主义 ——地址范围、虚拟地址映射为物理地址 以及 分页机制 任何时候,计算机上都存在一个程序能够产生的地址集合,我们称之为地址范围。这个范围的大小由CPU的位数决定,例如一个32位的CPU,它的地址范围是0~0xFFFFFFFF_page walk

[gitlab] release功能_gitlab release-程序员宅基地

文章浏览阅读2.2w次,点赞8次,收藏31次。因为项目需要用到发布版本管理,看到github上面别人玩的很6,觉得应该属于业界规范,国内局域网对于release的内容比较少,不过看官方文档也足够了,因此针对release功能进行了简单探索。文章目录需要你提前了解的东西access tokenproject idtagAPI介绍查看release信息查看所有release信息查看指定release信息创建release修改release删..._gitlab release

c语言函数fun的功能是判定,请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回"yes!”,否则返回“no!”。...-程序员宅基地

文章浏览阅读684次。请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回"yes!”,否则返回“no!”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conlo.h>char*fun(int n){int g,S,b;g=n%l..._fun函数的功能是:判断一个数n(n>3)

Java+Swing+mysql图书管理系统_java swing 图书管理系统免费-程序员宅基地

文章浏览阅读443次。该系统实现了用户:书籍查询,借书,还书功能。用户能够查询自己的借书记录。管理员:上架图书,下架图书,添加图书类别,添加图书信息,修改图书信息,添加借书证信息、查询借书证信息、删除除借书证,查询图书借阅归还记录。_java swing 图书管理系统免费

Vue的列表渲染指令_v-for 分隔符-程序员宅基地

文章浏览阅读449次。列表渲染指令 v-for当需要将一个数组便利或者枚举一个对象循环显示时,就会用到列表渲染指令 v-for。它的表达式需要结合in 来使用,类似于item in items的形式。&lt;!doctype html&gt;&lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta na_v-for 分隔符

凝思磐石linux系统怎么切双屏_linux(凝思)修改 ip-程序员宅基地

文章浏览阅读478次。网络接口的配置文件位于 /etc/sysconfig/network-devices目录下 ,配置文件名称为 ifcfg- etcX如 :网络接 口eth0的配置文件名称为 ifcfg-eth0 。net1-1:~ # vi /etc/sysconfig/network-devices/ifcfg-eth0系统网络接 口配置 :ONBOOT = # 启动时是否 自动加载 (YES|NO ..._凝思系统扩展屏幕设置

随便推点

电路布线问题_电路分布问题-程序员宅基地

文章浏览阅读3.6k次,点赞2次,收藏16次。电路布线问题 制作电路板时,将n条连线分布到若干绝缘层上。在同一层的连线不相交。电路布线问题就是要确定将哪些连线安排到第一层上,使该层上有尽可能多的连线。 输入一个整数n代表接线柱的数量,输入n个数代表与上接线柱连接的下接线柱编号样例输入108 7 4 2 5 1 9 3 10 6样例输出_电路分布问题

一个大一计算机学生的学期总结(2022年)_大一计算机学期总结-程序员宅基地

文章浏览阅读1.3w次,点赞55次,收藏94次。学期总结一. 为什么选择计算机这一专业1.个人的成长2.优秀的前景3薪资待遇二.这学期我收获了什么关于python语言三.起始打印三角形99乘法表四.课堂练习中期的总结五.本学期最后的专业学生管理系统一个是文件型一个是数据库型六.假期的安排一直奉行的话一. 为什么选择计算机这一专业1.个人的成长(1) 起始于小时候的好奇,小时候因为家里有一台老式的计算机,也就是大家现在所调侃的坨坨机、方块电脑。因为当时我们小姨要考公务员然后每天下午的时候就会看见她坐在计算机前忙碌,我们小姨很疼我,所以每次来的时候都会_大一计算机学期总结

SQL笔试题_sql 笔试-程序员宅基地

文章浏览阅读244次。增:insert INTO student (s_id, s_name, s_birth, s_sex)values(09, 1, 1, 1)删:deleteFROMstudentWHEREs_id = 09改:update studentSET s_name = “李海”WHEREs_id = 011、查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号。(join联结自身两张表,条件:学生id相等,课程分数比较,课程号为01和02)要点:联结SEL..._sql 笔试

小程序组件页面刷新问题_小程序 刷新子组件-程序员宅基地

文章浏览阅读1.9w次,点赞5次,收藏14次。1.A页面点击跳转到B页面,在B页面操作后A页面应该发生变化,但是实际上我们点击返回的时候我们发现并没有刷新,通过小程序的生命周期函数由onLoad(页面加载)、onReady(页面初次渲染完成)、onShow(页面显示)、onHide(页面隐藏)、onUnload(页面卸载)五个周期构成。问题:如果在onShow中执行this.onLoad(),会导致页面第一次加载的时候数组加载两次!..._小程序 刷新子组件

redis官网通读_reids 官网-程序员宅基地

文章浏览阅读486次。最好的方法是运行redis check aof实用程序,最初不使用–fix选项,然后了解问题,跳到文件中给定的偏移量,看看是否可以手动修复文件:aof使用与redis协议相同的格式,手动修复非常简单。这相当于Redis集群中的同步复制。正如你所看到的,B在回复客户端之前不会等待B1、B2、B3的确认,因为这对Redis来说是一个令人望而却步的延迟惩罚,所以如果你的客户端写了一些东西,B确认了写操作,但在能够将写操作发送到其副本之前崩溃,其中一个副本(没有收到写操作)可以升级为主副本,永远失去写操作。_reids 官网

Django迁移时报错int() argument must be a string, a bytes-like object or a number, not 'list'_in fetch_returned_insert_id return int(cursor._ins-程序员宅基地

文章浏览阅读783次。File "manage.py", line 16, in <module> execute_from_command_line(sys.argv) File "/home/jiso/.virtualenvs/TDMS_Env/lib/python3.6/site-packages/django/core/management/__init__.py", line 371..._in fetch_returned_insert_id return int(cursor._insert_id_var.getvalue())