• Java面试题总结(二)



    目录:

    1.String、StringBuffer、StringBuilder区别以及使用场景?

    2.怎样去声明一个类不会被继承,什么场景下使用?

    3.自定义异常在生产中是如何使用的?

    4.ABA问题?

    5.Class初始化过程是什么?

    6.ConcurrentHashMap底层原理是什么?

    7.GC 如何判断对象可以被接受?

    8.Java类加载器有哪些?

    9.JVM8为什么要增加元空间?

    10.jvm有哪些垃圾回收器?实际中如何选择?

    12.程序适合开多少线程?

    13.创建线程的方式有哪些?

    14.线程的声明周期和状态?

    15.如何预防死锁?

    16.内存溢出的原因有哪些?,如何排查线上问题?

    17.什么是守护线程? 

    18.什么是字节码?以及它的组成?

    19. 双亲委派机制是什么?

    20.为什么要使用线程池?


    1.String、StringBuffer、StringBuilder区别以及使用场景?

    2.怎样去声明一个类不会被继承,什么场景下使用?

     

     比如Math类:

      

     构造器被private修饰,那么这个Math类就不能再外界构造对象了,但是它的属性方法都加了一个static来修饰,那么就可以通过类名.方法名(类名.属性名)的方式来调用,根本不用借助对象了,这个Math类的设计是非常巧妙的

     3.自定义异常在生产中是如何使用的?

    4.ABA问题?

     

     

     5.Class初始化过程是什么?

     

    6.ConcurrentHashMap底层原理是什么?

     

     

     

    7.GC 如何判断对象可以被接受?

     

     

     

    8.Java类加载器有哪些?

     

     9.JVM8为什么要增加元空间?

     

     

     

     10.jvm有哪些垃圾回收器?实际中如何选择?

     

     

     

     

     

     

     11.synchoronized和lock有啥区别?

     

    12.程序适合开多少线程?

     

     13.创建线程的方式有哪些?

     

     

     

     

     

     

     14.线程的声明周期和状态?

     

     15.如何预防死锁?

     

     16.内存溢出的原因有哪些?,如何排查线上问题?

     

     
     17.什么是守护线程? 

    18.什么是字节码?以及它的组成?

     

     

     

     

    19. 双亲委派机制是什么? 

     

     

     

    20.为什么要使用线程池?

     

     21.线程的sleep、wait、join、yield如何使用?

     

     

     

     

     

     

     

  • 相关阅读:
    2022年最新蚂蚁金服 Java 高级岗 2000+ 面试通关秘籍,就这水平
    华为数通安全产品介绍
    掌握JavaScript中的迭代器和生成器,顺便了解一下async、await的原理
    MySQL:03-高级查询
    梅科尔工作室-华为14天鸿蒙设备开发实战笔记四
    USACO Training 1.4 Mixing Milk
    RocketMQ 消息投递解析—— 时序图、调用链、源码级解析
    详细分析PBot挖矿病毒家族行为和所利用漏洞原理,提供蓝军详细防护建议
    彻底搞懂kubernetes调度框架与插件
    0 杂项知识
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/126908510