Java面试题--内存
来源:互联网 发布:北京幼儿园 知乎 编辑:程序博客网 时间:2024/06/07 13:50
Java 基本概念面试题
1)“a==b”和”a.equals(b)”有什么区别?(答案)
如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当 a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。
2)a.hashCode() 有什么用?与 a.equals(b) 有什么关系?(答案)
hashCode() 方法是相应对象整型的 hash 值。它常用于基于 hash 的集合类,如 Hashtable、HashMap、LinkedHashMap等等。它与 equals() 方法关系特别紧密。根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code。
3)final、finalize 和 finally 的不同之处?(答案)
final 是一个修饰符,可以修饰变量、方法和类。如果 final 修饰变量,意味着该变量的值在初始化后不能被改变。finalize 方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用 finalize 没有保证。finally 是一个关键字,与 try 和 catch 一起用于异常的处理。finally 块一定会被执行,无论在 try 块中是否有发生异常。
4)Java 中的编译期常量是什么?使用它又什么风险?
公共静态不可变(public static final )变量也就是我们所说的编译期常量,这里的 public 可选的。实际上这些变量在编译时会被替换掉,因为编译器知道这些变量的值,并且知道这些变量在运行时不能改变。这种方式存在的一个问题是你使用了一个内部的或第三方库中的公有编译时常量,但是这个值后面被其他人改变了,但是你的客户端仍然在使用老的值,甚至你已经部署了一个新的jar。为了避免这种情况,当你在更新依赖 JAR 文件时,确保重新编译你的程序。
- Java面试题--内存
- JAVA中内存面试题
- Java内存管理常见面试题
- (面试题)Java中的内存泄露
- 内存管理面试题
- 内存管理面试题
- 关于面试题java内存泄漏想到的(1)
- 关于面试题java内存泄漏想到的(2)
- 关于面试题java内存泄漏想到的(3)
- java是否存在内存泄露(面试题之一)
- 几个关于Java内存泄露方面的面试题
- 常规面试题-7.JAVA平台和内存管理
- 从面试题i = i++; 了解java内存模型
- 内存面试题(一)
- 关于内存的面试题
- 操作系统--面试题/内存管理
- Java面试题-朋友的面试题
- java 阿里面试题 百度面试题 CVTE面试题
- 第十周项目3——警察和厨师1
- 283. Move Zeroes [easy] (Python)
- String——substring-with-concatenation-of-all-words(模式匹配变型)
- sql 去重
- double 如何转为 long
- Java面试题--内存
- springMVC @ModelAttribute学习
- PAT甲级 A1025.PAT RANKING
- 自制水晶按钮
- 7.34Unix卸载oracle
- OK6410 SDIO WIFI开机自启做热点(局域网)
- android应用实现重启系统
- 推荐个Jquery颜色选择控件 jquery colpick..用来设置背景不错。
- LNMP环境搭建精华