----2.1.4.JMM
文章平均质量分 78
leoIsCoding
Github : [ https://github.com/leoChaoGlut ]
Email : [ leoIsCoding@163.com ]
展开
-
实战SoftReference被回收的时机
这是我最近在开发的一个基于客户端发现模式(因为基于服务端发现的都比较多了,consul还做得很好)的服务注册发现框架: https://github.com/leoChaoGlut/ServiceDIscoveryAndRegistry然后在过程中遇到这样一个问题:在做client-service-proxy的时候,要实现一个负载均衡算法.我选了比较常用的原创 2016-08-10 00:18:06 · 2840 阅读 · 0 评论 -
Java 8并发工具包漫游指南
Java 8并发工具包由3个包组成,分别是java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.locks,提供了大量关于并发的接口、类、原子操作类、锁相关类。借助java.util.concurrent包,可以非常轻松地实现复杂的并发操作。java.util.concurrent包主要包含以下内容,后文将具体介转载 2017-04-18 00:00:43 · 561 阅读 · 0 评论 -
java内存泄漏的定位与分析
1、为什么会发生内存泄漏Java如何检测内在泄漏呢?我们需要一些工具进行检测,并发现内存泄漏问题,不然很容易发生down机问题。编写java程序最为方便的地方就是我们不需要管理内存的分配和释放,一切由jvm来进行处理,当java对象不再被应用时,等到堆内存不够用时,jvm会进行垃圾回收,清除这些对象占用的堆内存空间,如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从转载 2017-03-27 22:14:15 · 30224 阅读 · 0 评论 -
Java GC之常见垃圾收集器参数总结
上一篇文章简单写了几种常见的垃圾收集器,俗话说,好记性不如烂笔头,今天总结一下这些垃圾收集器的参数总结,供自己和需要的读者将来查阅-XX:+UseSerialGC : Jvm运行在Client模式下的默认值,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收-XX:+UseParNewGC : 打开此开关后,使用ParNew + Serial Old的转载 2017-03-06 09:34:01 · 965 阅读 · 0 评论 -
从 JVM 内存模型谈线程安全
作为一个三个多月没有去工作的独立开发者而言,今天去小米面试了一把.怎么说呢,无论你水平如何,请确保在面试之前要做准备,就像其中一位面试官说的一样,我知道你水平不错,但是无论如何也是要准备下的,不然你怎么会连这个方法也忘记了?此刻,我突然觉得我是一个假程序员.为什么这么说呢,作为一个从12年就开始写代码的程序员来说,忘记某个方法太可耻了.等赶明写一篇文章就叫做”我是个假程序员”来谈谈这些有趣转载 2017-03-05 12:43:23 · 1649 阅读 · 0 评论 -
深入理解 Java G1 垃圾收集器
本文首先简单介绍了垃圾收集的常见方式,然后再分析了G1收集器的收集原理,相比其他垃圾收集器的优势,最后给出了一些调优实践。一,什么是垃圾回收首先,在了解G1之前,我们需要清楚的知道,垃圾回收是什么?简单的说垃圾回收就是回收内存中不再使用的对象。垃圾回收的基本步骤回收的步骤有2步:查找内存中不再使用的对象释放这些对象占用的内存1,查找内存中不再使用的对转载 2016-12-25 09:59:11 · 2983 阅读 · 0 评论 -
The JVM Architecture Explained
Learn more about the advantages of moving from a monolithic to microservices architecture. Brought to you in partnership with IBM.Every Java developer knows that bytecode will be executed by转载 2016-12-18 12:51:03 · 441 阅读 · 0 评论 -
IO型任务,线程池越大越好?
网传 "CPU密集型任务,线程池size应为CPU数+1; IO密集型任务,线程池size应为CPU数/(1-阻塞系数)".并且,类似的话也出现在 这本书里.但是,今天正好做到一个类似的东西,于是乎就测试了一下,很奇怪,结果恰恰相反.1.环境:1.1.jdk1.81.2.mysql5.6 (数据库位于本地Ubuntu16.04虚拟机中)1.3.win10 64bi原创 2016-12-12 00:04:49 · 3835 阅读 · 1 评论 -
2016年书单
1.JavaEE开发的颠覆者: Spring Boot实战2.微服务架构与实践3.分布式服务框架原理与实践原创 2016-07-08 12:27:16 · 1037 阅读 · 0 评论 -
我的Java后端书架 (2016年暮春3.0版)
书架主要针对Java后端开发。3.0版把一些后来买的、看的书添补进来,又或删掉或降级一些后来没有再翻开过的书。更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。 1. 操作系统与网络的书《Linux内核设计与实现 第3版》Robert Love用最薄的篇幅转载 2016-07-10 10:55:33 · 1627 阅读 · 0 评论 -
Java并发编程:volatile关键字解析(推荐!)
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们转载 2016-07-06 17:49:12 · 1192 阅读 · 0 评论 -
深入分析Volatile的实现原理
引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是 轻量级的synchronized ,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的转载 2016-07-11 10:27:18 · 4457 阅读 · 0 评论 -
JSR133中文版
原文链接 译文链接 翻译:丁一 下载:JSR133中文版本文是JSR-133规范,即JavaTM内存模型与线程规范,由JSR-133专家组开发。本规范是JSR-176(定义了JavaTM平台 Tiger(5.0)发布版的主要特性)的一部分。本规范的标准内容将合并到JavaTM语言规范、JavaTM虚拟机规范以及java.lang包的类说明中。本JSR-133规范将不再通过JC转载 2018-01-24 09:50:02 · 763 阅读 · 0 评论