Java八股
零碎八股小知识点整理
Zhao_yani
彼方尚有荣光在
展开
-
ConcurrentHashMap底层的数据结构以及怎么实现线程安全?
在JDK1.7中ConcurrentHashMap采用分段锁的技术将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中的一段数据时,其他段的数据也能被其他线程访问,能够实现真正的并发访问。如果不为空,则使用Synchronized加锁,只让一个线程操作,然后遍历桶中的数据,并替换或新增节点到桶中,最后再判断是否需要转化为红黑树,就能保证并发访问的线程安全。当链表的长度大于8,并且数组的长度大于64的时候,链表就会升级为红黑树结构。的数据结构,而数组又分为大数组。原创 2024-07-29 12:03:44 · 568 阅读 · 0 评论 -
1.final、finally、finalize的区别
被final修饰的类不能被继承;被final修饰的方法不能被重写,JVM会尝试将其内联以提高运行效率;被final修饰的变量不能被改变,如果修饰引用,那么表示引用不可变,引用指向的内容可变;被final修饰的常量,在编译阶段会被存入常量池。是Object类提供的一个方法,用于对象被垃圾收集之前的特定资源回收。由JVM进行调用,并不能确保何时会调用,也不能保证调用后一定有效。一般与try或try-catch连用,用于抛出异常,finally代码块内的语句无论是否发生异常都会执行,常用于一些流的关闭。原创 2024-06-28 14:08:29 · 243 阅读 · 0 评论 -
Mybatis与Mybatis_Plus的区别
(2)Mybatis_Plus相比与Mybatis提供了很多额外的功能,例如像条件构造器、代码生成器、分页插件、JSON处理器、枚举处理器等实用组件,使得开发者可以轻松快速完成业务逻辑的开发。(2)Mybatis_Plus是在Mybatis框架上的封装,只做增强不做改变,增强简化后的API更加方便进行开发,并且在性能、效率、易用性方面都有一定优化。(1)Mybatis的编程风格更加传统,需要定义mapper.xml文件,并根据传入的参数使用相应的SQL查询语句,需要实现Mybatis提供的各种方法;原创 2024-07-23 17:48:20 · 1164 阅读 · 0 评论