-
Math.round 的意思是+0.5 取整数所以 Math.round(11.5) 即 11.5+0.5 = 12Math.round(-11.5) 即 -11.5+0.5 = -11
-
short s1 = 1; 这一句没有错误,编译器会自动把1这个整数处理为short.s1 = s1 + 1; 右侧的表达式会返回一个Int类型的整数,再把这个int类型的整数赋给short类型的s1的时候,就会出现强制转换错误
-
GC是Garbage Collection的缩写,即垃圾回收这里所谓的垃圾,指的是那些不再被使用的对象,JVM的垃圾回收机制使得开发人员从无聊、容易犯错的手动释放内存资源的过程中解放出来。开发人员可以更加专注的进行业务功能的开发,而资源回收的工作交由更加专业的垃圾回收机制自动完成。
-
heap: 堆stack: 栈 (在一些书籍里,会被翻译为堆栈,实际上指的就是单纯的这个栈)存放的内容不一样:heap: 是存放对象的stack: 是存放基本类型(int, float, boolean 等等)、引用(对象地址)、方法调用存取方式不一样:heap: 是自动增加大小的,所以不需要指定大小,但是存取相对较慢stack: 是固定大小的,并且是FILO 先入后出的顺序,并且存取速度比较快
-
abstract class 抽象类和interface接口的区别使用方式:抽象类只能够通过继承被使用接口必须通过实现被使用实现方法:抽象类不仅可以提供抽象方法,也可以提供实现方法接口只能提供抽象方法,不能提供实现方法。 但是在JAVA8版本开始,接口可以提供实现方法了,前提是要在方法前加一个default修饰符
-
Error和Exception都实现了Throwable接口Error指的是JVM层面的错误,比如内存不足OutOfMemoryErrorException 指的是代码逻辑的异常,比如下标越界OutOfIndexException
-
Overload是方法重载的意思,指的是在同一个类里面,方法名一样,但是参数不一样Override是方法重写的意思,指的是子类继承了父类的某个方法后,重新又写了一遍Overloaded的方法是否可以改变返回值的类型?可以,重载其实本质上就是完全不同的方法,只是恰好取了相同的名字
-
finalfinal修饰类,方法,基本类型变量,引用的时候分别有不同的意思修饰类 表示该类不能被继承修饰方法 表示该方法不能被重写修饰基本类型变量 表示该变量只能被赋值一次修饰引用 表示该引用只有一次指向对象的机会finallyfinally 是用于异常处理的场面,无论是否有异常抛出,都会执行finalizefinalize是Object的方法,所有类都继承了该方法。 当一个对象满足垃圾回收的条件,并且被回收的时候,其finalize()方法就会被调用
-
HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式区别1:HashMap可以存放 Hashtable不能存放区别2:HashMap不是线程安全的类Hashtable是线程安全的类
-
& 有两个作用,分别是 位与 和 逻辑与&& 就是逻辑与作为逻辑与, & 和 && 分别表示长路与和短路与长路与 两侧,都会被运算短路与 只要第一个是false,第二个就不进行运算了