自定义博客皮肤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)
  • 收藏
  • 关注

原创 JVM学习——第七篇:对象的内存布局

jvm对象内存布局

2021-12-23 09:20:59 176

原创 JVM学习——第六篇:内存溢出异常

一文了解JVM内存溢出

2021-12-15 15:39:55 1221

原创 JVM学习——第五篇:垃圾收集器

1、Serial收集器2、ParNew收集器3、Parallel Scavenge收集器4、Serial Old收集器5、Parallel Old收集器6、CMS收集器7、G1收集器

2021-12-14 17:40:40 303

原创 JVM学习——第四篇:垃圾与收集算法

1、如何判断垃圾 对于jvm来说只要对象不再被使用了,那它就是一个垃圾,就可以回收所占用的空间了。那如何判断对象是否不再被使用呢? 引用计数算法:在对象中添加一个引用计数器,对象被引用计数器+1,当引用失效则-1,任何时刻计数器为0,说明对象没有被引用可以回收。引用计数法思路很简单,但是缺陷也很明显,那就是循环引用:比如对象A里面引用了对象B,对象B里面又引用了对象A,就无法判断是否可以回收。 可达性分析算法: 从GC Roots根节点出发向下搜索,搜索...

2021-12-09 21:01:53 84

原创 JVM学习——第三篇:内存结构

深入学习jvm

2021-12-08 19:50:23 68

原创 深入理解JVM——第二篇:类加载子系统

1、从编译到执行1、跨平台JAVA源代码被编译为Class文件,Class文件运行在JVM上。而JVM是面向操作系统的,它负责把Class字节码解释成操作系统所能识别的指令并执行,同时也负责程序运行时内存的管理。2、.java(源)文件到代码执行过程 :编译-->加载-->解释-->执行 编译:将源码文件编译成JVM可以解释的class文件,编译过程会对源代码程序做【语法分析】【语义分析】【注解处理】等,比如对泛型的擦除和Lombok就是在编译...

2021-12-07 20:15:27 111

原创 深入理解JVM——第一篇:走进JVM

目录1、JVM简介2、学习JVM的目的3、JVM基本结构1、JVM简介Java语言的一个非常重要的特点就是与平台的无关性,而使用Java虚拟机(JVM)就是实现这一特点的关键。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。 JVM在JDK中的位置:...

2021-12-06 20:02:24 349

原创 redis系统性学习第五篇:Redis底层数据结构

一、简单动态字符串文章作为学习《redis设计与实现》的总结,内容图片均来自《redis设计与实现》。Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串( simple dynamic string,SDS)的抽象类型,并将SDS用作 Redis 的默认字符串表示。sds的定义:例如,"Redis" 这个字符串在 SDS 里面的数据可能是如下形式:free属性的值为0,表示这个SDS没有分配任何未使用空间。

2021-01-22 15:36:15 189

原创 redis系统性学习第四篇:Redis持久化详解

1、什么是Redis持久化?持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。2、为什么需要持久化?Redis对数据的操作都是基于内存的,当遇到了进程退出、服务器宕机等意外情况,如果没有持久化机制,那么Redis中的数据将会丢失无法恢复。有了持久化机制,Redis在下次重启时可以利用之前持久化的文件进行数据恢复。3、Redis 的持久化机制是什么?redis提供了RDB(默认) 和 AOF两种持久化机制。4、RDB(快照)持久化 #关于RDB和AOF的相关配...

2021-01-14 17:23:25 144

原创 redis系统性学习第三篇:Redis配置文件学习

Redis配置文件介绍如果是一个专业的 DBA,那么实例启动时会加很多的参数以便使系统运行的非常稳定,这样就可能会在启动时在 Redis 后面加一个参数,以指定配置文件的路径,就象 mysql 一样的读取启动配置文件的方式来启动数据库。redis中文官网文档地址:http://www.redis.cn/documentation.html1、配置文件在哪儿源码编译完成后(make过后),在redis目录下有一个 redis.conf 文件,这个文件即是 Redis 的配置文件;Redis

2021-01-13 17:28:26 88

原创 redis系统性学习第二篇:常用五大数据结构

redis数据类型简介及操作Redis 提供了键(Key)和键值(Value)的映射关系。Redis 的键值一共有5种数据结构如下:String——字符串 Hash——哈希表 List——列表 Set——集合 Sorted Set——有序集合本文只列举一部分,具体操作可以去官网查看,如有不同则以官网为准;中文官网链接:http://www.redis.cn/commands.html补充一些小知识:redis默认16个数据库,类似数组的下标,从0开始,默认使用零号数据库; 使.

2021-01-13 17:27:58 96

原创 一、Linux(Centos7)下安装Redis

linux安装redis详细过程1、在安装redis之前先安装C++编译环境,查看目前服务器上gcc的版本:gcc -v,如果Linux系统没有安装gcc编译器,du会提示“Command not found”;如果提示命令找不到,则表明没有安装;或者更新版本,不然后续make的时候会报错。安装gcc命令:yum -y install gcc-c++;更新gcc命令:yum -y install centos-release-scl # 我这里使用的scl软件集完成后执行:yum -y...

2021-01-12 10:51:26 159

空空如也

空空如也

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

TA关注的人

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