首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
jdk
订阅
ReCtrl
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
CTO:再写if-else,逮着罚款1000!
本文并不肯定或者否定哪一种写法,仅仅为大家提供一些其他的编码思路或者一些值得借鉴的点子。设计更好的软件,替换If-Else的5种方法,从入门到高级示例If-Else通常是一个糟糕的选择,它导致设计复杂
谈线程池
一个ExecutorService ,它使用可能是多个池线程中的一个来执行每个提交的任务,通常使用Executors工厂方法对其进行配置。 线程池解决了两个不同的问题:由于减少了每个任务的调用开销,它们通常在执行大量异步任务时提供改进的性能,并且它们提供了一种绑定和管理资源(包…
高性能解决线程饥饿的利器 StampedLock
概览在JDK1.8引入StampedLock,可以理解为对ReentrantReadWriteLock在某些方面的增强,在原先读写锁的基础上新增了一种叫乐观读(OptimisticReading)的模
同事有话说:ThreadPoolExecutor是怎么回收线程的
我勤学好问的同事最近又扔给我一连串ba问gu题wen,其中有一个是关于ThreadPoolExecutor线程池的:ThreadPoolExecutor是怎么回收线程的?基于 "Talk is cheap, show me the code." 的基本原则,我们直接翻一下Thr…
灵魂发问!线程池到底创建多少线程比较合理?
虽然线程池的模型被剖析的非常清晰,但是如何最高性能地使用线程池一直是一个令人纠结的问题,其中最主要的问题就是如何决定线程池的大小。这篇文章会以量化测试的方式分析:何种情况线程池应该使用多少线程数。 大多数刚接触线程池的人会认为有一个准确的值作为线程数能让线程池适用在程序的各个地…
Java数据类型系列之HashSet(12)
一. HashSet初识 1. HashSet 构造方法 通过对下面的源码进行阅读和对类注释的理解,我们发现了HashSet就TM是一个皮包公司,它就对外接活儿,活儿接到了就直接扔给HashMap处理了。因为底层是通过HashMap实现的,这里简单提一下: HashMap的数据…
Java数据类型系列之 String的不可变性(5)
其实前面的文章里提到了不可变性,也说到了不可变的实现方式,可以看Java数据类型—String基础 其实看到这个名字大家就知道这个事情就没有完,因为我还会写String 进阶和String 实战和优化系列。 这里我们先看一下不可变性的定义是什么,这意味着一旦创建了一个字符串对象…
Java数据类型系列之LinkedDeque(23)
Deque一个线性 collection,支持在两端插入和移除元素。 我们看到List ,Set 和 Queue 都是Java 集合框架的顶级接口,虽然我们今天学习的Deque 是基于LinkedList 实现的,但是为了方便理解和梳理整个集合框架我们还是将其划分到Queue …
面试官:如何用LinkedHashMap实现LRU
上一篇文章分析了HashMap的原理,有网友留言想看LinkedHashMap分析,今天它来了。 LinkedHashMap是HashMap的子类,在原有HashMap数据结构的基础上,它还维护着一个双向链表链接所有entry,这个链表定义了迭代顺序,通常是数据插入的顺序。 也…
Java中创建线程的几种主流方式
Runnable类型的参数和Callable类型的参数不同之处在于Runnable 接口的 run() 方法是没有返回值的,所以 submit(Runnable task)这个方法返回的 Future 仅可以用来断言任务已经结束了,类似于 Thread.join()。 而Cal…