搜档网
当前位置:搜档网 › jdk15的新特性

jdk15的新特性

jdk15的新特性
jdk15的新特性

“JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,

这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。

下面我们简单介绍一下这些新特性。

1.泛型(Generic)

C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。

Collection c = new ArrayList();

c.add(new Date());

编译器会给出一个错误:

add(https://www.sodocs.net/doc/9612158330.html,ng.String) in java.util.Collection cannot be applied to (java.util.Date)

2.For-Each循环

For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为:

void processAll(Collection c){

for(Iterator i=c.iterator(); i.hasNext();){

MyClass myObject = (MyClass)i.next();

myObject.process();

}

}

使用For-Each循环,我们可以把代码改写成:

void processAll(Collection c){

for (MyClass myObject :c)

myObject.process();

}

这段代码要比上面清晰许多,并且避免了强制类型转换。

3.自动装包/拆包(Autoboxing/unboxing)

自动装包/拆包大大方便了基本类型数据和它们包装类地使用。

自动装包:基本类型自动转为包装类.(int >> Integer)

自动拆包:包装类自动转为基本类型.(Integer >> int)

在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。

int a = 3;

Collection c = new ArrayList();

c.add(a);//自动转换成Integer.

Integer b = new Integer(2);

c.add(b + 2);

这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.

4.枚举(Enums)

JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enmu. 我们可以这样来定义一个枚举类型。

public enum Color

{

Red,

White,

Blue

然后可以这样来使用Color myColor = Color.Red.

枚举类型还提供了两个有用的静态方法values()和valueOf(). 我们可以很方便地使用它们,例如

for (Color c : Color.values())

System.out.println(c);

5.可变参数(Varargs)

可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。假设我们要写一个简单的方法打印一些对象,

util.write(obj1);

util.write(obj1,obj2);

util.write(obj1,obj2,obj3);

在JDK1.5之前,我们可以用重载来实现,但是这样就需要写很多的重载函数,显得不是很有效。如果使用可变参数的话我们只需要一个函数就行了

public void write(Object... objs) {

for (Object obj: objs)

System.out.println(obj);

}

在引入可变参数以后,Java的反射包也更加方便使用了。对于

c.getMethod("test", new Object[0]).invoke(c.newInstance(), new

Object[0])),现在我们可以这样写了

c.getMethod("test").invoke(c.newInstance()),这样的代码比原来清楚了很多。

6.静态导入(Static Imports)

要使用用静态成员(方法和变量)我们必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。

import static https://www.sodocs.net/doc/9612158330.html,ng.Math.*;

…….

r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);

不过,过度使用这个特性也会一定程度上降低代码地可读性。

HTML5基础入门教程(小编搜集辛苦啊,必看)

HTML5教程 什么是HTML5? HTML5 将成为HTML、XHTML 以及HTML DOM 的新标准。 HTML 的上一个版本诞生于1999 年。自从那以后,Web 世界已经经历了巨变。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些HTML5 支持。 你是不是多少有了解一点,但是你却对这个不精啊!可以进群交流,⑤①④①⑥⑦⑥⑦⑧。HTML5 是如何起步的? HTML5 是W3C 与WHATWG 合作的结果。 编者注:W3C 指World Wide Web Consortium,万维网联盟。 编者注:WHATWG 指Web Hypertext Application Technology Working Group。WHATWG 致力于web 表单和应用程序,而W3C 专注于XHTML 2.0。在2006 年,双方决定进行合作,来创建一个新版本的HTML。 为HTML5 建立的一些规则: ?新特性应该基于HTML、CSS、DOM 以及JavaScript。 ?减少对外部插件的需求(比如Flash) ?更优秀的错误处理 ?更多取代脚本的标记 ?HTML5 应该独立于设备 ?开发进程应对公众透明 新特性 HTML5 中的一些有趣的新特性: ?用于绘画的canvas 元素

?用于媒介回放的video 和audio 元素 ?对本地离线存储的更好的支持 ?新的特殊内容元素,比如article、footer、header、nav、section ?新的表单控件,比如calendar、date、time、email、url、search 浏览器支持 最新版本的Safari、Chrome、Firefox 以及Opera 支持某些HTML5 特性。Internet Explorer 9 将支持某些HTML5 特性。 HTML 5 视频 许多时髦的网站都提供视频。HTML5 提供了展示视频的标准。 Web 上的视频 直到现在,仍然不存在一项旨在网页上显示视频的标准。 今天,大多数视频是通过插件(比如Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。 HTML5 规定了一种通过video 元素来包含视频的标准方法。 视频格式 当前,video 元素支持两种视频格式: Internet Explorer Firefox 3.5 Opera 10.5 Chrome 3.0 Safari 3.0 Ogg X X X MPEG 4 X X Ogg = 带有Thedora 视频编码和Vorbis 音频编码的Ogg 文件 MPEG4 = 带有H.264 视频编码和AAC 音频编码的MPEG 4 文件

JDK1.7.0安装与环境变量设置详细图解

JDK1.7.0安装与环境变量设置详细图解 Windows系统中设置环境变量如下图 右击“我的电脑”,选择“属性”。 点击“高级”选项卡,选择“环境变量”。 在“系统环境变量”中设置上面提到的3个环境变量,如果变量已经存在就选择“编辑”,否则选“新建”。

配置系统变量: a.新建JA V A_HOME C:\Program Files\Java\jdk1.7.0 (JDK的安装路径) b.新建PA TH %JA V A_HOME%\bin;%JA V A_HOME%\jre\bin c.新建CLASSPA TH .;%JA V A_HOME%\lib;%JA V A_HOME%\lib\tools.jar特别注意: ◆环境变量值的结尾没有任何符号,不同值之间用;。 ◆CLASSPA TH变量值中的.表示当前目录。 四、JDK1.6安装的最后检验 测试环境变量配置是否成功: 开始-->运行--〉CMD 键盘敲入:JA V AC JA V A 出现相应的命令,而不是出错信息,即表示配置成功! 第一个简单程序HelloWorld: 打开记事本,输入如下代码: class HelloWorld{ public static void main(String[] args) { System.out.println("Hello World!"); } } 保存为HelloWorld.java(文件名一定要和文件内的类名保持一致,之一大小写也要一样)

然后打开DOS(命令框内输入“cmd”并回车) 进入HelloWorld.ava文件所在文件夹(“cd”命令可以进入文件夹)输入以下命令: javac HelloWorld.java(编译) 回车 java HelloWorld(运行) 回车

浅谈HTML5的技术优势

龙源期刊网 https://www.sodocs.net/doc/9612158330.html, 浅谈HTML5的技术优势 作者:刘媛 来源:《新一代》2018年第01期 摘要:本文通过技术分析总结了HTML 5的新特性、技术发展的新优势;通过分析HTML 5的技术劣势,总结分析出未来改进的方向;通过对html5 APP的发展现状的分析,总结出其在移动端开发的优势和不足,并通过市场发展现状,展望了HTML 5的发展前景。 关键字:HTML 5;技术优势;WEB应用 自2014年10月HTML 5正式公开发布至今已经过去了3年的时间,作为新一代的WEB 标准,它因市场缺乏统一标准的需求而生,又因其开放且强大的优势而受到各方面的关注,在备受瞩目的发展了几年之后,却又因为迟迟得不到更广泛的实际应用而质疑它的实际作用。尽管HTML 5备受争议,但不可否认的是HTML 5从根本上改变了WEB应用的开发方式,无论是桌面应用还是移动应用端,HTML 5及其标准都将持续影响着各个WEB操作平台。 下面我们将从html5的新特性、优点、不足和应用领域等几个方面,对HTML5在WEB 操作平台的发展趋势做进一步的分析,让大家对这种语言的技术优势及发展趋势有更明确的了解和认识。 一、html 5的优势 (一)更强的兼容性 Html即超文本语言已经发展了20几年,在经历了几次技术变革之后人们发现各种浏览器对其支持程度并不是越来越好,而是反其道而行之。因此,才有了新标准的出现,Html 5并不是要颠覆html发展的已有成果,而是要做到更好的兼容过去的技术,并发展和得到更多的web浏览器的支持,那么此时兼容性就变得至关重要了,HTML5想要做到的是变成web语言的共主。 (二)更具合理性 我们知道Html 5是在不断归纳和总结的基础上完成了自身的丰富性,那么它的合理性又 从何而来呢,举个例子来说,Google在对用户的标签定义习惯和使用习惯进行了百万次级别 的跟踪、分析后得出id = "nav"、id = "header"的ID定义使用率非常高,为了更好的方便用 户,html 5新增加了标签、标签等一系列的结构元素,这就使得用户的结构性定义变得更加简单和方便了。 (三)简化并提高了效率

JAVA8-新特性总结及案例

一 Lambda函数(箭头函数) Lambda 表达式,也可称为闭包,它是推动Java 8 发布の最重要新特性。Lambda 允许把函数作为一个方法の参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变の更加简洁紧凑。 (parameters) ->expression或(parameters) ->{ statement1; statement2; ...... } lambda表达式の重要特征: 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。 可选の参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。 可选の大括号:如果主体包含了一个语句,就不需要使用大括号。 可选の返回关键字:如果主体只有一个表达式返回值则编译器会自动返回,大括号需指定表达式返回数值。 本质上,Lambda函数是对匿名内部类对象の简写。 应用举例1(比较JAVA7与JAVA8):Lambda函数做类の属性 运行结果: 应用举例2(比较JAVA7与JAVA8):Lambda函数做main函数变量

应用举例3: 应用举例4:多线程启动时使用Lambda函数

应用举例5:在 1.7中,匿名内部类只能使用定义为finalの外部变量,1.8会自动为Lambda函数使用の外部变量加上final,因此final可以省略不写。

二方法引用(::方法名 ----》调用了方法对象)应用举例1:

应用举例2:

三函数式接口 函数式接口(Functional Interface)就是一个具有一个方法の普通接口。函数式接口可以被隐式转换为lambda表达式。 函数式接口可以现有の函数友好地支持 lambda。 JDK 1.8之前已有の函数式接口: https://www.sodocs.net/doc/9612158330.html,ng.Runnable java.util.concurrent.Callable java.security.PrivilegedAction https://www.sodocs.net/doc/9612158330.html,parator

JAVA发展史详细版

JAVA发展史 从JDK诞生到现在已经有15年的时间了。沧海桑田一瞬间。转眼15年过去了,JDK已经发布了6个版本。在这15年里诞生了无数和Java相关的技术和标准。现在让我们进入时间隧道,重新回到1995年,再来回顾一下Java的发展轨迹和历史变迁。 一、 JDK前传 在这个世界上,熟悉Java历史的人非常多,如果要问一个人Java是从哪年诞生的,也许大多数人都会回答是1995年(这个非常好记,因为微软的Windows95也是在这一年发布的)。但事实上Java早在上个世纪90年代初就开始酝酿了。 1991年4月,Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行。而Green项目组的成员一开始使用C++语言来完成这个项目,由于Green项目组的成员都具有C++背景,所以他们首先把目光锁定了C++编译器,Gosling首先改写了C++编译器,但很快他就感到C++的很多不足,需要研发一种新的语言Java来替代它,一杯飘香的咖啡成为了它的标志。 在17 个月后,整个系统完成了,这个系统是更注重机顶盒式的操作系统,不过在当时市场不成熟的情况下,他们的项目没有获得成功,但Java语言却得到了Sun总裁McNealy 的赏识。 直至 1994年下半年,由于Internet的迅猛发展和环球信息网 WWW的快速增长,第一个全球信息网络浏览器Mosaic诞生了;此时,工业界对适合在网络异构环境下使用的语言有一种非常急迫的需求;Games Gosling决定改变绿色计划的发展方向,他们对Oak进行了小规模的改造,就这样,Java在1995年的3月23日诞生了!Java的诞生标志着互联网时代的开始,它能够被应用在全球信息网络的平台上编写互动性及强的Applet程序,而1995年的Applet无疑能给人们无穷的视觉和脑力震荡。我们姑且将Java的这段历史称为Java 前传吧。 其实Java的诞生颇有那么一股“有心栽花花不开,无心插柳柳成阴”的味道。就象当年Unix和它的前身MULTICS系统一样。 二、JDK的幼年时期(1995~1998) Sun继Green项目后又经过了几年的研究,终于在1995年5月23日在SunWorld'95上正式发布Java和HotJava浏览器。在同年,有很多公司先后获得了Java许可证,如Netscape 在1995年8月,Oracle在1995年10月分别获得了Java许可证。Sun在 1995年发布第一个Java版本后,于1996年1月宣布成立新的业务部门──JavaSoft部,这个部分主要负责开发、销售并支持基于Java技术的产品,由AlanBaratz先生任总裁。 在1995年Sun虽然推出了Java,但这只是一种语言,而要想开发复杂的应用程序,必须要有一个的强大的开发库支持还行。因此,Sun在1996 年1月23日发布了JDK1.0。这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK)。在运行环境中包括了核心API、集成API,用户界面API,发布技术,Java虚拟机(JVM)五个部分。而开发环境还包括

HTML5特性概览

什么是HTML5 如何定义 狭义地讲,它是HTML4的升级版,但是它比HTML4增加了许多东西。以下关于HTML5的描述,摘自《HTML5设计原理》一文。 HTML5的“范围” 某些称呼常常被挂在嘴边:“HTML5技术”,“HTML5开发”,“某某产品HTML5版本”。 就像通讯协议2G,3G标准一样,HTML5技术内容来自各个浏览器厂商提供的成熟技术,其中一些已经被使用了多年(比如IE5,6里面的某些事实标准)。还有很多“HTML5技术”是各种存在已久工业标准往Web上面照搬(或者是子集),比如MathML(用于描述数学公式,以后做课件会很方便),HTML5内容之庞大不是几句话就可以说的清的,现在它还在不停地增长。 Javascript与HTML5的关系 JS是一门脚本语言,它可以作为某种特定软件环境的嵌入式开发语言,JS本身并不具备IO能力,所以JS本身不能进行网络通讯、界面绘制。但是,当JS嵌入到浏览器中的时候,浏览器提供了BOM和DOM两套API,前者负责与浏览器交互,后者则提供HTML&CSS排版引擎的接口给JS使用。HTML5标准增强了BOM和DOM两套API的能力,使得基于浏览器环境的开发变得更加“险恶”……更加多样化。 有人说HTML5就是Javascript,大致也没错,因为目前在浏览器端没有一种开发语言与JS竞争(IE支持VBScript,Chrome近期会支持Dart语言),所以浏览器端的程序开发一般就是指Javascript开发。 除了浏览器,JavaScript还有其它的宿主环境,比如NodeJs,NodeJs为JS提供了访问网络以及文件系统的能力,所以开发人员可以在这个环境中进行服务端的Web开发。 此外,浏览器本身也是一个可内嵌的组件,它也可以嵌入到其它程序环境中作应用层的开发,比如前网易游戏开发主管云风的博客中就曾透露,早期的西游系列网游就用了不少浏览器界面嵌入到游戏中,以降低开发成本(主要做游戏中交互菜单的部分)。当然,这种混合型的应用无处不在,我们日常生活中使用的大量桌面软件都是这种模式,比如腾讯QQ、360安全卫士等,QQ中的聊天窗口右侧部分、以及聊天记录窗口等都使用了浏览器组件。 这种形式的应用同样也存在于手机端。PhoneGap就是这样一种解决方案,它封装了手机端的底层数据、设备的访问能力给浏览器控件使用,好处是跨平台。

windows xp下安装java8(jdk8)

windows xp下安装java8(jdk8) 分步阅读 java8已经正式发布有一段日子了,带来了令人振奋的新特性。但是java8有一个无法接受的特点就是不支持windows XP。安装时会报出[无法定位程序输入点RegDeleteKeyExA 于动态链接库ADVAPI32.dll 上。]错误。如下图所示,此文就为大家分享如何解决此恶心问题 工具/原料 ?jdk8安装包 ?7-zip解压工具 方法/步骤 1. 1 下载jdk8安装包,地址: https://www.sodocs.net/doc/9612158330.html,/technetwork/java/javase/downloads/jdk8-do wnloads-2133151.html 2. 2 下载7-zip解压工具包并安装,地址: 32位版:https://www.sodocs.net/doc/9612158330.html,/sevenzip/7z920.exe

64位版:https://www.sodocs.net/doc/9612158330.html,/sevenzip/7z920-x64.msi 3. 3 将下载所得java安装包放到将要安装的jdk路径下,我是放在C:\Program Files\Java\jdk8下的;使用7-zip解压工具将安装包解压到当前目录下得到tools.zip包 4. 4 将提取到的tools.zip再次通过7-zip解压到当前目录下得到jdk文件: bin db include jre lib LICENSE

README.html THIRDPARTY LICENSEREADME-JAVAFX.txt THIRDPARTY LICENSEREADME.txt javafx-src.zip release 5. 5 打开lib目录你会发现以前的tools.jar变成了tools.pack以及jre/lib下的rt.jar变成了rt.pack

HTML5 CSS3新特性的浏览器支持情况

代码检测HTML5/CSS3新特性的浏览器支持情况 伴随着今年10月底HTML5标准版的发布,未来使用H5的场景会越来越多,这是令web开发者欢欣鼓舞的事情。然而有一个现实我们不得不看清,那就是IE系列浏览器还占有一大部分市场份额,以IE8、9为主,windows8.1的用户已经用上了IE10/11,而考虑我国的国情,IE6、7依然存留不少。在我们放手用HTML5开发的时候,新特性支持度检测就是必不可少的了。一种方式是用https://www.sodocs.net/doc/9612158330.html,erAgent或 navigator.appName来检测浏览器类型和版本,不过这种方式不是很可靠,浏览器对于一些新特性也是在逐渐支持,不能肯定说某个浏览器100%支持了HTML5。而且,IE11做了一个恶心的举动:在UA中去掉了“MSIE”标志,把appName改为了“Netspace”,并且开始支持-webkit-前缀的css属性,这是活生生要伪装成chrome的节奏。所以,HTML5/CSS3支持性的检测,还是靠特征检测(figure detection)或者说能力检测更好些。本篇就来介绍一下常用的检测方式都有哪些。 HTML5部分 检测HTML5新特性的方法主要有以下几种: 1. 检查全局对象(window或navigator)上有没有相应的属性名 2. 创建一个元素,检查元素上有没有相应的属性 3. 创建一个元素,检测元素上有没有方法名称,然后调用该方法,看能否正确执行 4. 创建一个元素,为元素的相应属性赋一个值,然后再获取此属性的值,看看赋值是否生效 由于不同浏览器的不同行为,检测一些特性的时候,可能会用到上述几个方法的组合,接下来用上面的方法做一下常用特性的检测: canvas 1.function support_canvas(){ 2. var elem = document.createElement('canvas'); 3. return !!(elem.getContext && elem.getContext('2d')); 4.}

Java培训大纲

MLDN 人才培养大纲(V 3.0) 1、魔乐科技软件学院(MLDN) 魔乐科技软件学院,位于中关村科技园区德胜科技园内,是一家从事高端JAVA技术培养的技术公司,由各大型软件 企业的高级软件开发工程师、系统架构师等技术骨干组成的高端IT人才培养公司,致力于培养Linux平台、Oracle大型关系数据库、JAVA EE技术、Android开发者和企业级应用的中高级软件人才。自成立以来,为各大型软件公司输送了大量的 中、高级人才,其中,也有不少学员就业于IBM、新浪、中科软等大型公司,受到各用人单位的好评。 2、培养目标:高级软件开发工程师 本中心专注于培养企业需求量大、就业率高,但人才市场紧缺的面向行业的Java EE架构和开源的Struts/Struts 2.0/Hibernate/Spring框架和开源的JBoss/Tomcat中间件服务器、面向,Oracle、MySQL数据库,精通Java开发语言,精通Android 3G技术开发的中高级软件工程师。成绩合格的毕业生将具备1-2年大型软件设计及开发经验。 3、完备合理的知识学习体系 ·操作系统:Windows Linux ·中间件:Tomcat JBoss ·数据库:MySQL Oracle ·JAVA SE:环境搭建基础程序面向对象应用程序 Java新特性 JDBC ·JAVA EE WEB:HTML JavaScript JSP JavaBean DAO Smartupload Servlet MVC ·开源框架:Struts 1.x AJAX Hibernate Spring Struts 2.0 JSF DWR JSON JQuery ·分布式开发:RMI Web Services EJB 3.0 ·搜索引擎:Lucene、HTMLParser、Heritrix ·工作流:JBPM ·XML:语法、解析 4、主流企业开发技术 JAVA SE / JAVA EE JBoss / Tomcat / MyEclipse Oracle / MySQL Struts / Struts 2.0 / Spring / Hibernate XML / EJB 3.0 / Web Services 5、“项目/案例”教学法-让你在培训期增加300%项目经验 本课程中采用众多的企业项目案例,由浅入深进行逐层讲解,每个项目都源自于真实项目,包括电信计费系统、信息

黑马集合知识测试(带解析)

集合部分测试题 考试宣言: 同学们,考试考多少分不是我们的目的!排在班级多少的名次也不是我们的初衷! 我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要注意听!那时候学会了,记住了,也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。单选2 分/题,多选4分/题。多选题不全对半分,全对满分。 1.单列集合的顶层接口是( ) a)java.util.Map b)java.util.Collection//这是单列集合的老大,必须记住 c)java.util.List d)java.util.Set 2.ArrayList类的底层数据结构是( ) a)数组结构//看名字也能猜出来底层的数据结构. b)链表结构 c)哈希表结构 d)红黑树结构 3.LinkedList类的特点是( ) a)查询快 b)增删快//由于底层是链表结构,所以增删快,查询慢.

c)元素不重复 d)元素自然排序 4.Vector类的特点是( ) a)线程同步//这是早期工具的特性之一,安全性高,后来出现的集合都是求效率.b)线程不同步 c)增删快 d)底层是链表结构 5.关于迭代器说法错误的是( ) a)迭代器是取出集合元素的方式 b)迭代器的hasNext()方法返回值是布尔类型 c)List集合有特有迭代器ListIterator d)next()方法将返回集合中的上一个元素//返回下一个元素. 6.在我们所学知识中,下面哪几项是接口( ) a) java.util.Map b) java.util.Collection c) java.util.List d) java.util.Set 7.实现下列哪个接口,可以启用比较功能( ) a)Runnable接口 b)Iterator接口 c)Serializable接口

JAVA7 新特性介绍(官方公布)中文版

Java7 新特性集合(中文版) Java 7平台标准版文档 甲骨文有两个产品实现Java平台标准版(Java SE)7:Java SE的开发工具包(JDK),7和Java SE的运行环境(JRE)7。 JDK 7中的JRE 7的一个超集,并包含在JRE 7的一切,再加上开发applets 和应用程序所必需的编译器和调试器等工具。 JRE7提供了类库,Java虚拟机(JVM),和其他运行使用Java编程语言编写的applets和应用程序所需的组件。 下面的概念图说明了Java组件技术:

文档之“新” 文档定期更新,以提供在Java平台上的新功能的深入了解信息的开发。一些最近的更新包括: 1.Swing 包括以下主题: JLayerClass Swing包中的新组件,可支持自定义绘制 NimbusLook & Feel Swing包中最新的U组件,可支持自定义皮肤 Heavyweightand Lightweight Components Swing包中的最新属性,可实现透明和半透明窗体 Shapedand Translucent Windows Swing包中的最新组件,可实现自定义形状窗体Hue-Saturation-Luminance(HSL) Color Selection in JColorChooser Class色彩选择器,可支持色彩饱和度和亮度

Image 2 TranslucentWindow Image 3 GradientWindow Image 4 ShapedWindow 2. Java SE 7的网络增强 URLClassLoader.close方法已被添加。这种方法有效地消除了如何支持从一个特定的代码库,特别是在JAR文件中加载的类和资源更新的实现的问题。有关更多信息,请参阅合为URLClassLoader。

Java各版本特性一览-从Java1.0到Java12

Java各版本特性一览-从Java1.0到Java12 JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢。 JDK Version 1.1 1997-02-19 – JDBC(Java DataBase Connectivity); –支持内部类; – RMI(Remote Method Invocation) ; –反射; – Java Bean; JDK Version 1.2 1998-12-08 Playground(操场) –集合框架; – JIT(Just In Time)编译器; –对打包的Java文件进行数字签名; – JFC(Java Foundation Classes), 包括Swing 1.0, 拖放和Java2D类库; – Java插件; – JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型; – Applet中添加声音支持 JDK Version 1.3 2000-05-08 Kestrel(红隼) – Java Sound API; – jar文件索引; –对Java的各个方面都做了大量优化和增强; JDK Version 1.4 2004-02-06 Merlin(隼) – XML处理; – Java打印服务; – Logging API; – Java Web Start;

– JDBC 3.0 API; –断言; – Preferences API; –链式异常处理; –支持IPV6; –支持正则表达式; –引入Imgae I/O API JAVA 5 2004-09-30 Tiger(老虎) –泛型; –增强循环,可以使用迭代方式; –自动装箱与自动拆箱; –类型安全的枚举; –可变参数; –静态引入; –元数据(注解); – Instrumentation; JAVA 6 2006-12-11 Mustang(野马) –支持脚本语言; – JDBC 4.0API; – Java Compiler API; –可插拔注解; –增加对Native PKI(Public Key Infrastructure), Java GSS(Generic Security Service),Kerberos和LDAP(Lightweight Directory Access Protocol)支持; –继承Web Services; JAVA 7

PowerBI技巧之Java 10 新特性介绍

作为当今使用最广泛的编程语言之一的 Java 在 2018 年 3 月 21 日发布了第十个大版本。为了更快地迭代、更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次。Java 10 是这一新规则之后,采用新发布周期的第一个大版本。Java 10 版本带来了很多新特性,其中最备受广大开发者关注的莫过于局部变量类型推断。除此之外,还有其他包括垃圾收集器改善、GC 改进、性能提升、线程管控等一批新特性。本文主要针对Java 10 中的新特性展开介绍,希望读者能从本文的介绍中快速了解 Java 10 带来的变化。 局部变量类型推断 局部变量类型推断是 Java 10 中最值得开发人员注意的新特性,这是 Java 语言开发人员为了简化 Java 应用程序的编写而进行的又一重要改进。 这一新功能将为 Java 增加一些新语法,允许开发人员省略通常不必要的局部变量类型初始化声明。新的语法将减少 Java 代码的冗长度,同时保持对静态类型安全性的承诺。局部变量类型推断主要是向 Java 语法中引入在其他语言(比如 C#、JavaScript)中很常见的保留类型名称var。但需要特别注意的是:var不是一个关键字,而是一个保留字。只要编译器可以推断此种类型,开发人员不再需要专门声明一个局部变量的类型,也就是可以随意定义变量而不必指定变量的类型。这种改进对于链式表达式来说,也会很方便。以下是一个简单的例子: 清单 1. 局部变量类型推断示例 1. var list = new ArrayList(); // ArrayList 2. var stream = list.stream(); // Stream 看着是不是有点 JS 的感觉?有没有感觉越来越像 JS 了?虽然变量类型的推断在 Java 中不是一个崭新的概念,但在局部变量中确是很大的一个改进。说到变量类型推断,从 Java 5 中引进泛型,到 Java 7 的<>操作符允许不绑定类型而初始化 List,再到 Java 8 中的 Lambda 表达式,再到现在 Java 10 中引入的局部变量类型推断,Java 类型推断正大刀阔斧地向前进步、发展。 而上面这段例子,在以前版本的 Java 语法中初始化列表的写法为: 清单 2. Java 类型初始化示例 List list = new ArrayList(); Stream stream = getStream(); 在运算符允许在没有绑定ArrayList <>的类型的情况下初始化列表的写法为: 清单 3. Java 7 之后版本类型初始化示例 List list = new LinkedList<>(); Stream stream = getStream(); 但这种 var 变量类型推断的使用也有局限性,仅局限于具有初始化器的局部变量、增强型 for 循环中的索引变量以及在传统 for 循环中声明的局部变量,而不能用于推断方法的参数类型,不能用于构造函数参数类型推断,不能用于推断方法返回类型,也不能用于字段类型推断,同时还不能用于捕获表达式(或任何其他类型的变量声明)。

HTML5 history新特性pushState、replaceState及两者的区别

这篇文章主要介绍了HTML5 history新特性pushState、replaceState及两者的区别的相关资料,需要的朋友可以参考下 DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,让你可以在用户的访问记录中前进和后退。 从HTML5开始,我们可以开始操作这个历史记录堆栈。 1.History 使用back(),forward(),和go()方法可以在用户的历史记录中前进和后退 前进和后退 后退: 代码如下: window.history.back(); 这个方法会像用户点击了浏览器工具栏上的返回键一样。 同样的,也可以用以下方法产生用户前进行为: 代码如下: window.history.forward(); 移动到历史记录中特定的位置 你可以使用go()方法从session历史中载入特定的页面。 向后移动一页: 代码如下: window.history.go(-1); 向前移动一页: 代码如下: window.history.go(1); 类似的,你可以前进或者后退多页。 还可以通过检查浏览器历史记录的length属性来找到历史记录堆栈中的页面总数。 代码如下: var numberOfEntries = window.history.length; 注意:IE支持向go()方法传URL参数。 2.添加和修改history实体 自Gecko2开始引入(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) HTML5引入了histtory.pushState()和history.replaceState()这两个方法,他们允许添加和修改history实体。同时,这些方法会和window.onpostate事件一起工作。 使用history.pushState()方法来修改referrer,这种方法可以被用在经过修改状态后而为xmlhttpRequest对象创建的http header中。这个referrer会是创建XMLHttpRequest 时document的URL。 pushState 用于向history 添加当前页面的记录,而replaceState 和pushState 的用法完全一样,唯一的区别就是它用于修改当前页面在history 中的记录。 例子 假设https://www.sodocs.net/doc/9612158330.html,/foo.html页面执行了一下JS 代码如下: var stateObj = { foo: "bar" }; history.pushState(stateObj, "page 2", "bar.html"); 这种方法将会使url地址栏显示https://www.sodocs.net/doc/9612158330.html,/bar.html,但浏览器不会加载bar.html

JDK7新特性版_

https://www.sodocs.net/doc/9612158330.html,- 做最棒的软件开发交流社区 作者: janeky https://www.sodocs.net/doc/9612158330.html, <p>这段时间陆陆续续写了这个JDK7系列的文章,希望对大家有用。从简介到语法,到各个 特性,尽量用简单的例子来说明。更多的技术文章,欢迎访问我的 blog<a href="https://www.sodocs.net/doc/9612158330.html,">https://www.sodocs.net/doc/9612158330.html,</ a></p>

目 录 1. jdk7 1.1 JDK7新特性<一>概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.2 JDK7新特性<二> 语法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 1.3 JDK7新特性<三> JDBC4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 1.4 JDK7新特性<四> NIO 2.0 文件系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 1.5 JDK7新特性<五> fork/join 框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 1.6 JDK7新特性<六> 监听文件系统的更改 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.7 JDK7新特性<七> 遍历文件树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 1.8 JDK7新特性<八>异步io/AIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

图解天下--JDK7安装配置教程(Win7)

一、JDK 7安装步骤 从Oracle公司下载Windows版的JDK7。 https://www.sodocs.net/doc/9612158330.html,/technetwork/java/javase/downloads/jdk-7u3-download-1501626.h tml 1、双击进入JDK7安装界面,点击下一步。 2、点击“更改”按钮,根据用户实际情况选择安装路径,这里将路径名改为:C:\Program Files\Java\jdk1.7\。也可根据需要对开发工具、源代码、公共JRE作出相应修改,这里保持默认。点击“确定按钮”,开始安装jdk1.7。

3、安装过程中会进入jre7安装路径选择界面,这里默认不变,选择“下一步“。 4、安装结束,点击“继续”,进入JavaFx SDK设置界面,点击“取消”。 二、Java运行环境变量设置 1、点击计算机->右键“属性”->点击左侧“高级系统设置”->点击“环境变量”。

2、选择“系统变量”,点击“新建”,依次输入如下“变量名”、“变量值”:JAVA_HOME:C:\Program Files\Java\jdk1.7(JDK安装路径) PATH: %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 点击确定,配置结束。 3、验证结果。 点击“开始”,在搜索栏输入“cmd”,回车进入命令行窗口。 在命令行窗口下键入以下命令,查看是否配置正确: java –version:查看安装的JDK版本信息。 java:得到此命令的帮助信息。 javac:得到此命令的帮助信息。(一般需重启) 均正确,安装无误,可正常使用。

HTML5新特性安全研究综述

计算机研究与发展 Journal of Computer Research and Development DOI:10. 7544/issnl000-1239. 2016. 20160686 53(10) : 2163-2172, 2016 HTML5新特性安全研究综述 张玉清1;2贾岩1雷柯楠1吕少卿3乐洪舟1 U综合业务网理论及关键技术国家重点实验室(西安电子科技大学)西安710071) 2 (中国科学院大学国家计算机网络入侵防范中心北京101408) 3 (陕西省信息通信网络及安全重点实验室(西安邮电大学)西安710121) (zhangyq@https://www.sodocs.net/doc/9612158330.html,) Survey of HTML5 New Features Security Zhang Yuqing1,2,Jia Yan1,Lei Kenan1,Lii Shaoqing3,and Yue Hongzhou1 1{State K e y La boratory o f I n t e g r a t e d S e rvi ce s Networks (X id ia n University ) ?XVan710071) 2 (National C om pu ter Netxvork Intrusion Pr ote ct ion Cent er, University o f Chinese A c a d e m y o f S ci e n c e s, B e i j i n g101408) 3{Shaanxi K e y La boratory o f I n f o r m a t i o n Communication Network a n d S e cu r i ty(X i’an University o f Posts an d Te le c om m u n ic at io n s'),X i^n710121) Abstract HTML5 is the latest standard of building Web applications. It introduces many new features to browsers, but also brings new security issues. The security of new features is the essence of HTML5 security. According to the differences in function, we analyze and summarize the security of new features including new label and form,communication, offline and storage,multimedia,performance,device access. The security problems and possible prevention methods are pointed out. Then we summarize existing researches, and classify HTML5 security problems into three categories:extending traditional threats, malicious use and improper use,to provide a new thought for the further study of HTML5 security. At last, four directions of the future work are pointed out:the security of new features, detection of malicious use, cross platform security and new security applications. Key words Web security;HTML5 ;literature review;postMessage;WebSocket;AppCache;WebStorage 摘要HTML5是构建W eb应用的最新标准,它引入许多新特性来赋予浏览器丰富的功能,但因此也引入了新的安全问题.H TM L5安全问题实际由各个新特性的安全问题组成.根据功能差异,对 H TM L5中的标签与表单、通信功能、离线应用与存储、多媒体、性能与表现、设备访问等新特性的安全 性进行了详尽的分析、总结和讨论,指出其蕴含的安全问题及可能的防范方法.然后对现有国内外研究工作进行了总结,进一步将HTML5安全问题归纳为3类:传统威胁延伸、恶意利用、使用不当,为进一步研究提供了思路.最后,指出了 HTML5安全研究未来有价值的4个方向:新特性安全性、恶意利用检测、跨平台安全性和新安全应用形式. 收稿日期:2016-08-18;修回日期:2016-09-20 基金项目:国家自然科学基金项目(61272481,61572460);国家发改委信息安全专项[(2012) 1424];国家重点研发计划项目(2016YFB0800703); 国家111项目(B16037);教育部-中国移动科研基金项目(MCM20130431) This work was supported by the National Natural Science Foundation of China (61272481,61572460) , the National Information Security Special Projects of National Development and Reform Commission of China [(2012)1424] , the National Key Research and Development Project (2016YFB0800703) , China 111 Project (B16037), and the Research Fund of Ministry of Education-China Mobile (MCM20130431).

相关主题