![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java面试题集合
向阳的葵花饼
这个作者很懒,什么都没留下…
展开
-
JVM 垃圾收集算法
1. 标记 - 清除算法算法思想算法分为 ”标记“ 和 ”清除“ 两个阶段:标记出所有需要回收的对象。在标记完成后统一回收掉所有被标记的对象。注:(标记过程)如果对象在进行根搜索后发现与GC Roots 相连接的引用链,那它将会被第一次标记并且进行一次筛选。筛选条件是此对象是否有必要执行 finalize() 方法。当对象没有覆盖 finalize() 方法,或者 fina...原创 2020-01-08 11:06:52 · 150 阅读 · 0 评论 -
对象已死?
堆中几乎存放着 Java 世界中所有的对象实例,垃圾收集器在对对进行回收前,第一件事情就是要确定这些对象哪些还 “存活“着,哪些已经”死去”。1. 引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它是,计数器值就加1,引用失效是,计数器值就减1,任何时刻计算器都为 0 的对象就是不可能再被使用的。但是 Java 语言中并没有引用计数算法来管理内存,因为它很难解决对象之间相互循环...原创 2020-01-08 01:01:02 · 183 阅读 · 0 评论 -
Java 字符串常量池
1. 概述1.1 Java 中有几种不同的常量池class常量池我们写到每一个 Java 类被编译后,就会形成一份 class 文件,class文件中除了包含类的版本、字段、方法、接口等信息外,还有一项信息就是常量池,用于存放编译器生成的各种 字面量和符号引用运行时常量池方法区的一部分用于存放class常量池中的内容字符串常量池JDK6.0及之前,字符串常量池存放在...原创 2020-01-07 22:53:44 · 148 阅读 · 0 评论 -
常见的排序算法
排序算法衡量排序算法的好坏主要从三个角度切入算法的执行效率最好、最坏和平均时间复杂度时间复杂度的系数、常数、低阶比较次数和交换次数算法的内存消耗算法的稳定性冒泡排序算法思想:冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就交换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序工...原创 2020-01-06 13:55:46 · 70 阅读 · 0 评论 -
Java 中的 final 关键字
Java 中的 final 关键字final关键字主要用在三个地方: 变量、方法、类1.修饰变量对于一个final变量:如果是基本数据类型的变量,其值一旦初始化,就不能修改final double PI = 3.14;PI = 3.1415;此时会报错:Error:(6, 9) java: 无法为最终变量PI分配值如果是引用类型的变量,对其初始化之后不能让其再指向...原创 2019-12-24 15:04:13 · 84 阅读 · 0 评论 -
Java 中的 protected 关键字
Java 中的 protected 关键字protected 关键字可以用来修饰方法和成员变量声明为protected 的方法和成员变量可以被同一个包内所有类访问声明为protected 的方法和成员变量可以被该类的子类所访问,即便子类和父类不在一个包中注:不在一个包中的子类,只能使用该子类中的引用来使用其父类的protected 成员,但是和父类在同一个包中的子类没有这个约束。 这样...原创 2019-12-22 23:38:34 · 939 阅读 · 0 评论 -
java面试题-重载和重写
java面试题-重载和重写重载和重写方法是java多态性的不同表现重载可以理解为多态的具体表现重写是父类与子类之间多态性的一种表现重载(overload)发生在同一个类中方法名必须相同参数类型不同、个数不同、顺序不同方法返回值和访问修饰符可以相同可以不同代码class Cat { public void miao () { System.out....原创 2019-12-16 22:20:40 · 220 阅读 · 0 评论