java面试题
文章平均质量分 57
羡云不羡君
这个作者很懒,什么都没留下…
展开
-
JDK、JRE、JVM之间的区别
我们写Java代码,用txt就可以写,但是写出来的Java代码,想要运行,需要先编译成字节码文件,那就需要编译器,而JDK中就包含了编译器javac,编译之后的字节码,想要运行,就需要一个可执行的的字节码的程序,这个程序就是JVM,专门用来执行Java字节码文件。另外,JVM在执行Java字节码时,需要把字节码解释为机器指令,而不同的操作系统的机器指令可能是不一样的,所以就导致了不同操作系统上的JVM是不一样的,所以我们在安装JDK时需要选择操作系统。JDK中包含了JRE,JRE中包含了JVM。原创 2022-10-01 19:49:41 · 601 阅读 · 0 评论 -
ThreadLocal
1. ThreadLocal是Java中所提供的线程本地存储机制,可以利用该机制将数据缓存在某个线程的内部,该线程可以在任意时刻、任意方法中获取缓存的数据2. ThreadLocal底层是通过ThreadLocalMap来实现的,每个Thread对象(注意不是ThreadLocal对象)中都存在一个ThreadLocalMap,Map的Key为ThreadLocal对象,map的value为需要缓存的值。原创 2022-09-24 18:54:21 · 957 阅读 · 0 评论 -
面试之HashMap
1.初始大小:HashMap默认初始大小是16,这个默认值是可以设置的,如果事先知道大概的数据量有多大,可以通过修改默认初始大小,减少动态扩容的次数,这样会大大提高HashMap的性能2.动态扩容:最大 装载因子默认是0.75,当HashMap中元素个数超过0.75*capacity(表示hashmap中元素的个数)的时候。就会启动扩容,每次扩容都会扩容为原来的两倍大小。3.原创 2022-09-23 19:38:11 · 320 阅读 · 0 评论