Java基础(四)

1.java 垃圾回收的目的?什么时候回收?
(1)垃圾回收是为了识别不再使用的对象来释放和重用资源.
(2)回收时间:在没有引用对象或超出作用域的对象时进行
2.垃圾回收的对象
长期未被引用的对象或超出作用域的对象
3.java堆的结构是什么样子的?什么是对的永久代?
(1)Jvm的堆是运行时数据区所有类的实例化对象和数组都是在堆上分配内存,它在Jvm启动时创建
(2)永久代用于存放静态文件,如Java类,方法等,永久代中垃圾回收机制没有显著影响。永久代中一般包含类的方法,类名;以及从.Class文件读取的信息。
4.java 的两种异常类型?
受检查异常(checked):必须用throws语句在方法或构造函数上声明
不受检查异常(unchecked)
5.JVM调优
说一下 JVM 调优的工具?

JDK 自带了很多监控工具,都位于 JDK 的 bin 目录下,其中最常用的是 jconsole 和 jvisualvm 这两款视图监控工具。

jconsole:用于对 JVM 中的内存、线程和类等进行监控;
jvisualvm:JDK 自带的全能分析工具,可以分析:内存快照、线程快照、程序死锁、监控内存的变化、gc 变化等。

常用的 JVM 调优的参数都有哪些?

-Xms2g:初始化推大小为 2g;
-Xmx2g:堆最大内存为 2g;
-XX:NewRatio=4:设置年轻的和老年代的内存比例为 1:4;
-XX:SurvivorRatio=8:设置新生代 Eden 和 Survivor 比例为 8:2;
–XX:+UseParNewGC:指定使用 ParNew + Serial Old 垃圾回收器组合;
-XX:+UseParallelOldGC:指定使用 ParNew + ParNew Old 垃圾回收器组合;
-XX:+UseConcMarkSweepGC:指定使用 CMS + Serial Old 垃圾回收器组合;
-XX:+PrintGC:开启打印 gc 信息;
-XX:+PrintGCDetails:打印 gc 详细信息。

6.什么是JDBC?
JDBC是允许用户在不同数据库检选择的一个抽象层,JDBC允许开发者用java写数据库应用程序操作数据库,而不要用关心底层特定数据库的细节。
7.Class.forName ()的作用
初始化参数所对应的类,并创建参数所对应的类的Class对象
8.paredStatement比Statement有什么优势
.paredStatement是预编译的,性能会更好。
9.为什么要用克隆?如何实现对象克隆
(1)Java中的对象拷贝是将一个对象的所有属性拷贝到另一个有着相同类型的对象中。主要是为了在新的上下文环境中复用现有对象的部分或全部数据
(2)对象拷贝分为:浅拷贝和深拷贝
10.浅拷贝和深拷贝的区别
(1)浅拷贝只应用于成员变量全是基本类型的对象,对拷贝对象的操作会改变原对象的值
(2)深拷贝可以应用于成员变量是对象的对象,深拷贝完全复制了元对象的属性。对拷贝对象的操作不会改变原对象的值
11.Java序列化
对象序列化机制是Java语言内建的一种对象持久化方式,通过对象序列化可以把对象的状态信息保存为字节数组,在需要的时候将这个字符数组通过反序列化的方式转化为对象,对象序列化可以很容易的在字符数组与JVM活动对象之间转换。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值