实现原理-运行在编译期 常用注解 @Getter注解 /** * @Getter注解 * 为属性生成get方法 */public class GetterTest { @Getter( lazy = true ) private final String field1 = "zhangxiaoxi" ...
分类:
编程语言 时间:
2021-01-18 11:41:26
阅读次数:
0
搞清楚AQS独占锁的实现原理之后,再看共享锁的实现原理就会轻松很多。两种锁模式之间很多通用的地方本文只会简单说明一下,就不在赘述了 一、执行过程概述 获取锁的过程: 当线程调用acquireShared()申请获取锁资源时,如果成功,则进入临界区。 当获取锁失败时,则创建一个共享类型的节点并进入一个 ...
分类:
其他好文 时间:
2021-01-15 11:59:19
阅读次数:
0
日常项目中,使用注解@EnableAspectJAutoProxy @EnableAsync 这里面涉及对@Import注解支撑的底层原理:ConfigurationClassPostProcessor 这个类,说到这个类,我们要先从SpringBoot启动流程说起。 首先,看springboot启 ...
分类:
其他好文 时间:
2021-01-06 12:14:57
阅读次数:
0
本文的内容是如何通过二叉树实现一个最大堆, 实现原理方面参考了这篇文章. 一. 堆的数据结构 1. 数据结构分析 堆的本质就是一颗二叉树, 这颗二叉树必须具备以下两个性质: 1). 对于最大堆来说, 二叉树根节点的值不小于任何子节点, 其所有子树也符合这一特征, 最小堆则相反; 2). 堆是一颗完全 ...
分类:
编程语言 时间:
2021-01-06 11:45:46
阅读次数:
0
对于 ContentProvider 还不是很熟悉的同学,可以阅读上一篇 Android ContentProvider 基本原理和使用详解。本文主要是对 contentProvider 的源码进行分析,从而了解 ContentProvider 的实现原理。 本文分析基于 android 10 的源 ...
分类:
移动开发 时间:
2021-01-05 11:40:56
阅读次数:
0
源码剖析golang的数据库连接池实现,分析容易引起连接池工作异常的操作,引导正确使用连接池以及一些复杂操作
分类:
数据库 时间:
2021-01-04 10:52:24
阅读次数:
0
1.每个对象都拥有一把锁,这把锁存放在对象头中 对象头 包括: Mark Word 和Class Point 其中Classpoint是类型指针,指向类元数据的InstanceKlass,确定该对象所属的类型 Mark Word 2.synchronized(互斥锁)的实现原理 1.monitor( ...
分类:
编程语言 时间:
2021-01-01 11:51:28
阅读次数:
0
引言 本篇博客主要是简单梳理mysql锁相关理论知识,并没有深入解释其中的实现原理,可能会有一点简单的加锁机制。 博主在工作时接触到一些数据库锁的相关知识,尤其是事务和锁的关系比较密切,比如间隙锁和MVCC....等,大佬可全部忽略,部分知识取自《MySQL高性能书籍_第3版(中文)》,说实话在阅读 ...
分类:
数据库 时间:
2020-12-30 11:25:48
阅读次数:
0
镜像操作 镜像是一个只读的 Docker 容器模板,包含启动容器所需要的所有文件系统结构和内容。简单来讲,镜像是一个特殊的文件系统,它提供了容器运行时所需的程序、软件库、资源、配置等静态数据。即镜像不包含任何动态数据,镜像内容在构建后不会被改变。 Dockerfile指令 看了这么多指令,感觉有点懵 ...
分类:
其他好文 时间:
2020-12-24 11:44:17
阅读次数:
0
线程池的实现原理无非复用二字,类似数据库连接池,都是将一些重复创建的东西拿来重复使用。其中最关键的问题就两个:一个是怎么复用;一个是怎么回收。在数据库连接池中,一个连接的生命周期是我们可以手动控制的,相对来说容易一些。我们通过使用一个链表来持有连接并复用,超过最大连接数就回收。线程池不同,线程的生命 ...
分类:
编程语言 时间:
2020-12-24 11:31:19
阅读次数:
0