首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
jdk
订阅
周庄丶双桥
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
如何判断一个元素在亿级数据中是否存在?
需求其实很清晰,只是要判断一个数据是否存在即可。 但这里有一个比较重要的前提:非常庞大的数据。 我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。 写入和判断元素是否存在都有对应的 API,所以实现起来也比较简单。 为了方便调试加入了 GC 日…
一声叹息,jdk竟然有4个random
更多精彩文章。 我们从jdk8说起。主要是四个随机数生成器。神马?有四个? 接下来我们简单说下这几个类的使用场景,来了解其中的细微差别,和api设计者的良苦用心。 最常用的就是Random。 用来生成伪随机数,默认使用48位种子、线性同余公式进行修改。我们可以通过构造器传入初始…
2万字Java并发编程面试题合集(含答案,建议收藏)
15、什么是 FutureTask?使用 ExecutorService 启动任务。 java 中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法 Thread.setDaemon(boolon);true 则把…
面试必备:ThreadLocal原理解析[精品长文]
ThreadLocal提供了一种访问某个变量的特殊方式:访问到的变量属于当前线程,即保证每个线程的变量不一样,而同一个线程在任何地方拿到的变量都是一致的,这就是所谓的线程隔离。 如果要使用ThreadLocal,通常定义为private static类型,在我看来最好是定义为p…
200行Java代码实现依赖注入框架
依赖注入框架并不神秘,其实它是非常简单的东西。不要去看spring的依赖注入源码,因为你只要一去看就意味着你再也写不敢下手自己撸了,它的功能因为过于强大,所以设计也过于复杂,普通程序员一眼看去只能望洋兴叹。 我也并没有去细致阅读spring源码。即便如此也只用了半天的时间便自己…
微服务不是全部,只是特定领域的子集
更多精彩文章。 大家都在学SpringCloud,貌似学会了SC就牛逼哄哄,感觉不得了的样子。但微服务,在整个企业级应用中,只占了一小部分。微服务引入的问题比解决的问题还要多,你会遇到各种各样的bottleneck。 微服务解决的是计算节点的问题,然而根源却在存储节点。当业务规…
JVM源码分析之堆外内存(直接内存)
内存对象分配在JVM中堆以外的内存,也可以称为直接内存,这些内存直接受操作系统管理(而不是JVM),这样做的好处是能够在一定程度上减少垃圾回收对应用程序造成的影响。一般我们使用Unsafe和NIO包下ByteBuffer来创建堆外内存。 使用堆外内存的话,堆外内存是直接受操作系…
「每日五分钟,玩转JVM」:JVM简介
JVM,一个熟悉又陌生的名词,从认识Java的第一天起,我们就会听到这个名字,在参加工作的前一两年,面试的时候还会经常被问到JDK,JRE,JVM这三者的区别。 JVM可以说和我们是老朋友了,但是在工作中的应用场景也许不如那些框架,但是在关键时候还是得靠它去搞定问题,俗话说得好…