暂无搜索历史
这里需要先澄清一个关键点:JVM 内存结构(JVM Memory Structure) 和 Java 内存模型(Java Memory Model, JMM) ...
Redisson 不仅仅是一个 Redis 客户端,它更是一个在 Redis 基础上实现的 Java 驻内存数据网格(In-Memory Data Grid)。...
首先,我们必须明确一个核心观点:在分布式环境下,要实现强一致性(在任何时刻读取的数据都是最新的)是极其困难且代价高昂的,通常会严重牺牲性能。因此,在实践中,我们...
核心思想: 线程池是一种基于“池化”思想来管理线程的工具。它预先创建好一定数量的线程,放入一个“池子”中,当有任务需要执行时,就从池子中取出一个空闲线程来执行任...
AQS,全称 AbstractQueuedSynchronizer,即抽象队列同步器。
在某些场景下(例如使用集合类 ArrayList, HashMap),我们必须使用引用类型,因为集合只能存储对象。这就产生了在基本类型和其对应的包装类对象之间转...
类加载是指Java虚拟机(JVM)将类的.class文件中的二进制数据读入内存,并将其转换为运行时数据区中的方法区里的数据结构,最终在堆中创建一个代表该类的 j...
"Java 的泛型是伪泛型"这句话,其实是指 Java 的泛型实现方式 与 “真正的泛型”(如 C++ 模板、C# 的泛型)相比,并不是在运行时保留类型信息,而...
ThreadLocal是为了解决对象不能被多线程共享访问的问题,通过 threadLocal.set() 方法将对象实例保存在每个线程自己所拥有的 thread...
首先,动态代理是代理模式的一种实现方式,代理模式除了动态代理还有 静态代理,只不过静态代理能够在编译时期确定类的执行对象,而动态代理只有在运行时才能够确定执行对...
synchronized是Java内建的同步机制,所以也有人称其为Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其...
final可以用来修饰类、方法、变量,分别有不同的意义,final修饰的class代表不可以继承扩展,final的变量是不可以修改的,而final的方法也是不可...
在jdk1.7中是采用Segment + HashEntry + ReentrantLock的方式进行实现的,而1.8中放弃了Segment臃肿的设计,取而代之...
可以用 git reset -p,git checkout -p,or git add -p 进入交互模式。 也可以跳过暂存区域直接从仓库取出文件或者直接提交...
一般常说某某类是线程安全的,某某是非线程安全的。其实线程安全并不是一个“非黑即白”单项选择题。 按照“线程安全”的安全程度由强到弱来排序,可以将java语言中...
关于一致性Hash算法的具体原理: 先构造一个长度为232的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[0, 232-1])将...
1、使用 InputStreamReader 和 StringBuilder (JDK)
(String)是标准的类型转换,将Object类型转为String类型,使用(String)强转时,最好使用instanceof做一个类型检查,以判断是否可以...
熟悉接口开发的同学一定知道,能将数据对象很轻松的实现多平台之间的通信、对象持久化存储,序列化和反序列化是一种非常有效的手段,例如如下应用场景,对象必须 100%...
使用 = 的时候,其实是引用的拷贝。 多个引用指向的其实是同一个对象。 上面的例子中 ArrayList<Integer> list = new ArrayLi...
暂未填写公司和职称
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市