- 博客(15)
- 资源 (12)
- 收藏
- 关注
转载 深入了解g1收集器(R大答网友问)
https://www.zhihu.com/question/62277180/answer/196715976从最高层看,G1的collector一侧其实就是两个大部分:* 全局并发标记(global concurrent marking)* 拷贝存活对象(evacuation)而这两部分可以相对独立的执行。Global concurrent marking基于SATB形式的并发标记...
2018-09-30 17:17:35 2242 1
原创 jdk工具之jvisualvm使用
一、介绍VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).从界面上看还是比较简洁的,左边是树形结构,自动显示当前本机所运行的Java程序,还可以添加远程的Java VM,其中括号里面的PID指的是进程ID。OverView界面显示VM启动参数以及该VM对应的一些属性。M...
2018-09-29 17:43:19 716
转载 匿名内部类类名规则($1,$2)
匿名内部类属于内部类的其中一种,从内部类讲起,内部类类型共有如下:1.成员内部类 public class A { String s; class B{ } } B就是成员内部类,实例化B需要先实例化A对象(B b = new A().new B();),B会持有A对象的引用,所以鉴于这点,引出java中的内存泄漏问题。2....
2018-09-29 14:40:47 3927
转载 java内部类实现(可能导致内存泄漏)
在使用java内部类的时候要注意可能引起的内存泄漏代码如下package com.example;public class MyClass { public static void main(String[] args) throws Throwable { } public class A{ public void methed1(){...
2018-09-29 11:35:38 3811
转载 jdk工具之jhat命令(Java Heap Analyse Tool)概述
Jhat用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINUX上导出的文件可以拿到WINDOWS上进行分析,可以查找诸如内存方面的问题。不过jhat和MAT比较起来,就没有MAT那么直观了,MAT是以图形界面的方式展现结果一、hat命令 -- Java Heap Analyse Tool介绍用途:是用来分析Java堆的命令,可以将堆...
2018-09-29 10:10:02 4182
转载 jmap使用详解
1、命令基本概述Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC...
2018-09-28 17:35:22 5862
转载 linux查看用户,管理用户命令
用过Linux系统的人都知道,Linux系统查看用户不是会Windows那样,鼠标右键看我的电脑属性,然后看计算机用户和组即可。 那么Linux操作系统里查看所有用户该怎么办呢?用命令。其实用命令就能很轻松的查看到Linux系统有哪些用户。 1、Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面...
2018-09-28 11:07:30 997
转载 ps -ef和ps -aux的区别
他们都是用来显示当前运行的进程,但是:ps aux 是用BSD的格式来显示 java这个进程显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMANDps -ef 是用标准的格式显示java这个进程显示的项目有:UID , PID , PPID , C , STIME , TTY , ...
2018-09-28 10:47:36 707
转载 了解redis pipeline
1. 参考的优秀文章Request/Response protocols and RTT2. 来源原来,系统中一个树结构的数据来源是Redis,由于数据增多、业务复杂,查询速度并不快。究其原因,是单次查询的数量太多了,一个树结构,大概要几万次Redis的交互。于是,尝试用Redis的Pipelining特性。3. 测试Pipelining使用与否的差别3.1. 不使用...
2018-09-26 16:02:07 149
原创 初探redis发布订阅
发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向redis se...
2018-09-20 17:38:23 245
转载 linux版本,Centos、Redhat、Ubuntu区别
CentOS的简介 CentOS是Community ENTerprise Operating System的简称,我们有很多人叫它社区企业操作系统,不管你怎么叫它,它都是Linux操作系统的一个发行版本。 CentOS并不是全新的Linux发行版,倘若一说到Red Hat这个大名,大家似乎都听过。在Red Hat家族中有企业版的产品,它是Red Hat Ente...
2018-09-17 16:31:28 34323 4
转载 CMS垃圾收集器与G1收集器详解
1、CMS收集器 CMS收集器是一种以获取最短回收停顿时间为目标的收集器。基于“标记-清除”算法实现,它的运作过程如下:1)初始标记2)并发标记3)重新标记4)并发清除 初始标记、从新标记这两个步骤仍然需要“stop the world”,初始标记仅仅只是标记一下GC Roots能直接关联到的对象,熟读很快,并发标记阶段就是进行GC Roots Tracing,而重新标...
2018-09-11 19:49:41 1299
原创 JVM 垃圾回收器详解
本文主要讲述JVM中几种常见的垃圾回收算法和相关的垃圾回收器,以及常见的和GC相关的性能调优参数。GC Roots我们先来了解一下在Java中是如何判断一个对象的生死的,有些语言比如Python是采用引用计数来统计的,但是这种做法可能会遇见循环引用的问题,在Java以及C#等语言中是采用GC Roots来解决这个问题。如果一个对象和GC Roots之间没有链接,那么这个对象也可以被视作是一...
2018-09-07 16:38:40 268
原创 JVM GC日志分析
常用JVM参数http://blog.csdn.net/gzh0222/article/details/8223277分析gc日志后,经常需要调整jvm内存相关参数,常用参数如下-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制-Xmx:最大堆大...
2018-09-07 16:17:43 3419
转载 redis单线程为什么效率很高
转自:https://blog.csdn.net/u010870518/article/details/79470556一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、...
2018-09-05 20:01:22 14127
A Byte of Python高清完整版
2018-09-17
Hadoop实战-陆嘉恒(高清完整版)
2018-09-17
git+github+gitserver学习资料
2018-09-17
TortoiseSVN-1.10-x64安装包
2018-08-15
SourceTree2.4.8安装包
2018-08-15
notepad++7.4.2安装包
2018-08-15
heidiSql_9.4版安装包
2018-08-15
gitbash安装包
2018-08-15
python3.6&3.7整合版
2018-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人