学习总结
»其他java项目视频看完了,但是感觉对什么都还是处于不太懂的状态,从框架的使用,到源码的阅读都处于入门都算不上的。很担心这样的水平到秋招的时候能不能找到实习。
最近开始好好的看书了,同时也坚持每天刷一刷leetcode,弥补代码量。多写写总没有坏处。
简单记录一下这两天看书的收获:
- 当使用字符串相加的时候,如果是字符串常量相加,例如String a = “a” + “b”;那么这其实是在编译的时候就已经计算出a = “ab”了,因为字符串常量会存放在常量池中,编译的时候会取常量池中找,如果找到了就会把”ab”计算出来放到常量池中,那么程序运行的时候就可以直接从常量池中获取。所以,并不是所有情况下使用StringBuilder都会比使用”+”要高效,至少在字符串常量相加的时候使用”+”还比较好。
String a = "a" + "b"; String b = "ab"; System.out.println(a==b); 将会输出true
- 泛型的作用是可以让我们在编译期就发现一些错误,同时还有一个作用类似一个占位符,即在定义类或方法的时候并不明确将会使用哪一种类型,就可以使用泛型来充当临时的类型,到真正使用的时候再替换成真正的类型,但是需要注意的是数组是不支持泛型定义的
- java中会将一部分基本类型在虚拟机中缓存,例如int 型的 -127到128都会在虚拟机中缓存,当然这个缓存的范围可以自己定义。boolean 型的true和false还有byte和short、long的-127到128也是有缓存的,两个Integer类直接判断是否相等使用”=”是会出问题的,因为”=”并不将Integer自动拆箱。当然如果是在-127到128之间是没问题的,因为取的是缓存
- Interable和Interator的区别是,Interable是一个迭代器接口,里面有一个interator方法,返回一个Interator对象,实现这个接口就可以进行迭代。Interator是一个接口,里面有三个方法hasNext,next和remove方法。
- 复合模式是指将多种模式进行组合来解决一般问题,MVC就是一个复合模式,里面用到了观察者模式、组合模式、策略模式,其中视图就是观察者,模型是被观察者,而视图与控制器之间是用了策咯模式,同时视图里面的组件是使用到了组合模式。
- java里面 ‘.’是需要转义的,即使用两个\来进行转义