摘要: Docker是什么? Docker最初是dotCloud公司的创始人Solomon Hyks在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache 2.0授权协议开源,主要项目代码在GitHub上进行维护。Docker后来还加入了Li 阅读全文
posted @ 2019-11-19 21:09 CodingDiary 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 调优基本概念 在调整JVM性能时,通常有三个组件需要考虑: 堆大小调整 垃圾收集器调整 JIT编译器 大多数调优选项都与调整堆大小和选择合适的垃圾收集器有关,JIT编译器对性能也有很大影响,但很少需要对其进行调优,尤其是针对较新版本的JVM。 通常,在进行Java程序调优的时候,会重点关注两个主要指 阅读全文
posted @ 2019-11-07 21:58 CodingDiary 阅读(3186) 评论(0) 推荐(0) 编辑
摘要: javap Java反编译工具,主要用于根据Java字节码文件反汇编为Java源代码文件用法:javap 用法描述 javap -help —help -? 输出此用法消息 javap -version 版本消息 javap -v -verbose 输出附加信息 javap -l 输出行号和本地变量 阅读全文
posted @ 2019-11-04 20:10 CodingDiary 阅读(610) 评论(0) 推荐(0) 编辑
摘要: Java 内存运行时区域中的程序计数器、虚拟机栈、本地方法栈随线程而生灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由 JIT 编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性,不需要过多 阅读全文
posted @ 2019-10-22 20:24 CodingDiary 阅读(453) 评论(0) 推荐(0) 编辑
摘要: Java的程序要运行需要将编译好的class文件加载到JVM运行时数据区。 在了解类的加载机制之前,我们需要了解一下类的生命周期。Java类从被加载到JVM内存开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading),验证(Verification),准备(Preparation),解 阅读全文
posted @ 2019-10-15 20:22 CodingDiary 阅读(535) 评论(0) 推荐(1) 编辑
摘要: 粘包和拆包是TCP网络编程中不可避免的,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制。 TCP粘包和拆包 TCP是个“流”协议,所谓流,就是没有界限的一串数据。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业 阅读全文
posted @ 2019-10-10 21:26 CodingDiary 阅读(12089) 评论(1) 推荐(0) 编辑
摘要: 由于JDK中提供的ByteBuffer无法动态扩容,并且API使用复杂等原因,Netty中提供了ByteBuf。Bytebuf的API操作更加便捷,可以动态扩容,提供了多种ByteBuf的实现,以及高效的零拷贝机制。 ByteBuf的操作 ByteBuf有三个重要的属性:capacity容量,rea 阅读全文
posted @ 2019-10-06 20:51 CodingDiary 阅读(2030) 评论(0) 推荐(0) 编辑
摘要: Netty中的责任链 设计模式 - 责任链模式 责任链模式(Chain of Responsibility Pattern)是一种是行为型设计模式,它为请求创建了一个处理对象的链。其链中每一个节点都看作是一个对象,每个节点处理的请求均不同,且内部自动维护一个下一节点对象。当一个请求从链式的首端发出时 阅读全文
posted @ 2019-09-26 20:55 CodingDiary 阅读(1890) 评论(0) 推荐(1) 编辑
摘要: Netty简介 Netty是一个高性能,高可扩展性的异步事件驱动的网络应用程序框架,它极大的简化了TCP和UDP客户端和服务器端网络开发。它是一个NIO框架,对Java NIO进行了良好的封装。作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制, 阅读全文
posted @ 2019-09-10 21:45 CodingDiary 阅读(9285) 评论(0) 推荐(1) 编辑
摘要: 什么是Reactor模式 Reactor模式是一种设计模式,它是基于事件驱动的,可以并发的处理多个服务请求,当请求抵达后,依据多路复用策略,同步的派发这些请求至相关的请求处理程序。 Reactor模式角色构成 在早先的论文An Object Behavioral Pattern forDemulti 阅读全文
posted @ 2019-09-08 09:59 CodingDiary 阅读(796) 评论(0) 推荐(1) 编辑