面试题
cxy66855
这个作者很懒,什么都没留下…
展开
-
说一下线程池的核心参数以及工作流程
设计等待队列是为了避免线程池中的所有线程都处于忙碌状态,导致新的任务无法得到及时的处理。通过等待队列,可以将任务存储在队列中等待执行,保证了任务的及时处理。当然,如果任务队列设置的太小,则会快速填满队列,导致新任务被拒绝,因此需要根据实际业务情况合理设置队列的大小。如果任务是CPU密集型的,可以设置核心线程数等于CPU核心数,以尽量利用系统的处理能力。通过自定义线程池的参数,可以根据业务需求来灵活地控制线程池的大小、线程的存活时间、任务队列的大小等参数。:用来保存等待执行任务的队列。原创 2024-02-21 14:09:07 · 336 阅读 · 0 评论 -
${}和#{}的区别
${}和#{}的区别原创 2023-11-23 09:14:05 · 43 阅读 · 0 评论 -
mybatis和hibernate的本质区别和应用场景
mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全的ORM框架,虽然程序员自己写sql,mybatis 也可以实现映射(输入映射、输出映射)。入门门槛较高的,不需要程序员写sql,sql语句自动生成了。企业进行技术选型,以低成本高回报作为技术选型的原则,根据项目组的技术力量进行选择。适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。适用与需求变化较多的项目,比如:互联网项目(京东、淘宝)。原创 2023-11-23 09:15:44 · 80 阅读 · 0 评论 -
HashMap(数组+链表+红黑树)
HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,因而具有很快 的访问速度,但遍历顺序却是不确定的。根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话, 需要顺着链表一个个比较下去才能找到我们需要的,上图中,每个绿色 的实体是嵌套类 Entry 的实例,为了降低这部分的开销,在 Java8 中, 当链表中的元素超过了 8 个以后, 会将链表转换为红黑树,在这些位置进行查找的时候可以。原创 2023-11-09 18:26:40 · 179 阅读 · 1 评论 -
面试题:线程synchronized关键字
synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。原创 2023-11-03 14:24:07 · 32 阅读 · 0 评论 -
MySQL索引结构 B+Tree索引--B+Tree与B-Tree 的区别
从这个角度看B-树的性能好像要比B+树好,而在实际应用中却是B+树的性能要好些。因为B+树的非叶子节点不存放实际的数据,这样每个节点可容纳的元素个数比B-树多,树高比B-树小,这样带来的好处是减少磁盘访问次数。尽管B+树找到一个记录所需的比较次数要比B-树多,但是一次磁盘访问的时间相当于成百上千次内存比较的时间,因此实际中B+树的性能可能还会好些,而且B+树的叶子节点使用指针连接在一起,方便顺序遍历(例如查看一个目录下的所有文件,一个表中的所有记录等),这也是很多数据库和文件系统使用B+树的缘故。原创 2023-10-16 13:56:39 · 102 阅读 · 1 评论