Java个人知识盲区总结[+面试题](待完善)

1.java中的字符串常量池,JVM的什么地方?

JDK7之前,类似于字符串常量池等等常量数据都是存储方法区(Method Area),也被叫做永久代
JDK7开始去永久代,将字符串常量池等等常量数据存储到堆内里。
JDK8,元数据区(Metaspace),将1.6其他一些存储在方法区的数据,挪到了元数据区中,
字符串常量池并没有被挪回去
言外之意:java从jdk7,字符串常量池存储在heap中,jdk之前是存储在永久代中

2.final、finally、finalize()三者的区别?

在这里插入图片描述finally
提到finally,那么try-catch就逃不掉了。finally 则是Java保证重点代码一定要被执行的一种机制。最常用的地方:通过try-catch-finally来进行类似资源释放、保证解锁等动作

finalize
设计之初的作用就是:在CG要回收某个对象时,让这个对象有底气的大喊一声:“报告,我还能再抢救一下!”。但是也正是因为如此,JVM要对它进行额外处理。finalize也就成为了CG回收的阻碍者,也就会导致这个对象经过多个垃圾收集周期才能被回收。

3.值传递和引用传递

参考博文:
Java 是值传递还是引用传递

4.Object类

参考博文:
Object类

5.三个print区别

print()
输出不换行

println()
输出换行

pringtf()
可以在输出的时候进行格式化,不换行

参考博文:
Java中print、printf、println的区别

6.toString()的方法的作用

2021.7.29:
主要是用于格式化对象的输出

参考博客:
传送门

7.面试题:ArrayList与LinkedList的区别

1. 对于随机访问,ArrayList要优于LinkedList。
2. 对于插入和删除操作,LinkedList优于ArrayList。
在这里插入图片描述图片传送门

8.什么是贪心算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值