清欢渡-编程社-第173页
清欢渡的头像-编程社
管理员
但愿日子清净,抬头遇见的都是柔情!
jdk动态代理和cglib的区别-编程社

jdk动态代理和cglib的区别

JDK代理只能对实现接口的类生成代理;CGLib是针对类实现代理,对指定的类生成一个子类,并覆盖其中的方法,这种通过继承类的实现方式,不能代理final修饰的类。 JDK代理使用的是反射机制实现aop...
HashMap的扩容机制-编程社

HashMap的扩容机制

hashMap默认的负载因子是0.75,即如果hashmap中的元素个数超过了总容量75%,则会触发扩容,扩容分为两个步骤: 第1步是对哈希表长度的扩展(2倍) 第2步是将旧哈希表中的数据放到新的哈希表中。...
Java为什么既是编译型也是解释型的?-编程社

Java为什么既是编译型也是解释型的?

首先在Java经过编译之后生成字节码文件,接下来进入JVM中,就有两个步骤编译和解释。 如下图: 编译性: Java源代码首先被编译成字节码,JIT 会把编译过的机器码保存起来,以备下次使用。 解释性...
Java为什么是跨平台的?-编程社

Java为什么是跨平台的?

Java 能支持跨平台,主要依赖于 JVM 关系比较大。 JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码...
为什么数组查询的复杂度为O(1)?-编程社

为什么数组查询的复杂度为O(1)?

数组必须要内存中一块连续的空间,并且数组中必须存放相同的数据类型。 比如我们创建一个长度为10,数据类型为整型的数组,在内存中的地址是从1000开始,那么它在内存中的存储格式如下。 由于每...
什么是CPU、线程上下文-编程社

什么是CPU、线程上下文

任务是交给 CPU 运行的,那么在每个任务运行前,CPU 需要知道任务从哪里加载,又从哪里开始运行所以,操作系统需要事先帮 CPU 设置好 CPU 寄存器和程序计数器。 CPU 寄存器和程序计数是 CP...
Kafka丢消息的6种场景-编程社

Kafka丢消息的6种场景

我们使用 Kafka 的时候,怎样能保证不丢失消息呢?今天来聊一聊这个话题。 首先我们看一下 Kafka 的架构图 场景一:异步发送 Producer 异步发送是丢失消息比较多的场景,Kafka 异步发送的代码如...