斯人已戒

2021年7月12日

从源码理解类加载

摘要: 我们都知道,我们得java程序得运行,实际是根据面向对象编程得原理,为一个个类创建对象,对象们协同工作,完成了程序得运行! 但是这些类,说到底是一个个得文件,二进制的class,如何变成为jvm所用的对象呢?,我们称之为类加载!看classloader偶有心得,随笔以记! 1 类加载原理(双亲委派机 阅读全文

posted @ 2021-07-12 18:37 斯人已戒 阅读(193) 评论(0) 推荐(1) 编辑

2021年6月7日

cache之guava

摘要: 本文主要记录guava_cache的学习心得! 缓存是什么?为何要用缓存呢? 先参考下图! 这是一张小白图!简单形容了一个普普通通的服务端请求的处理模型! 当一个request请求通过网络不远千里的来到我们的机房! 首先nginx会给它找到一个合适的处理窗口,也就是我们的jvm进程,当jvm在进程空 阅读全文

posted @ 2021-06-07 19:48 斯人已戒 阅读(158) 评论(0) 推荐(1) 编辑

2020年9月23日

redis--hash的实现

摘要: Redis数据结构 字典,哈希表,dict 或java中的map,数据使用key -> value的形式存储,整个redis数据库就是基于字典实现,api见hash REDIS的hash实现原理和java的HashMap十分相似,可参考阅读 理解redis的hash实现,就要先理解一下三个结构 di 阅读全文

posted @ 2020-09-23 21:17 斯人已戒 阅读(769) 评论(0) 推荐(1) 编辑

redis-list实现

摘要: Redis 数据结构 链表 Redis的list底层实现使用的不是数组而是链表的数据结构 叫listnode 是一个双向链表 ListNode{ Struct listNode *prev //前置节点 Struct listNode *next //后置节点 Void *value } 而redi 阅读全文

posted @ 2020-09-23 20:35 斯人已戒 阅读(283) 评论(0) 推荐(1) 编辑

redis-字符串

摘要: redis内部使用的字符串有2中,C语言字符串,和 redis实现的简单动态字符串(simple dynamic string SDS)其中,c字符串用以做字符串面量,无须对字符串修改时使用,比如打印日志 redisLog(****)SDS 则用于redis数据库操作 C语言字符串 是一串字节数组, 阅读全文

posted @ 2020-09-23 10:20 斯人已戒 阅读(98) 评论(0) 推荐(1) 编辑

2020年9月16日

逃逸分析

摘要: /*************************************逃逸分析*********************************/ 一个java文件如果要解析为可在计算机上执行的指令,需要经过2个阶段:1 javac命令,.java文件被编译成.class文件2 需要运行时,j 阅读全文

posted @ 2020-09-16 12:01 斯人已戒 阅读(71) 评论(0) 推荐(1) 编辑

2020年8月28日

线程池源码阅读笔记

摘要: 本文主要是讲在下阅读java 线程池源码的历程,在这里既是分享,也是笔记!废话少说,进入正题! 多线程编程是每一个java开发人员都绕不开的话题,而说起多线程编程,又绕不开线程池!在最近的工作之中,因为业务量级在日/亿级别的原因,并发编程成为了我做开发和设计工作的日常。日常以久,就深刻的理解了线程是 阅读全文

posted @ 2020-08-28 11:01 斯人已戒 阅读(110) 评论(0) 推荐(1) 编辑

导航