摘要: 单机版本 因为redis是c++写的,我们首先需要安装c++环境 1.在linux安装c++源码编译器 需要联网 linux输入yum -y install gcc gcc-c++ 2.官网下载redis源码包redis-4.0.10.tar 3.使用xftp将redis-4.0.10.tar上传到 阅读全文
posted @ 2018-06-22 17:26 意犹未尽 阅读(2188) 评论(0) 推荐(1) 编辑
摘要: 查看当前机器所使用的垃圾回收器 jmap -heap 13297 jvm回收流程 jvm内存结构 Person p=new Person(); 1.程序里面创建一个对象会向向eden区申请空间 2..当Eden区满的时候,会触发第一次Minor gc,把还活着的对象拷贝到Survivor From区 阅读全文
posted @ 2018-06-20 20:47 意犹未尽 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 如何判断一个对象是否能被回收 引用计数法 比较古老的一种垃圾回收算法。在java的GC并没有采用 增加一个引用 引用+1 减少一个引用引用减一 每次清除引用为0的的对象 缺点:不能回收循环引用的垃圾对象 可达性算法 GC Roots 是该算法的基础,GC Roots 是所有对象的根对象,在 JVM 阅读全文
posted @ 2018-06-20 19:42 意犹未尽 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 修订历史 2018-06-19 20:22 创建 2020-01-08 改 最近在看java字节码技术 重新复习一下 并重新整理 ClassLoader作用 负责将 Class 加载到 JVM 中 审查每个类由谁加载(父优先的等级加载机制) 将 Class 字节码重新解析成 JVM 统一要求的对象格 阅读全文
posted @ 2018-06-19 20:22 意犹未尽 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 笔记来自极客时间<java调优实战> 内存模型 堆 堆是jvm最大的一块儿内存空间,该内存被所有线程共享。几乎所有的对象数组都分配在堆空间中 堆被划分为新生代和老年代,新生代又被进一步划分为 Eden 和 Survivor 区,最后 Survivor 由 From Survivor 和 To Sur 阅读全文
posted @ 2018-06-19 19:47 意犹未尽 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 内存监控 -XX:+PrintGC 跟-verbose:gc效果一样 但是不是稳定版后续可能会删除 -verbose:gc 每次GC(yonggc,fullgc) 打印简单的内存情况 测试代码 public static void main(String[] args){ List<Classes> 阅读全文
posted @ 2018-06-18 12:54 意犹未尽 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 心跳是为了保证客户端和服务端的通信可用。因为各种原因客户端和服务端不能及时响应和接收信息。比如网络断开,停电 或者是客户端/服务端 高负载。 所以每隔一段时间 客户端发送心跳包到客户端 服务端做出心跳的响应; 1.如果客户端在指定时间没有向服务端发送心跳包。则表示客户端的通信出现了问题。 2.如果客 阅读全文
posted @ 2018-06-10 15:41 意犹未尽 阅读(900) 评论(0) 推荐(1) 编辑
摘要: 开发应用程序与应用程序之间的通信,程序之前通信 需要定义协议,比如http协议。 首先我们定义一个协议类 Head类 自定义的编码器 按照message注释的协议顺序 写入。token和token生成时间定长50 不足空补 解码器 解码器 在解码的同时需要做拆包和粘包处理 1.循环读到包分割符起始位 阅读全文
posted @ 2018-06-09 13:05 意犹未尽 阅读(10345) 评论(0) 推荐(5) 编辑
摘要: 在tcp编程底层都有拆包和粘包的机制 拆包 当发送数据量过大时数据量会分多次发送 以前面helloWord代码为例 打印 可以发现这里拆分成了2次发送 粘包 当发送数据量过小时会组合成一次发送 可以发现有时多条发送的数据会组合成一条发送 解决方案 netty提供了解码器来解决拆包和粘包的问题 Lin 阅读全文
posted @ 2018-06-06 22:30 意犹未尽 阅读(475) 评论(0) 推荐(0) 编辑
摘要: netty重新定义了byteBuf 而没使用jdk byteBuffer netty byteBuf与jdk byteBuffer的区别 (1)jdk buffer长度固定 byteBuf超过最大索引 将会扩容。(最大值默认值是Integer.MAXVALUE) (4)读取和写入的索引分开了(rea 阅读全文
posted @ 2018-06-06 21:52 意犹未尽 阅读(698) 评论(0) 推荐(0) 编辑