自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 锁优化概述

目录锁优化适应性自旋锁(Adaptive Spinning)锁消除(Lock Elimination)锁粗化(Lock Coarsening)轻量级锁(Lightweight Locking)轻量级锁获取过程轻量级锁释放过程轻量级锁适用场景参考链接偏向锁(Biased Locking)偏向锁获取过程偏向锁释放过程重量级锁、轻量级锁和偏向锁之间转换锁优化高效并发是从JDK 1.5到JDK 1.6的一个重要改进。其中一个特性就是各种锁优化技术。如适应性自旋锁(Adaptive Spinning)、锁消除(L

2021-01-27 16:02:20 189

原创 线程安全入门

线程安全的一个比较恰当的定义是:“当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的”。

2021-01-27 15:57:55 167

原创 Java线程

目录线程实现使用内核线程的实现使用用户线程的实现使用用户线程 + 轻量级进程混合实现Java使用线程模型线程调度协同式线程调度抢占式线程调度Java的线程调度线程状态转换参考链接线程实现主流操作系统都提供线程实现,Java语言则提供在不同硬件和操作系统平台下对线程操作的统一处理。操作系统实现线程时,主要有三种方式:使用内核线程的实现、使用用户线程的实现和使用用户线程 + 轻量级进程混合实现。使用内核线程的实现内核线程(Kernel-Level Thread, KLT)就是直接由操作系统内核支持的线

2021-01-27 15:56:22 283

原创 Java内存模型简介

Java内存模型的目标是屏蔽各种硬件和操作系统的内存访问差异,以实现多平台场景下达到一致的内存访问效果。

2021-01-27 15:51:52 331

原创 字节码执行引擎

目录运行时栈帧结构局部变量表(Local Variable Table)操作数栈(Operand Stack)动态连接(Dynamic Linking)方法返回地址附加信息方法调用解析调用(Resolution Invoke)分派调用(Dispatch Invoke)静态分派动态分派单分派和多分派动态分派的实现简介动态类型语言java.lang.invokeinvokedynamic指令方法执行解释执行解释执行实例编译执行JVM实现了可执行代码与操作系统的隔离。开发者在JVM上执行的代码从操作系统的机器码

2021-01-27 15:46:41 413

原创 类加载机制

目录类加载时机类和接口在加载阶段的区别类加载过程加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)符号引用和直接引用解析时机解析目标初始化(Initialization)类加载器类和类加载器双亲委派模型(Parents Delegation Model)双亲委派模型简介双亲委派模型优势破坏双亲委派模型向下兼容支持SPI调用支持热部署虚拟机的类加载机制就是将描述类的数据从Class文件加载到内存,并对数据进行校验、解析和初始化,最终形成可直接使用

2021-01-27 15:42:56 310

原创 类文件结构和字节码指令

目录为什么引入类文件Class文件结构简介魔数(Magic Number)Class文件版本号常量池类型访问标志类索引(This Class)、父类索引(Super Class)和接口索引集合(Interfaces)字段表集合方法表集合属性表集合字节码指令简介加载和存储指令运算指令类型转换指令对象创建与访问指令操作数栈管理指令控制转移指令方法调用和返回指令异常处理指令同步指令字节码指令表为什么引入类文件Java在诞生之初,就提出过一个宣传口号“ 一次编写,到处运行(Write Once, Run Any

2021-01-27 15:40:22 192

原创 Java虚拟机垃圾回收

目录对象存活检测算法引用计数(Reference Counting)算法可达性分析(Reachability Analysis)算法引用级别划分垃圾收集算法标记-清除(Mark-Sweep)算法复制算法Eden 区Survivor 区标记-整理算法分代收集算法HotSpot发起内存回收简介枚举根节点定义安全点(Safepoint)定义安全区域(Safe Region)常用垃圾收集器简介Serial收集器ParNew收集器Parallel Scavenge 收集器Serial Old收集器Parallel O

2021-01-27 15:30:34 368 2

原创 Java虚拟机内存管理

目录一、 概述Java 堆(Java Heap)方法区(Method Area)运行时常量池程序计数器(Pprogram Counter Register)Java 栈(Java Stack)本地方法栈(Native Method Stack)直接内存二、 HotSpot对象内存处理1. 对象创建2. 对象布局对象头实例数据对齐填充3. 对象访问简要介绍JVM中内存管理机制。C、 C++语言依赖开发人员管理内存,提高灵活性,但也带来了内存泄漏(OutOfMemeory,内存泄漏指是指由于疏忽或错误造成程

2021-01-27 15:14:53 152

原创 Java 虚拟机简介

JDK(Java Development Kit)是用于支持Java程序开发的最小环境。由Java语言、Java虚拟机、Java API类库三个部分组成。JRE(Java Runtime Environment)是支持Java程序运行的标准环境。由Java SE API和Java虚拟机两部分组成。JDK中包含JRE。Java发展简史1991年4月,Java之父James Gosling领导开发了Oak(橡树)语言(Java语言前身)。1995年5月23日,Oak语言改名Java,并发布Java 1

2021-01-27 14:51:49 313

原创 数据库范式应用

学习数据库范式理论后,尽管已经知道范式能够帮助优化数据库设计,但是在使用中却发现,很难将这些理论方便的应用到实际中。本节主要梳理下如何在实际应用中使用范式。范式有很多种,参考关系数据库设计可知有第一范式、第二范式、第三方式、BC范式、第四范式、第五范式、域-码范式等。第一范式当关系模式满足第一范式时,该关系模式所有属性的域都是原子的。常见的非原子域实例如下:(1) 组合属性具有非原子域。如包含子属性street、city、state和zip的属性address。(2) 使用以集合为值的属性会导致

2021-01-17 16:09:42 696

原创 关系数据库设计

关系数据库设计的目标是生成一组关系模式,使我们存储信息时避免不必要的冗余,并且可以方便地获取信息。并通过满足适当范式(normal form)来实现设计的优化。好的关系设计的特点好的设计会尽可能少的引入冗余数据,或做有损拆分,而是使用规范的方法找到正确的分解。原子域和第一范式在关系模型中,将属性不具有任何子结构这种思想形式化。一个域是原子的(atomic),如果该域的元素被认为是不可分的单元。我们称一个关系模式R属于第一范式(First Normal Form,1NF),如果R的所有属性的域都是原子

2021-01-04 00:14:53 1319 1

Implementing Regular Expressions.pdf

Implementing Regular Expressions

2021-12-19

Representation of Events in Nerve Nets and Finite Automata.pdf

Representation of Events in Nerve Nets and Finite Automata.pdf

2021-12-19

Redis启动过程详解

详细介绍Redis启动流程,重点参考《Redis 设计与实现》一书。

2015-11-11

wireless.h文件,基于linux,v22版本

该wireless.h头文件,是当前(2014年)最新的版本,v22版本,基于linux操作系统。

2015-01-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除