随笔分类 -  面试 / Java

java面试题分享
摘要:什么是幂等性: 幂等性是数学中的一个概念,后来被广泛用于计算机行业分布式系统中。表示多次请求和一次请求的结果相同。 举个例子:小杨在某电商平台购物,订单支付时手抖了一下,点了两次支付按钮。如果服务器没有做任何限制,那么就会触发两次支付操作,小杨的钱就被扣了两次,如果发生这种情况。客户被气死,平台被投 阅读全文
posted @ 2023-03-15 10:00 maoxianww 阅读(164) 评论(0) 推荐(0) 编辑
摘要:为什么要使用线程池? 线程池有一下优点: 线程在是非常宝贵的资源,使用线程池可以重复使用线程,避免频繁的创建和销毁线程所带来的系统损耗。 可以根据系统的具体情况调整线程池中的数量,避免创建太多线程将服务器资源耗尽。 创建线程池的参数有哪些? public ThreadPoolExecutor(int 阅读全文
posted @ 2023-03-14 12:44 maoxianww 阅读(58) 评论(0) 推荐(0) 编辑
摘要:什么是线程安全? 线程安全: 线程执行过程中不存在对共享资源的同时操作,则称为线程安全。 线程不安全: 多线程工作时同时操作共享资源,则称为线程不安全。 如何实现线程安全? 互斥同步 加锁:Syncronized、ReentrantLock 信号量:Semapher 互斥量:mutex 非阻塞同步 阅读全文
posted @ 2023-03-14 12:27 maoxianww 阅读(38) 评论(0) 推荐(0) 编辑
摘要:创建 使用Thread t = new Thread()创建的线程。 可运行状态 调用start()方法后,进入可运行状态,此时线程可以获取CPU的timeSlience时间片。 运行状态 线程获取到时间片后,进入运行状态。 Block状态 当线程调用Sleep()方法或者wait(),进入阻塞状态 阅读全文
posted @ 2023-03-13 12:57 maoxianww 阅读(16) 评论(0) 推荐(0) 编辑
摘要:底层数据结构不同。在Jdk1.7中,HashMap是基于数组+链表的形式实现。而在Jdk1.8中,是由数组+链表+红黑树的形式实现。 hashcode计算的复杂度不同。Jdk1.7中的hashCode计算大量运用了向右位移和异或运算,在Jdk1.8中做了简化调整。HashCode的计算复杂度代表着数 阅读全文
posted @ 2023-03-07 12:50 maoxianww 阅读(161) 评论(0) 推荐(0) 编辑
摘要:实现接口不同。两个都实现了List接口,LinkedList还实现了Deque接口。 底层实现不同。ArrayList是基于数组实现,LinkedList是基于链表实现。 效率存在差异。由于底层实现不同,ArrayList使用get(index)获取数据时,效率极高。但是如果使用添加或删除元素则会涉 阅读全文
posted @ 2023-03-07 12:38 maoxianww 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示