- 博客(20)
- 问答 (1)
- 收藏
- 关注
原创 JMH Java基准测试
JMH Java基准测试JMH是什么JMH(Java Microbenchmark Harness)是Java基准测试工具JMH使用方式引入jmh依赖 <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>1.23&
2022-03-21 00:05:19 576
原创 JVM 垃圾回收器 ZGC垃圾回收算法的实现
JVM 垃圾回收器 ZGC垃圾回收算法的实现学习ZGC,主要通过学习ZGC设计与实现书籍,并以博客的形式记录学习内容ZGC是一款并发的垃圾回收器,支持并发标记、并发转移和并发重定位。并发垃圾回收算法并发垃圾回收算法概述并发垃圾回收算法实际上是以复制算法为基础,增加了并发处理。复制算法分为3个算法:标记:从根集合出发,标记活跃对象;此时内存中存在活跃对象和已死亡对象。转移:把活跃对象转移(复制)到新的内存上,原来的内存空间可以回收。重定位:因为对象的内存地址发生了变化,所以所有指向对象老地
2022-01-17 23:56:21 733
原创 通过JMC工具计算String占用字节数
通过JMC工具计算String占用字节数JDK8中一个String占多少字节?我们通过JMC工具进行计算打开JMC实现import java.util.UUID;public class Test8 { public static void main(String[] args) { System.out.println(UUID.randomUUID().toString()); int size = 10000000; String[
2021-12-13 09:53:24 422
原创 Windows Java VisualVM 查看Linux上的java进程
Windows Java VisualVM 查看Linux上的java进程Linux上的java进程启动启动时需要加上下列参数-Djava.rmi.server.hostname=远端ip -Dcom.sun.management.jmxremote.port=自定义端口 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=falseWindows上打开Jvisualvm客
2021-11-19 19:45:55 1300
原创 Java HdrHistogram依赖 直方图统计算法
Java HdrHistogram依赖 直方图统计算法介绍HdrHistogram 可以用较少的资源计算平均值、中位数等各类统计值源码地址,包含多种语言https://github.com/HdrHistogramJava使用方法依赖 <dependency> <groupId>org.hdrhistogram</groupId> <artifactId>HdrHistogram&
2021-11-14 00:48:29 3631
原创 JVM 垃圾回收器 ZGC线程
JVM 垃圾回收器 ZGC线程学习ZGC,主要通过学习ZGC设计与实现书籍,并以博客的形式记录学习内容ZGC主要靠后台线程执行,后台线程包括控制线程和工作线程。控制线程是主要控制垃圾回收的触发、执行;工作线程是真正执行垃圾回收具体的任务,比如对象的标记、转移。JVM线程控制线程ZGC新引入3大基础线程分别为ZDirector、ZDriver、ZStat。ZDirector:控制什么时候启动垃圾回收。ZDriver:控制垃圾回收执行的步骤,ZGC垃圾回收一共分为10步,这10步是串行执行的。
2021-10-31 23:33:04 367
原创 JVM 垃圾回收器 ZGC内存管理
JVM 垃圾回收器 ZGC内存管理学习ZGC,主要通过学习ZGC设计与实现书籍,并以博客的形式记录学习内容ZGC 实现了两级内存管理:虚拟内存和物理内存,并且实现了物理内存和虚拟内存的映射关系。这和操作系统中虚拟地址和物理地址设计思路基本一致。多视图映射操作系统支持多个虚拟地址同时映射到一个物理地址上,当我们操作其中一个虚拟地址,所有虚拟地址都能访问到最新的数据。Linux主要通过系统函数mmap完成视图映射,多个视图映射就是多次调用mmap函数,多次调用的返回结果就是不同的虚拟地址。ZGC仅支
2021-10-07 23:24:45 258
原创 JVM 垃圾回收器 ZGC
JVM 垃圾回收器 ZGC简介学习ZGC,主要通过学习ZGC设计与实现书籍,并以博客的形式记录学习内容ZGC在JDK11引入,目前被标记为实验性质。ZGC的出现是为了解决G1的不足。G1不足之处G1的目标是在可控的停顿时间内完成垃圾回收,所以进行了分区设计,在回收时采用部分回收(在YGC时会回收所有新生代分区,在混合回收时会回收所有的新生代分区和部分老年代分区),支持也可以达到几十GB或者上百个GB。为了进行部分回收,G1实现RSet管理对象的引用关系。基于以上设计的特点,导致G1存在以下的问题:
2021-10-07 00:42:00 320
原创 Linux dump过大 JVM内存分析工具mat
Linux dump过大 JVM内存分析工具mat1. dump启动时添加JVM参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump文件输出路径2. 下载Linux mat工具linux 安装包下载路径3. 解压Linux mat分析工具unzip MemoryAnalyzer-1.12.0.20210602-linux.gtk.x86_64.zip4. 执行生成./ParseHeapDump.sh dump文件 org.
2021-08-31 21:39:39 1197
原创 OpenJDK8 源码编译 运行 调试
OpenJDK8 源码编译 运行 调试感谢小童的对象在学习期间给予极大的帮助和鼓励,笔芯!文章目录OpenJDK8 源码编译 运行 调试准备配置Ubuntu配置OpenJDK7安装 编译OpenJDK8 所需依赖编译OpenJDK8安装Clion运行调试OpenJDK8项目准备ubuntu 16.04OpenJDK7OpenJDK8 源码VMClion编译参考OpenJDK8所下载的README-builds.html。编译OpenJDK8需要提前有8以前的Java环境,所以下载了Op
2021-03-03 00:49:09 2261 2
原创 深入理解JVM 之 逃逸分析
深入理解JVM 之 逃逸分析逃逸分析的理论学习及实验准备逃逸分析的知识:参考 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明 的 11.4.3 逃逸分析部分逃逸分析的算法:Escape Analysis for Java此篇论文略深奥,暂时作为辅助作用,此篇不详细讲论文的内容逃逸分析的基本概念什么是逃逸分析:当一个对象指针被多个方法或线程引用时称这个指针发生逃逸。而用来分析这个逃逸的方法,则称为逃逸分析。因此逃逸分析是目前Java虚拟机中比较前沿的优化技术,不是直接优化代码
2021-02-16 23:39:31 529 1
原创 Hive使用方式
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-06-11 20:23:30 312
原创 分布式找环算法
分布式找环算法参考https://www.researchgate.net/publication/283642998_Distributed_cycle_detection_in_large-scale_sparse_graphs从每个起点出发,将自己身上的id发给邻居;将自己上一轮收到的点id并加上自己的点id,将此路径继续发送给邻居;不断的将上一轮收到的路径加上自己的点id,将此...
2020-01-13 20:24:39 3036 1
原创 图论算法之中心性算法
中心性算法小童开始学习算法了~Closeness Centrality紧密中心性(针对连通图)Wasserman and Faust 提出过另一种计算紧密性中心性的公式(针对非连通图)Harmonic Centrality调和中心性(针对非连通图)(归一化)PageRank稍复杂,可阅读paper....
2019-12-12 11:42:27 2712
原创 Windows+Zookeeper 伪集群搭建
Windows+Zookeeper 伪集群搭建菜鸡小童准备搭建windows下的伪分布式啦下载安装包使用的是3.4.14版本https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/最先下载的是3.5.6版本然后一直报错Cannot open channel to X at election address Error contac...
2019-11-27 13:06:49 210
原创 Windows+Hadoop 伪分布式搭建
Windows+Hadoop 伪分布式搭建菜鸡程序员准备搭建伪分布式啦!下载安装包hadoop安装包: http://hadoop.apache.org/releases.html (试验下载了hadoop-3.1.3)hadoopWindows脚本:https://github.com/steveloughran/winutils (试验使用了hadoop-3.0.0)没办法…没找到两...
2019-10-31 21:01:53 1106
原创 Java PhantomJS+ECharts Windows 生成图片
Java PhantomJS+ECharts Windows 生成图片菜鸡程序员小童准备用Java生成图片啦,主要是为了生成图表哦简单的效果图开始准备下手吧~下载安装PhantomJS下载选择Windows版本,我选择的是2.1.1版本https://phantomjs.org/download.html部署环境PHANTOM_JS_HOME=D:\phantomjs\pha...
2019-10-23 19:57:06 859 3
原创 Paxos分布式一致性算法 Java实现
Paxos分布式一致性算法阅读《从Paxos到Zookeeper》一书第二章,学习Paxos算法。这个算法对我这个小菜鸡来说,看一遍书还是非常晦涩难懂的,所以不断参考网上生动形象的讲解及重复看了好多遍书上的这块内容,算是略懂一点了。但是现在还有好几个疑惑点:主Proposer如何选定,多个Proposer时,选定一个提案后其它操作全部停止吗?Prepare和Accept过程Accept...
2019-09-09 21:17:46 1498 2
原创 Hbase Batch 方式批量查询结果
Hbase多种方式查询结果采用不同的方式查询Hbse里的内容命令方式scan方式scan 't1', {COLUMNS=>'cf',VERSIONS=>20,TIMESTAMP=>1566300936}scan 't1' ,FILTER=>"ValueFilter(=,'binary:2014-01-30')" //过滤出等于此的值get方式get 't1'...
2019-08-20 20:02:38 5146
原创 Hbase Bulk Load 导入CSV 的两种方式
Hbase Bulk Load CSVHbase Bulk Load CSV第一次尝试bulk load 方式CSV快速导入Hbase,踩了不少坑,终于成功了数据0001,1565764353,Alice,1990-01-010002,1565764332,Bob,1992-01-010003,1565764343,Cindy,1994-01-010001,1565764345,A...
2019-08-14 14:51:43 1341 1
空空如也
使用脚本执行jar包和直接执行jar会有区别吗,会让CPU占用不一样吗
2021-11-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人