
JAVA
文章平均质量分 77
北洋神
大学之前是个学霸,高考时还是全校第一。大二时迷上了网络游戏“传奇三”等网游,后来大学延期一年毕业,沦为学渣。2008年参加工作,热爱游戏,喜欢反向模拟游戏数值,喜欢钻研服务器架构,喜欢简单。
展开
-
快速解读GC日志
本文是 Plumbr 发行的 Java垃圾收集指南 的部分内容。文中将介绍GC日志的输出格式, 以及如何解读GC日志, 从中提取有用的信息。我们通过 -XX:+UseSerialGC 选项,指定JVM使用串行垃圾收集器, 并使用下面的启动参数让 JVM 打印出详细的GC日志:-XX:+PrintGCDetails-XX:+PrintGCDateStamps-XX:+PrintGCTim转载 2017-06-19 22:03:31 · 278 阅读 · 0 评论 -
深入分析IntHashMap
[-] 一IntHashMap 11 准备 12 IntHashMap类图 13 IntHashMap流程图 二IntHashMap与HashMap比较 21 运行效率比较 22 Visual GC比较 23 结果分析 24 差异一 25 差异二 一、IntHashMap 1.1 准备 先转载 2017-09-02 10:29:23 · 1483 阅读 · 0 评论 -
深入研究Netty框架之ByteBuf类继承结构
ByteBuf类继承关系图如下:ReferenceCounted:对象引用计数器,初始化ReferenceCounted对象时,引用数量refCnt为1,调用retain()可增加refCnt,release()用于减少refCnt。refCnt为1时,说明对象实际不可达,release()方法将立即调用deallocate()释放对象。如果refCnt为0,说明对象被错误的引用。在Abs转载 2017-09-18 17:54:05 · 1327 阅读 · 0 评论 -
Java多线程——线程怎么来的?
并发处理的广泛应用是使得amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,是人类压榨计算机运算能力的最有力武器。并发并非一定得用多线程,多进程也可以,不过java里面谈论并发,大多数与线程脱不开关系。因此我们从线程说起。本文主要包含以下内容:线程的实现 线程的调度 线程状态切换线程的实现线程是比进程更轻量级的调度执行单位,在linux里面,线程和进程没有什转载 2017-09-07 09:51:18 · 268 阅读 · 0 评论 -
Java虚拟机-JVM各种参数配置大全详细
usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -XX:GCTimeRatio转载 2017-09-05 14:24:44 · 620 阅读 · 0 评论 -
JVM调优:选择合适的GC collector
正文之前,先介绍一人:Jon Masamitsu。此人背景不详,不过他在SUN做的就是JVM,所以他的blog我认为是每一个想对JVM调优的人都应该读一读的。本文的很多观点和一些图也是取自他的blog。blog link:http://blogs.sun.com/jonthecollector/ 在他的一篇blog【1】中,写到了GC调优的最重要的三个选项:排在第三位的是young转载 2017-09-04 17:51:59 · 252 阅读 · 0 评论 -
非阻塞同步算法与CAS(Compare and Swap)无锁算法
锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对多线程的锁进行判断就像两姐妹在为一个玩具在争吵,然后操作系统就是能决定他们谁能拿到玩具的父母,这是很慢的。用转载 2017-08-01 11:57:10 · 586 阅读 · 0 评论 -
常用 Java 静态代码分析工具的分析与比较
简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,希望能够帮助Java软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中。 引言 在Java软件开发过程中转载 2017-07-19 20:28:28 · 345 阅读 · 0 评论 -
Java并发编程:深入剖析ThreadLocal
Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解转载 2017-07-07 14:43:48 · 271 阅读 · 0 评论 -
Eclipse历代版本
Eclipse是日食的意思(是不是针对Sun公司呢?)Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2001年11月7日 ,Eclipse 1.0发布。半年之后,2002年6月27日E原创 2017-07-12 10:50:44 · 1110 阅读 · 0 评论 -
Jedis操作Redis--String类型
/** * String(字符串) * APPEND,BITCOUNT,BITOP,BITFIELD,DECR,DECRBY,GET,GETBIT,GETRANGE,GETSET,INCR,INCRBY,INCRBYFLOAT,MGET,MSET,MSETNX,PSETEX,SET,SETBIT,SETEX,SETNX,SETRANGE,STRLEN */public class转载 2017-11-25 22:54:52 · 510 阅读 · 0 评论