import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; /* jdk1.5出现的新特性---->增强for循环 增强for循环的作用: 简化迭代器的书写格式.(注意:增强for循环的底层还是使用了迭代器遍历.) 增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都可以使用增强fo…
JDK1.5-JDK1.8各个新特性 JDK各个版本的新特性 要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.以下介绍一下JDK1.5版本到JDK1.7版本的特性及JDK1.8部分特性. JDK1.5新特性 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和d…
------- android培训.java培训.期待与您交流! ---------- 首先来看一段代码: Integer x = new Integer(4); Integer y = 4; 在JDK1.5版本后,以上两行代码都能编译通过,那是因为JDK1.5后加入新特性,自动装箱. 第一句代码是正常的创建对象方法,创建了一个Integer包装类对象. 而第二句中,当左边的Interger类型变量指向右边的int基本类型数据时,右边的基本数据类型会自动装箱成Integer对象,即隐式执行了ne…
一. 场景再现 如大家熟知,Ajax 可以实现页面的无刷新操作,但会造成两个与普通页面操作(有刷新地改变页面)有着明显差别的问题—— URL 没有修改以及无法使用前进.后退按钮.例如常见的 Ajax 分页,在第一页点击第二页的链接,Ajax 分页完成后浏览器地址栏上显示的 URL 依然是第一页的 URL,使用后退按钮也无法回到第一页.url 的改变代表一个标识,在传统的网页体验中,内容的变更伴随 url 的改变,url 的改变.前进和后退按钮三者之间更加形成一种独特的导航体验,而 Ajax 破坏…
[From]https://www.cnblogs.com/sxdcgaq8080/p/7156227.html               隔壁的,加个引用做书签! [JVM]调优笔记2-----JVM在JDK1.8以后的新特性以及VisualVM的安装使用…
C# 9 新特性 -- 增强的 foreach Intro 在 C# 9 中增强了 foreach 的使用,使得一切对象都有 foreach 的可能 我们来看一段代码,这里我们试图遍历一个 int 类型的值 思考一下,我们可以怎么做使得上面的代码编译通过呢? 迭代器模式 迭代器模式,提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示. 迭代器模式是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可以让外部代码透明地访问集合内部的数据…
C# 9 新特性 -- 增强的模式匹配 Intro C# 9 中进一步增强了模式匹配的用法,使得模式匹配更为强大,我们一起来了解一下吧 Sample C# 9 中增强了模式匹配的用法,增加了 and/or/not 操作符,而且可以直接判断属性,来看一下下面的这个示例: var person = new Person(); // or // string.IsNullOrEmpty(person.Description) if (person.Description is null or { Le…
接口的旧特性: 就特性下接口中只有: 常量(必须赋值) 抽象方法abstract(和final static private三个关键字冲突) interface Inter { //int a ; //编译报错 常量必须要赋值不能使用默认值. int a = 10; // 前面有默认修饰符 public static final //void show(){} //编译报错 抽象方法必须没有方法体 void show(); //前面有默认修饰符 public abstract } 接口的新特性:…
Java中的可变参数 Java1.5后出现了一个新特性,即可变参数,格式为:类型 …参数 例如: 总的来说,可变参数可以当成是数组来用: public void testSum() { System.out.println(sum(1,2,3,4,5)); } public int sum(int ...nums) { int sum = 0; for(int i:nums) { sum +=i; } return sum; } 如果方法参数中不止有可变参数,还有别的类型的参数,那么可变参数应该…
JDK 5.0 特性 1.静态导入(import static 语句导入一个类中的某个静态方法或所有静态方法) 如: import static java.lang.Math.*; 2.可变参数 1. 只能出现在参数列表的最后 2. ...位于变量类型和变量名之间,前后有无空格都可以 3. 调用可变参数方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数 3.增强for循环 for (type 变量名:集合变量名){...} 1.迭代变量必须在()中定义 2.集合变量可…
Java 12 中增强了 G1 垃圾收集器关于混合收集集合的处理策略,这节主要介绍在 Java 12 中同时也对 G1垃圾回收器进行了改进,使其能够在空闲时自动将 Java 堆内存返还给操作系统,这也是 Java 12 中的另外一项重大改进. 目前 Java 11 版本中包含的 G1 垃圾收集器暂时无法及时将已提交的 Java 堆内存返回给操作系统.为什么呢? G1目前只有在full GC或者concurrent cycle(并发处理周期)的时候才会归还内存,由于这两个场景都是G1极力避免的,因…
一.JVM在新版本的改进更新以及相关知识 1.JVM在新版本的改进更新 图中可以看到运行时常量池是放在方法区的 1.1对比: JDK 1.7 及以往的 JDK 版本中,Java 类信息.常量池.静态变量都存储在 Perm(永久代)里.类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉类的元数据和静态变量.当然常量池的东西也会在 Perm 垃圾收集的时候进行处理. JDK 1.8 的对 JVM 架构的改造将类元数据放到本地内存中,另外,将常量池和静态…
一.JVM在新版本的改进更新以及相关知识 1.JVM在新版本的改进更新 图中可以看到运行时常量池是放在方法区的 1.1对比: JDK 1.6 及以往的 JDK 版本中,Java 类信息.常量池.静态变量都存储在 Perm(永久代)里.类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉类的元数据和静态变量.当然常量池的东西也会在 Perm 垃圾收集的时候进行处理. JDK 1.8 的对 JVM 架构的改造将类元数据放到本地内存中,另外,将常量池和静态…
JDK1.7日期时间操作 示例小结 public class DateTest { public static final String FORMAT_DATE = "yyyy-MM-dd"; public static final String FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String FORMAT_MIN = "yyyy-MM-dd HH:mm"; public st…
2017-10-31 00:02:16 格式: for(元素数据类型 变量:数组或者Collection集合) { 使用变量即可,该变量即是元素 } int arr[] = {1,2,3,4,5}; for(int i:arr) { System.out.println(i); } 好处:简化了数组和集合的遍历 弊端:增强for的目标不能是null…
整理了几条对开发可能用到概率高的 1.swicth支持对String的判断:(以前只能支持Int及以下的) switch (s) { case "1": break; case "2": break; case "3": break; } 2.泛型的改善 //JDK1.7 Map<String,String> map = new HashMap<>(); //JDK1.6 Map<String,String>…
------- android培训.java培训.期待与您交流! ---------- 高级for循环   格式: for(数据类型 变量名 : 被遍历的集合(Collection)或者数组) {      } for循环和迭代器在集合中的区别: 对集合进行遍历.只能获取集合元素.但是不能对集合进行操作.   迭代器除了遍历,还可以进行remove集合中元素的动作.如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作. 传统for和高级for有什么区别呢?   高级for…
本文目标是加强for循环和普通for循环的比较.阅读本文大概3-5分钟 刚开始学习编程语言的时候接触了三种循环方式 1. for 常用 2. while 较常用 3 do ... while 不常用 一般的for循环格式 for(int i=0; i <10;i++){ doSomething(); } for(init ; condition ; increment),共有三个代码块 init 初始化区域 condition 设置判断条件 increment做完循环体内容后执行的代码块 现在看…
jdk1.5新特性-------静态导入 静态导入的作用: 简化书写. 静态导入可以作用一个类的所有静态成员.  静态导入的格式:import static 包名.类名.静态的成员: 静态导入要注意的事项:   如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的静态成员,如果需要指定使用静态导入的成员,那么需要在静态成员前面加上类名 import java.util.ArrayList; import java.util.Collections; import static ja…
今日内容介绍 1.集合 2.Iterator迭代器 3.增强for循环 4.泛型 01集合使用的回顾 *A:集合使用的回顾 *a.ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(111); list.add(222); list.add(333); list.add(444); li…
1.格式 /* * JDK1.5新特性,增强for循环 * JDK1.5版本后,出现新的接口 java.lang.Iterable * Collection开始继承Iterable * Iterable作用,实现增强for循环 * * 格式: * for( 数据类型 变量名 : 数组或者集合 ){ * sop(变量); * } */ public static void function_1(){ //for对于对象数组遍历的时候,能否调用对象的方法呢 String[] str = {"abc&…
1. 集合 1.1 集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据 1.2 ArrayList集合存储元素 练习一:ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayLi…
第一讲     枚举 一.概述 这里说的枚举,不是集合vector的特有枚举迭代器,而是JDK1.5的一个新特性.之所以单独拿它开刷,是这个知识点比较重要,同时相对来说比较难理解一些. 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0;或即使使用常量方式也无法阻止意外. 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错.枚举可以让编译器在编译时就可以控制源程序中填写的非法…
JDK1.5java增加的新特性: 自动装箱/拆箱      增强for     泛型      枚举      静态导入      可变参数 1 自动装箱/拆箱 * JDK1.5允许开发人员把一个基本类型直接赋给对应的包装类变量或者赋给Object类型的变量,这个过程称为自动装箱. * 自动装箱和自动拆箱相反,即把包装类对象直接赋给一个对应的基本类型变量. 也就是基本类型与其对应的引用类型之间的转换,但是不能乱用,一般我们要采用基本类型,如果在使用时不注意,可能会造成程序低效率运行. int…
之前说了jdk1.8几个新特性,现在看下实战怎么玩,直接看代码: public List<MSG_ConMediaInfo> getConMediaInfoList(String liveType) { if (Util.isEmpty(liveType)) { return null; } List<MSG_ConMediaInfo> conMediaInfoList = getConMediaInfoList(); if (Util.isNotEmpty(conMediaInf…
API中的常用类 System类System类包含一些有用的类字段和方法.它不能被实例化.属性和方法都是静态的. out,标准输出,默认打印在控制台上.通过和PrintStream打印流中的方法组合构成输出语句.In,标准输入,默认是键盘,获取键盘录入的所有内容.描述系统的一些信息:Properties getProperties(),获得系统的属性信息.Properties是HashTable的子类,是Map集合的子类对象:属性类,比较常用.该集合中存储的都是字符串,没有泛型定义.获取系统属性…
前两天看到jdk10试用版都出来了,才发现自己连1.8都没用过,对不同版本的jdk的新特性也不是太了解,所以想还是百度一下看看人家怎么说然后自己记录总结一下,其中jdk1.8的新特性可以到edu.51cto.com上学习一下,好了,现在说说jdk1.5的常用新特性吧. (9个) 泛型, foreach循环, 自动拆装箱, 类型安全的枚举, 可变参数, 内省(https://www.cnblogs.com/H_Razor/archive/2011/02/28/1967178.html), 静态导入…
转眼C#语言都已经迭代到7.0版本了,很多小伙伴都已经把C# 7.0 的新特性应用到代码中了,想想自己连6.0的新特性都还很少使用,今天特意搜集了一下6.0和7.0的一些新特性,记录一下,方便查阅. C# 7.0 新特性 增强的ref 可以对值变量传递引用 ref int b = ref a; 可以对返回值返回引用 return ref x; 自动创建 out 变量 增强的元组(需要扩展包支持,Install-Package System.ValueTuple) 命名返回值 (int a, in…
LAM,C++编程是必备技能.不过,大家在学校里学习的书本一般比较老,主要还是C++98那些老一套. 本文所谓的C++新特性是指C++11及其以后的C++14.C++17增加的新关键字和新语法特性.其中C++11是C++98以来最重要的一次变化,而其后的C++14.C++17是在该基础上的完善和补充. 那么,问题来了,如果我不想学习新特性,还是像以前那样编程可以吗? 答案是:可以,不过这就像是别人已经在用铁制刀具切瓜了,你还在石器时代使用石头刀具,你说,效率能一样吗? 看看下面你心里就有答案了.…
Jdk1.5新特性之静态导入 jdk1.5新特性值静态导入 静态导入的作用:简化缩写 静态导入的作用:可以作用一个类的所有静态成员. 静态导入的格式:import static 包名.类名.静态的成员 import static java.util.Collections.sort; //静态导入指定的某个静态成员方法 import static java.util.Collections.*;  导入所有的静态成员 除了可以导入静态的成员方法,也可以静态的导入成员变量,比如System.out…