摘要: 什么是Lock 锁是一种工具,用于控制对共享资源的访问。 Lock 和 synchronized 作用相同,都可以实现线程安全的目的。 Lock 不会像 synchronized 一样在异常时自动释放锁。 Lock 锁的是锁对象本身 synchronized 的不足之处 效率低:锁的释放情况少、试图 阅读全文
posted @ 2022-11-03 00:19 追风少年潇歌 阅读(39) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal 是 Java 里一种特殊变量,它是一个线程级别变量,每个线程都有一个 ThreadLocal 就是每个线程都拥有了自己独立的一个变量,竞态条件被彻底消除了,在并发模式下是绝对安全的变量。 阅读全文
posted @ 2022-11-01 09:07 追风少年潇歌 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 我们通过线程池这种方式,创建固定数量的线程来执行任务,就能够使线程复用起来,加快响应速度,并且还合理利用CPU和内存,还统一管理。 阅读全文
posted @ 2022-10-24 23:20 追风少年潇歌 阅读(405) 评论(0) 推荐(1) 编辑
摘要: OpenFeign (以下统一简称为 Feign) 是 Netflix 开源的声明式 HTTP 客户端,集成了 Ribbon 的负载均衡、轮询算法和 RestTemplate 的 HTTP 调用等特性,并对其进行封装,使用者只需要在此基础上,定义一个接口,并在接口上标注一个 FeignClient ,便可以实现 HTTP 远程调用 阅读全文
posted @ 2022-09-06 08:59 追风少年潇歌 阅读(791) 评论(3) 推荐(3) 编辑
摘要: synchronized 同步代码块一般使用 Java 的 synchronized 关键字来实现,有两种方式对方法进行加锁操作;第一处,在方法签名处加 synchronized 关键字;第二,使用 synchronized(对象或类)进行同步。这里的原则是锁的范围尽可能小,锁的时间尽可能短,能锁对 阅读全文
posted @ 2022-09-04 22:44 追风少年潇歌 阅读(70) 评论(0) 推荐(0) 编辑
摘要: TCP 服务模型包括面向连接和可靠数据传输服务。当某个应用程序调用TCP作为其运输服务协议时,该应用程序就能获得来自TCP 的这两种服务。 阅读全文
posted @ 2022-09-04 22:43 追风少年潇歌 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 单例模式 定义:保证一个类有且仅有一个实例,并提供一个全局访问点 适用场景:想确保任何情况下都绝对只有一个实例 优点: 在内存里只有一个实例,减少了内存开销 可以避免对资源的多重占用 设置全局访问点,严格控制访问 缺点:没有接口,扩展困难 特点: 私有构造器(即被 private 修饰构造方法) 线 阅读全文
posted @ 2022-03-16 17:08 追风少年潇歌 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 并发是指某个时间段内,多个任务交替执行的能力。 CPU 把可执行时间均匀地分成若干份,每个进程执行一段时间后,记录当前的工作状态,释放当前的执行资源并进入等待状态,让其他进程抢占 CPU 资源。并行是指同时处理多任务的能力。目前, CPU 已经发展为多核,可以同时执行多个互不依赖的指令及执行块。 阅读全文
posted @ 2022-01-04 10:14 追风少年潇歌 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 概述 ​ 虚拟机把描述类的数据从 Class 文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,就是虚拟机的类加载机制。 ​ 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然增加了类加载时系统额外的开销,但是能给 阅读全文
posted @ 2021-10-24 21:02 追风少年潇歌 阅读(254) 评论(0) 推荐(1) 编辑
摘要: Java 会对内存进行自动分配与回收管理,使上层业务更加安全,方便地使用内存实现程序逻辑。在不同的 JVM 实现及不同的回收机制中,堆内存的划分方式是不一样的。 阅读全文
posted @ 2021-10-18 10:06 追风少年潇歌 阅读(245) 评论(0) 推荐(1) 编辑