Java语言相关知识点,面试中鲜有人能说明白的问题

1. gc?如何控制gc?编程时需要注意些什么?
   gc无法控制,就算写finalize()方法也没用.不要频繁new,能复用的要复用,包括使用static
2. final如何使用?何时需要使用?用final修饰的变量能不能改变?
   修饰类,修饰方法,修饰变量,基本类型不能改变值,对象类型不能改成其他对象,但能改变该对象的内容
3. java中socket的使用,如何非阻塞?
   nio相关
4. jni相关,何时需要用jni?
   本地接口,要求效率,java无法实现时,我的感觉是需要释放内存时,可以自己控制内存
5. 内部类相关
   好多种内部类,内部类在vm中是如何实现的,非static内部类可以使用外部类对象的任何成员,因为内部类保有外部类对象的句柄(handle)
   static内部类基本只是一个访问权限的问题
   非static内部类(局部,如在函数中定义),使用局部变量时,局部变量需要使用final修饰,拷了一个局部变量的handle进去,用final修饰改局部变量,保证内部类使用时与外部使用同一个值(基本类型)或者对象
6. 线程相关
7. 容器类相关注意,list,array,map
8. 数据类型,基本类型及其他,handle,object,内存问题
   基本类型不在堆上
   所有的object都是在堆上,需要用new来产生,而且无法主动回收
9. String类相关
   String对象是不可变的,变的假象是新产生的String对象,如果要变,可以使用StringBuilder,StringBuffer(线程安全,重量级)

10.包,访问权限控制

并推荐Java程序员仔细阅读的经典Java书籍:《core java》《thinking in java》(所有的thinking系列的书好像都较难)

或许这是一个C、C++程序员眼中的java的关键点,但相信的是,这些内容不能理解的很透,那就无法写出高质量的java代码


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值