
java
文章平均质量分 76
千里风雪
个人比较喜欢打台球, 篮球, 跑步, 平时没事敲敲代码, 听听歌
展开
-
G1的mixed gc详细过程
g1的mixed gc详细过程 G1会动态调整年轻代和老年代空间大小,为了达到接近预期的暂停时间;G1提供了两种GC模式,Young GC和Mixed GC,两种都是Stop The World(STW)的。 当达到IHOP阈值-XX:InitiatingHeapOccupancyPercent(老年代占整堆比,默认45%)时,便会触发并发标记周期。 整个并发标记周期将由初始标记(Initial Ma原创 2021-11-05 16:59:36 · 6333 阅读 · 2 评论 -
G1参数调优个人记录
G1内存划分G1看起来和CMS比较类似,但是实现上有很大的不同。传统分代GC将整体内存分为几个大的区域,比如Eden,S0,S1,Tenured等。而G1将内存区域分为了n个不连续的,大小相同的Region,Region具体的大小为1到32M,根据总的内存大小而定,目标是数量不超过2048个。 如下图所示:G1调优参数-XX:+UseG1GC : 使用G1回收器。-XX:G1HeapRegionSize=2m : 指定分区大小(1MB~32MB,且必须是2的幂),默认将整堆划分为2048个分区-X原创 2021-06-29 14:18:11 · 1505 阅读 · 0 评论 -
jvm 打印log
jvm 打印log选项作用-verbose:gc输出简要GC日志-XX:+PrintGCDetails输出详细GC日志-XX:+PrintGCDateStamps输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)-XX:+PrintReferenceGC打印年轻代各个引用的数量以及时长-Xloggc:/data/tmp/gc.log输出GC日志到文件在JDK 8中,-verbose:gc是-XX:+P原创 2021-06-28 14:37:03 · 424 阅读 · 0 评论 -
jvm工具实战使用
给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段,这里的数据包括:运行日志、异常堆栈、GC日志、线程快照、堆转储快照(heapdump/hprof文件)等, 这些jvm工具可以加快我们分析数据、定位解决问题的速度主要实战使用这些jvm工具, 帮助定位问题。jpsJVM Process Status Tool,用于显示系统内所有的 HotSpot 虚拟机进程。选项作用-q只输出LVMID, 省略主类的名称-m输出虚拟机进程启动时传递原创 2021-06-28 11:35:04 · 257 阅读 · 0 评论 -
linux下载jdk
wget直接下载jdkwget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u1...原创 2020-04-22 15:50:39 · 845 阅读 · 0 评论 -
hbase源码: RpcServer应答服务设计
hbase源码:RpcServer应答服务设计环境: hbase 1.2版本应答服务设计看源码的时候一个快捷键Ctrl +Shift + - ,很有用,可以尝试一下 hbase的RpcServer应答服务设计就是基于javanio来实现,RpcServer有点类似于聊天室的服务端,我之前写了一个基于javanio的聊...原创 2020-01-03 16:36:46 · 188 阅读 · 0 评论 -
基于java nio实现的聊天室demo
实现的界面客户端张飞用户刘备用户关羽用户:聊天室的具体功能如下:1: 群聊2: 显示在线人数3: 用户名信息4: 用户离线, 通知其他在线的用户聊天室代码的github:https://github.com/victor9309/ChatRoom参考:http://ifeve.com/selectors/...原创 2020-01-02 16:43:02 · 771 阅读 · 2 评论 -
java nio 服务端如何知道客户端断开连接
服务器如何知道客户端断开了呢?????? 比如我想客户端断开后,发送一些消息给其他的客户端,该怎么办呢我是基于java nio来实现的逻辑代码。在客户端断开后,我们来debug追踪一下我们的服务器程序代码的执行步骤:1 : selectedKeys()会有一个请求,然后会执行读操作...原创 2020-01-02 16:02:27 · 2352 阅读 · 1 评论 -
java log4j打印信息
目录javalog4j打印信息java配置文件读取javalog4j打印信息log4j.properties#stdout configurelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternL...原创 2019-10-28 15:36:18 · 459 阅读 · 0 评论 -
CopyOnWrite思想
转载:https://mp.weixin.qq.com/s/NqHzFxMd46ll1nTaSMNQew目录读多写少的场景下引发的问题?引入 CopyOnWrite 思想解决问题CopyOnWrite 思想在Kafka源码中的运用“今天聊一个非常硬核的技术知识,给大家分析一下CopyOnWrite思想是什么,以及在Java并发包中的具体体现,包括在Kafka内核源码中...转载 2019-05-13 14:06:10 · 160 阅读 · 0 评论 -
idea调试opentsdb源码
参考:https://blog.51cto.com/1196740/2394289?source=dra目录下载源码:编译打包修改文件目录修改opnetsdb.conf运行TSDMain业务场景:opentsdb的data数据不支持英文, 公司有一部分的data数据是汉字和英文故修改opnetsdb源码,让其支持英文。下载源码: git clone...原创 2019-05-17 09:17:49 · 986 阅读 · 0 评论 -
java iterator和Iterable的区别
iterator为Java中的迭代器对象Iterable是对iterator的一个封装, 以支持for each循环。Iterator<Tuple2<String, String>> el = elements.iterator();// iterator为Java中的迭代器对象,是能够对List这样的集合进行迭代遍历的底层依赖// 而Ite...原创 2019-05-24 15:01:31 · 532 阅读 · 0 评论 -
Java 反射分析类的能力
主要学习《java核心技术》, 用以记录, 怕以后遗忘。java.lang.reflect包中有三个类Field,Method, Constructor分别用于描述类的域,方法和构造器。这三个类都有一个叫做getName的方法, 用于放回项目的名称。优秀博客者: https://blog.youkuaiyun.com/sinat_38259539/article/details/71799078...原创 2018-12-11 14:12:53 · 384 阅读 · 0 评论 -
json格式转化(Java和python)
目录java com.alibaba.fastjson工具包 net.sf.json.JSONObject工具包pythonjson格式转化简单介绍:json类:com.alibaba.fastjson工具包:1、parseObject(String str)的作用 JSON.parseObject(String str...原创 2018-12-04 10:48:24 · 4029 阅读 · 0 评论 -
java泛型类
java 泛型程序设计: java核心技术书籍第12章1:泛型定义minmax设计为static方法: 原因: static静态方法是存储在静态存储区内的,可以通过类.方法名直接进行调用,不需要进行实例化。package chapter12;public class PairTest1 { public static void main(String...原创 2018-07-16 15:36:11 · 237 阅读 · 0 评论