Java程序员修炼之道学习笔记(1)-简介
转载请注明出处 http://www.paraller.com
原文排版地址 点击跳转-简介/)
使用Java代码的整个过程
.java --javac--> .class --类加载器--> 转换后的.class --解释器--> 可执行代码 --JIT编译器--> 机器码
1、类文件在加载过程中通常会被处理和修改,比如Spring框架中的代理类
2、Java .class字节码更像是中间状态;Java中的真正编译器是JIT,将可执行代码 在 运行时编译成机器码。
语法糖
1、描述的是一种语言特性,使用起来更辩解
2、语法糖在编译处理早起会从编译结果中移除,变为相同特性的基础表示形式,称为"去糖化"
Java7 小特性
1、Switch 支持String类型
int x = Integer.parseInt("1100110",2); int x = 0b1100110;
2、在二进制或其他常数值中加入下划线
long tail = 100_000_000;
3、简化分类异常处理:
try{ }catch(ExceptionA1 | ExceptionA2){ }catch(ExceptionB1 | ExceptionB2){}
4、Try-with-resource
将资源的关闭交给编译器进行处理,并改善了问题的跟踪日志。
旧写法
try{ // 文件处理 }catch{ // 文件处理 }finally{ // 文件处理 }
新写法
try(InputStream in = new InputStream(new FileInputStream("test.txt"))){ //文件处理 }catch{}
可能会出现资源无法关闭的情况,改进写法:为各个资源独立声明变量
try( FileInputStream fis = new FileInputStream("test.txt"); InputStream in = new InputStream(fis)){ //文件处理 }catch{}
5、钻石语法:针对创建泛型定义和实例过于繁琐做出的改进
Map<Integer,Map<String,String>> map = new HashMap<Integer,Map<String,String>>(); Map<Integer,Map<String,String>> map = new HashMap();
相关推荐
xiaoyaodaia 2020-01-05
kukelook 2020-01-05
junzi 2020-01-05
Dablelv 2020-01-01
Dablelv 2019-12-30
jiiming 2019-12-27
jiiming 2019-12-21
Dablelv 2019-12-05
陶辉 2013-07-01
酷云的csdn 2019-10-31
xiaoyaodaia 2019-10-30
junzi 2019-10-30
kukelook 2019-10-28
xiaoyaodaia 2019-10-28
quezhengbo 2012-03-11
taoxiuyi0 2019-06-26
Java填坑之路 2019-06-25
gokos 2013-07-01
guojiajiaaa 2012-07-05