自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 synchronized原理分析

03Synchronized的实现原理分析当一个线程尝试访问synchronized修饰的代码块时,它首先要获得锁,那么这个锁到底存在哪里呢?对象在内存中的布局synchronized实现的锁是存储在Java对象头里,什么是对象头呢?在Hotspot虚拟机中,对象在内存中的存储布局,可以分为三个区域:对象头(Header)、实例数据(Instance Data)、对齐填充(Padding)当我们在Java代码中,使用new创建一个对象实例的时候,(hotspot虚拟机)JV...

2021-02-19 23:03:57 126

原创 2021-02-14 JVM垃圾回收算法 垃圾收集器

1.垃圾回收算法1.1标记-清除算法1.2复制算法

2021-02-14 22:43:53 243

原创 2021-02-14 JVM内存划分

JVM基本上由4部分组成:类加载器 执行引擎 内存区 本地方法调用其中,内存区一般又称运行时数据区,JVM将Java运行时数据通常划分为6种:PC寄存器 本地方法区 方法区 运行时常量池 栈 堆1.PC寄存器PC寄存器严格来说是一个数据结构,它用于保存当前正常执行的程序的内存地址。Java程序是多线程执行的,所以不可能一直都按照线性执行下去,当有多个线程交叉执行时,被中断线程的程序当前执行到哪条内存地址需要保存下来,以便于它被恢复执行时再按照被中断时的指令地址继续执行下去

2021-02-14 21:58:40 109

原创 2021-02-14 JVM内存分配回收策略

1.静态内存分配静态内存分配是指在编译时就已经能够确定需要的内存空间,当程序被加载时,系统把内存一次性的分配给它。这些内存不会在程序执行时发生变化,直到程序执行结束时内存才被回收。在Java的类和方法中的局部变量包括原生数据类型(int, long, char等)和对象的引用都是静态分配内存的如下代码:public void staticData(int arg) { String s = "String"; long ll = 1; Long lg = 1L.

2021-02-14 18:53:03 79

原创 spring配置:xml配置和java注解配置对比

虽然spring早就推出java注解的方式配置框架,由于习惯了看xml所以一直没有去学习,然而最近需要学习springboot,为了平滑过渡,先被迫研究一下注解配置方式。这里展示3种spring配置文件,来对比xml配置和java注解配置的区别,分别是spring\mvc\shiro的配置先说总结:对比2种配置方式会发现xml方法更繁琐(xml那恶心的头部约束),拿shiro来说...

2018-08-16 16:55:30 7679 3

原创 RabbitMQ-01 安装(windows)

一、windows下安装rabbitmq  1、下载安装包:rabbitmq:http://www.rabbitmq.com/download.html二郎神(mq环境):http://www.erlang.org/downloads 说明:rabbitmq是基于erlang开发的,所以安装前需要先安装erlang 2、安装erlang下载完成运行o...

2018-08-14 17:05:53 120

空空如也

空空如也

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

TA关注的人

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