
1、switch击穿:若无break,则匹配之后的所有语句都执行一遍
2、jdk与jre有什么区别:
(1)jdk就是进行翻译工作的,即负责编译
jre翻译、运行.class的工具
(2)通常来说jdk里面包含jre
3、CPU中数据占位太少,容易被阻塞,锁定,所以:Boolean 32位。
4、final :final修饰的都是不可被更改的变量;作为常量,需要与static一起使用
(1)final修饰的不可进行第二次赋值(一旦被赋值后,就不能够再更改了)
(2)修饰的类不可被继承
(3)final防止指令重排序,在多线程下保证线程安全
5、=:表示把计算的结果刷回内存
6、检查字符串是否相等只能用equals,而不能用==
== 基本类型比较值,引用类型比较地址
7、三者区别 :String 、Stringbuilder 、Stringbuffer
(1)String:
StringBuilder:线程不安全
StringBuffer:线程安全(因为加锁了)
(2)StringBuilder、StringBuffer比String快,平均快几百倍(真实数据能达上千倍),,因为字符串拼接方面快。因为StringBuilder、StringBuffer里面是char数组
StringBuilder比StringBuffer稍微快一点
8、初始化实例过程
(1)对象初始化顺序
(2)初始化块(也是在对象初始化的时候执行)先执行
静态的初始化块,初始化块,构造方法,同一级别就从上到下。另外,静态的只在类的第一个对象第一次被触发,随后不再执行
9、大数值不会丢失精确度
若+-*/……想要精确计算就用BigInteger或BigDecimal
10、在引用类型里面 按值传递(传的是堆中的地址)和按引用传递(传递的是栈中的地址)
基本类型直接传值
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)