day day study day day up
阿拉斯加大闸蟹
JDcloud;ByteDance;XueQiu;YiChe;CATARC
展开
-
《深入理解Java虚拟机》读书笔记五
虚拟机类加载机制类加载的时机类被加载到虚拟机内存开始到结束过程,七个阶段:加载→验证→准备→解析→初始化→使用→卸载除了解析和使用,其他五个顺序按部就班执行加载:虚拟机没有强行约束加载和验证交叉进行,但仍然保持着固定的先后顺序加载阶段,虚拟机需要三件事:通过一个类的全限定名来获取定义此类的二进制流(可以是:jar包、applet运行容器、动态代理、JSP、数据库字节...原创 2019-11-19 20:58:56 · 589 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记七
Java内存模型与线程硬件效率与一致性MSI、MESI、MOSI、Synapse、Firefly、Dragon处理器的乱序执行与Java的指令重排Java内存模型java定义了自己的内存模型JMM,来屏蔽各种硬件与操作系统的内存访问差异主内存与工作内存:Java规定所有的变量都存储在主内存内每条线程都有自己的工作内存,线程之间的变量值传递主要通过主内存完成内存间...原创 2020-01-13 21:12:07 · 760 阅读 · 0 评论 -
《netty实战》读书笔记一---selector、reactor模型、NIO与零拷贝
首先先自己熟悉一下selector、epoll、NIO编程、reactor模型I/O 模型基本说明 I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能Java共支持3种网络编程模型/IO模式:BIO、NIO、AIOJava BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进...原创 2020-04-08 15:39:14 · 3519 阅读 · 0 评论 -
《netty实战》读书笔记二--reactor模型、处理流程、pipeline功能、异步模型
netty模型:netty抽象出两组线程池BossGroup专门负责接收客户端的连接,WorkGroup专门负责网络的读写 BossGroup和WorkGroup类型都是NIOEventLoopGroup NIOEventLoopGroup相当于一个事件循环组,这个组中有多个事件循环,每个事件循环是NIOEventLoop NIOEventLoop表示一个不断循环的执行处理任务...原创 2020-04-08 15:45:40 · 1513 阅读 · 0 评论 -
《netty实战》读书笔记三---channel、selector、channelHandler、Pipeline、ChannelOption、Unpooled等核心组件
netty核心组件:channelNetty 网络通信的组件,能够用于执行网络 I/O 操作。 通过Channel 可获得当前网络连接的通道的状态 通过Channel 可获得 网络连接的配置参数 (例如接收缓冲区大小) Channel 提供异步的网络 I/O 操作(如建立连接,读写,绑定端口),异步调用意味着任何 I/O 调用都将立即返回,并且不保证在调用结束时所请求的 I/O 操作...原创 2020-04-10 16:52:53 · 1623 阅读 · 0 评论 -
《netty实战》读书笔记四---心跳、编码解码、TCP 粘包和拆包 及解决方案
netty心跳IdelStateHandlerhttp是无状态,Http协议是无状态的, 浏览器和服务器间的请求响应一次,下一次会重新创建连接,webSocket的长连接的全双工的交互,改变Http协议多次请求的约束,实现长连接了, 服务器可以发送消息给浏览器http传输过程中是分段的,HttpObjectAggregator可以将多个段聚合浏览器在发送大量数据的时候,就会发出多次...原创 2020-04-12 23:25:50 · 1511 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记六
运行时栈帧结构虚拟机字节码执行引擎:有多种实现方式,有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)栈帧(Stack Frame)虚拟机进行方法调用和执行的结构存储了局部变量表、操作数栈、动态连接和方法返回地址(在编译代码的时候就已经确定了其大小)局部变量表局部变量表十一组变量值存储空间,用于存放方法参数和方法内部定义的局部变量在java被编译为...原创 2019-12-25 19:55:29 · 653 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记四
调优案例分析与实战32位问题:内存回收导致的长时间停顿,譬如十几个小时乃至一天才出现一次Full GC放在深夜执行现阶段64位JDK性能测试普遍低于32位相同程序在64位JDK中消耗的内存一般比32位JDK大,由于指针膨胀及数据类型对齐补白造成集群间同步导致内存溢出:集中的缓存JBossCache出现内存溢出,-XX:+HeapDumpOnOutOfMemoryError打...原创 2019-10-18 17:06:40 · 592 阅读 · 0 评论 -
《effective java》阅读理解
java书籍如core Java经常分两册,上册为基础fundmental,下册为advanced。上册讲编程的基本概念,下册谈被升级的概念(如泛型对于Object,try是某种不判断的if,并发是循环的横向扩展,集合是某种高级的数组等等)。这类书给人的感觉是概念的任意组合,正交化,什么都可以做。而本书所说的就是希望你用高级的概念的使用去避免基本概念使用的一些弊端,告诉你怎么做更好,什么样的做...原创 2018-11-30 13:33:38 · 540 阅读 · 0 评论 -
《Redis开发与运维》读书笔记一
之前这本书看了大概二分之一,后面就没有再坚持下去,这次在我球管理redis-manager的机会,重新捡起这本书,深度的阅读,以防止自己记忆碎片,整理文档。Redis开发与运维这本书的内容太多,网上没有找到检索,记录下来自己认为重要的信息片段,供检所使用。书籍地址:https://github.com/singgel/Study-Floder目录redis可以做什么:redi...原创 2019-06-05 10:02:58 · 1032 阅读 · 0 评论 -
《Redis开发与运维》读书笔记二
之前这本书看了大概二分之一,后面就没有再坚持下去,这次在我球管理redis-manager的机会,重新捡起这本书,深度的阅读,以防止自己记忆碎片,整理文档。Redis开发与运维这本书的内容太多,网上没有找到检索,记录下来自己认为重要的信息片段,供检所使用。书籍地址:https://github.com/singgel/Study-Floder目录fork操作:salve复...原创 2019-06-25 10:16:39 · 1244 阅读 · 0 评论 -
《Redis开发与运维》读书笔记三
目录集群运维集群倾斜集群读写分离手动故障转移数据迁移缓存更新策略穿透优化无底洞优化雪崩优化热点key优化Linux配置优化flushall/flushdb误操作安全的redis处理bigkey寻找热点key之前这本书看了大概二分之一,后面就没有再坚持下去,这次在我球管理redis-manager的机会,重新捡起这本书,深度的阅读,以...原创 2019-07-01 21:05:50 · 1694 阅读 · 2 评论 -
《深入理解Java虚拟机》读书笔记一
目录运行时数据区域对象访问OutOfMemoryError异常对象存亡判断技术到了一定的程度,总是想要进一步的提高,但是有时候苦于网上的资料参差不齐,有些更是让人只知其表,我本人是找不到比较好的方法来打开新的道路。又苦于前方路途迷茫,有时也是看着各大V推荐的书籍进行阅读,和在学校一样,读书读不进去,写代码倒是飞快。开了blog,那就一点一滴记录下来吧书籍地址:https:...原创 2017-03-17 09:04:41 · 360 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记二
目录垃圾收集算法垃圾收集器内存分配与回收策略技术到了一定的程度,总是想要进一步的提高,但是有时候苦于网上的资料参差不齐,有些更是让人只知其表,我本人是找不到比较好的方法来打开新的道路。又苦于前方路途迷茫,有时也是看着各大V推荐的书籍进行阅读,和在学校一样,读书读不进去,写代码倒是飞快。开了blog,那就一点一滴记录下来吧书籍地址:https://github.com/s...原创 2019-10-09 20:57:38 · 489 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记三
JDK命令行工具jps:虚拟机进程状况工具显示执行主类所在函数的类名,显示本地虚拟机唯一ID(LVMID)jstat:虚拟机统计信息监视工具用于监视各种运行信息显示本地或远程虚拟机进程中:类装载、内存、垃圾收集、JIT编译等运行数据运行期定位虚拟机性能问题首选工具jinfo:java配置信息工具实时查看和调整虚拟机各项参数,也可以使用java -XX:+PrintF...原创 2019-10-09 20:58:28 · 586 阅读 · 0 评论 -
《阿里巴巴JAVA编码规范》阅读理解
https://github.com/alibaba/p3c/https://github.com/singgel?tab=repositories前言2017 年阿里云栖大会,阿里发布了针对 Java 程序员的《阿里巴巴 Java 开发手册(终极版)》,这篇文档作为阿里数千位 Java 程序员的经验积累呈现给公众,并随之发布了适用于 Eclipse 和 Intellim 的代码检查插...原创 2018-08-01 15:49:51 · 2009 阅读 · 0 评论 -
《阿里巴巴JAVA编码规范》阅读笔记
https://github.com/singgel?tab=repositories一、编程规约(一) 命名规约6.【强制】抽象类命名使用 Abstract 或 Base 开头 ; 异常类命名使用 Exception 结尾 ; 测试类命名以它要测试的类的名称开始,以 Test 结尾。7.【强制】中括号是数组类型的一部分,数组定义如下: String[] args; 反例:使用 ...原创 2017-07-28 09:11:04 · 1212 阅读 · 0 评论 -
《effective java》阅读笔记
目录1、静态工厂方法代替构造器2、遇到多个构造器参数时要考虑用构建器3、避免创建不必要的对象4、消除过期的对象引用5、覆盖 equals6、覆盖 equals 时总是覆盖 hashCode7、总是覆盖 toString8、考虑实现 Comparable 接口9、使类和成员的可访问性最小化10、复合优于继承11、接口优于抽象类12、接口只用于定义类型...原创 2018-10-25 15:39:53 · 397 阅读 · 0 评论