JavaSe01
目录
一.jdk的版本及其特性:
1.版本1.2(Playground运动场):
JDK1.2 Solaris Exact VM,附带JIT解释器,提升GC性能,精准内存管理(Accurate Memory Management),数据类型敏感。
2.版本1.5(Tiger老虎):
1).自动装箱与拆箱:
自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()方法。
自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。
自动拆箱,只需将该对象值赋给一个基本类型即可。
java——类的包装器
类型包装器有:Double,Float,Long,Integer,Short,Character和Boolean
2).枚举
把集合里的对象元素一个一个提取出来。枚举类型使代码更具可读性,理解清晰,易于维护。枚举类型是强类型的,从而保证了系统安全性。而以类的静态字段实现的类似替代模型,不具有枚举的简单性和类型安全性。
简单的用法:JavaEnum简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。
复杂用法:Java为枚举类型提供了一些内置的方法,同事枚举常量还可以有自己的方法。可以很方便的遍历枚举对象。
3).静态导入
通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。
import xxxx 和 import static xxxx的区别是前者一般导入的是类文件如import java.util.Scanner;后者一般是导入静态的方法,import static java.lang.System.out。
4).可变参数(Varargs)
可变参数的简单语法格式为:
methodName([argumentList], dataType...argumentName);
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方法,然后我们就可以通过反射机制来 调用这些方法。
6).泛型(Generic)
C++ 通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也 不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。
7).For-Each循环
For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。
3.版本1.7(Dolphin海豚):
1.switch中可以使用字串
2."<>“这个玩意儿的运用List tempList = new ArrayList<>(); 即泛型实例化类型自动推断
3.自定义自动关闭类
4.新增一些取环境信息的工具方法
5.Boolean类型反转,空指针安全,参与位运算
6.两个char间的equals
7.安全的加减乘除
8.对Java集合(Collections)的增强支持
9.数值可加下划线
10.支持二进制文字
11.简化了可变参数方法的调用
12.在try catch异常扑捉中,一个catch可以写多个异常类型,用”|"隔开
4.版本1.8(Spider蜘蛛)
-
Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可。
-
新增lambda表达式
-
提供函数式接口
-
Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用
-
我们可以直接在lambda表达式中访问外层的局部变量。
5.jak11:
1.本地变量类型推断
2.字符串加强
3.集合加强
4.Stream 加强
5.Optional 加强
6.InputStream 加强
7.HTTP Client API
8.化繁为简,一个命令编译运行源代码
二.java执行机制
编写源代码.java->编译器-->字节码文件.class-->对应平台上解释器-->解释执行
解释过程又称二次编译的过程
java是跨平台的
JVM给了java跨平台的能力
class文件跨平台,class文件是二进制的文件
三,cmd命令执行
1.开始->搜索cmd->打开
2.window+r->搜索cmd->打开
常见命令:
dir:列出当前目录下的所有字内容(子内容|子文件夹)
cd..:返回上一层路径
cd\:直接回到当前盘符的根目录
cls:清屏
exit:退出
tab:对路径自动补全
↑↓:查找历史命令
四.环境变量配置:
目的:想要能够在任意路径下能找到执行javac,java命令
配置:计算机右键->高级系统设置->环境变量-->系统变量->path->jdk的bin目录配置进去E:\Program Files\Java\jdk-11.0.7\bin
五.编写Helloworld
选择显示文件扩展名:查看->显示扩展名
1.新建一个文件修改文件名,后缀名
2.编写源代码
3.通过一个javac命令对源文件进行编译,变异成一份.class结尾的字节码文件 javac helloWorld.java
4.通过一个java命令对class文件里面的进行解释执行 java hellWorld