2022-09-19
在当今的互联网业界,为了最大程度利用CPU的多核性能,并行运算的能力是不可或缺的。通过线程池管理线程获取并发性是一个非常基础的操作,让我们来看两个典型的使用线程池获取并发性的场景。
业务场景场景1:快速响应用户请求描述:用户发起的实时请求,服务追求响应时间。比如说用户要查看一个商品的信息,那么我们需要将商品维度的一系列信息如商品的价格、优惠、库存、图片等等聚...
阅读全文
2022-09-19
随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。
带着BAT大厂的面试问题去理解线程池连环17问
为什么要有线程池?
Java...
阅读全文
2022-08-31
SpringBoot核心组件starter官方提供的starter是这样的:spring-boot-starter-xxx非官方的starter是这样的:xxx-spring-boot-starter
autoconfigureCLIactuatorSpringBoot集成SpringBoot集成SpringMVCSpringBoot集成mybatisSpr...
阅读全文
2022-08-31
https://blog.csdn.net/weixin_48321993/article/details/125422511https://blog.csdn.net/weixin_48321993/article/details/126027770
Web容器基础认知如何实现服务器和浏览器的交互客户端和服务器端之间的交互式通过Socket来实现的,它属于...
阅读全文
2022-08-19
理论基础
多线程的出现是要解决什么问题的?
线程不安全是指什么? 举例说明
并发出现线程不安全的本质什么? 可见性,原子性和有序性。
Java是怎么解决并发问题的? 3个关键字,JMM和8个Happens-Before
线程安全是不是非真即假? 不是
线程安全有哪些实现思路?
如何理解并发和并行的区别?
为什么需要多线程CPU、内存、I/O 设备的速度是有...
阅读全文
2022-08-05
build.gradleplugin.xmlactionapplicationServiceapplicationConfigurabletoolWindow
阅读全文
2022-06-29
Object类是一切类的超类,在类继承的树形结构上,Object是所有类的根节点。所有的对象,包括数据,都继承了Object类的方法。
registerNatives1234private static native void registerNatives();static { registerNatives();}
getC...
阅读全文
2022-06-28
HashMap 1.7及以前,底层数据结构使用 [数组+链表],1.8 后使用 [数组+链表/红黑树] ,使用数组存储元素是因为查找快,链表是为了解决哈希冲突存在的,而红黑树是为了解决链表中查询速度慢对链表进行优化的一种数据结构。
HashMap 是非线程安全的,如果需要线程安全,使用 ConcurrentHashMap 或者 Collections.syn...
阅读全文