回到主页

FengLeticia

What else can I do ?

技术笔记

10 篇公开文章

关于并发、并发安全、线程通信的浅谈 (Loading······)

关于并发、并发安全、线程通信的浅谈 该笔记将会从并发的基础概念、Java中线程实现和管理、线程安全(JVM级别上下文切换线程安全、变量级别线程安全、代码块级别线程安全、分布式服务并发安全)、常见的线程优化进行介绍。笔记本身会比较长,阅读前请注意。 版本信息 JAVA源码版本:17 / 21 JVM源码: Hotpot Curator: 5.3.0 Redisson:3.36.0 <font col

阅读全文 ↗

JVM及扩展内容介绍

JVM 总的来说,其实JVM包含有JVM内存模型-运行时数据区(Runtime Data Area)、类加载器(ClassLoader)、执行引擎(Execution Enginee)、本地接口(Native Interface)、本地库(Native Libararies) 介绍JVM的时候,其实可以展开为:内存模型、GC回收器、性能调优、双亲委派模型、内部机制 [ 公共表达式处理、JMM AO

阅读全文 ↗

GC回收器深入深出

垃圾回收的困境 在早期的JVM回收之中,为了避免出现应该回收的对象没有被回收,不应该被回收的对象(重新被引用)被回收了的情况,往往整个垃圾回收都需要跑在安全点下,也就是所谓的SafePiont。而想要出现所谓的SafePoint出现,那么整个程序本身不能做任何操作,那么这个时间点对于程序来说就好像时停了一样,这个时间段就被称为STW。 稍微一想就知道,STW对于程序的响应速度来说,明显是坏的,越长

阅读全文 ↗

多线程使用 - Async+CompletableFuture

多线程 Async ​ @Async(value = "指定自定义Bean线程池") [根据不同的业务可以使用不同的线程池来做异步处理] ​ 如果不指明使用的线程池,在SpringBoot 2.1.0之前默认使用的是SimpleAsyncTaskExecutor [一次性的异步执行器] 会随着请求数量的增加创建越来越多的线程,没有线程管理、也没有任务队列,很容易就会导致OOM(类似于直接通过Exe

阅读全文 ↗

常见的设计模式

概述 本笔记主要记载笔者自身比较常见的设计模式。如果要查其他的请自行跳转搜索引擎。 该笔记目前包含以下设计模式的介绍: 创建型的:单例、原型、工厂(简单工厂、工厂方法、抽象工厂) 结构性的:代理、外观 行为型的:责任链、迭代器、模板、策略 创建型模式 单例模式 单例模式的核心是保证在程序之中唯一的创建单个对象提供使用。总所周知,Java之中创建对象的方式有四种:1.new、2.clone、3.反射

阅读全文 ↗

枚举类

概述 ​ 枚举类就是Java之中一种特殊的类,它具有固定的实例数量,在编译阶段就已经固定,而无法在运行阶段改变的类,并且枚举类往往会只具有一些固定的取值,所以往往很适合充当状态码类型的类。然而因为枚举类的特殊性,所以枚举类除了以上的描述以外还在单例模式的创建下有着重要的作用(最好的单例模式实现方法) 解析 ​ 对于枚举类的解析直接看下图代码和执行结果即可。 enum SampleEnum impl

阅读全文 ↗

指令重排

概述 ​ 简单的来说就是,出于硬件执行效率方面的考虑,为了进一步提升软件的执行效率,使其更快的将我们的程序执行完毕,除了我们自身代码的编写以外,在执行之前还会将我们程序之中的执行重新打散,将不需要注意数据依赖之间的代码的执行顺序重新打乱(以结果最快的方式来执行),而也因此会导致我们的程序执行和我们所想不一致。 例子 ​ 为了方便理解,这里引入更加具体的例子来帮助理解。(仅提供程序方面的示例作为例子

阅读全文 ↗

Optional的使用

Optional判空 首先需要记住Optional的一些方法 第一批方法:产生Optional对象的方法empty()、of(obj)、ofNullable(obj) empty() 创建一个空的Optional (如果是空) Optional <Object> empty = Optional.empty(); of() 创建一个非空的Optional,如果传入的参数是null则抛出NullPo

阅读全文 ↗

SkipList-跳表

跳表 SkipList 为什么会有跳表结构? 我们都知道实际上在做AVL(平衡二叉树)为了要保证平衡的效果往往会需要将树结构不断的做调整 (左旋、右旋等等,当然我们还知道这衍生出红黑树这种较高明的妥协产物),这种调整如果不遵循值递增等特殊的处理,往往会消耗大量的资源来做调整保证平衡效果维持log₂N的查询效率。但实际使用时候,自然的不可能说每一个场景都这么完美符合递增的效果,在这种情况下,跳表就诞

阅读全文 ↗

来点音乐?

Stay Alive
Stay Alive
00:00 / 00:00
你好,欢迎来看看。
当前分区暂无公开文章。