欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

 分类:开发语言

java 单例模式中双重检查锁定 volatile 的作用?

java 单例模式中双重检查锁定 volatile 的作用?
volatile 是保证了可见性还是有序性? 有序性:是因为 instance = new Singleton(); 不是原子操作。编译器存在指令重排,从而存在线程1 创建实例后(初始化未完成),线程2 判断对象不为空,但实际对象扔为空,造成错误。 可见性:是因为线程1 创建实...

water 2周前 (10-30) 47℃ 0评论 0喜欢

idea创建Gradle项目没有src目录

idea创建Gradle项目没有src目录
1.在用idea创建好自己的项目时,发现目录结构如下: 这时因为新建的文件夹不是Source Dir,所以需要自己在gradle里面添加一个Task任务 这时因为新建的文件夹不是Source Dir,所以需要在build.gradle里面添加一个Task任务 task&quo...

water 1个月前 (10-11) 79℃ 0评论 0喜欢

ClassLoader.loadClass 和Class.forName的区别

ClassLoader.loadClass 和Class.forName的区别
前言 在讨论之前,首先要明白一个Java类加载到JVM中经过的三个步骤 装载: 查找和导入类或接口的二进制数据 链接: 分别执行 校验,准备,和解析 校验: 检查导入类或接口的二进制数据的正确性; 准备: **给类的静态变量分配并初始化存储空间; ** 解析:...

water 1个月前 (10-09) 61℃ 0评论 0喜欢

记一次java native memory增长问题的排查

记一次java native memory增长问题的排查
1.摘要 最近排查了一个比较灵异的线上jvm内存持续增长的问题,排查过程异常艰辛,但是最后竟然是用最简单的办法搞定了…… 2.现象 线上机器部署了两个java实例,在运行几天后java开始吃swap空间,java实例的内存占用接近7G,程序响应很慢,重启后又恢复正常。线上配置的堆...

water 2个月前 (09-25) 75℃ 0评论 0喜欢

Java堆外内存排查小结

Java堆外内存排查小结
问题描述 通过本文,你应该了解: 1. pmap 命令 2. gdb 命令 3. perf 命令 4. 内存 RSS、VSZ的区别 5. java NMT 这几天遇到一个比较奇怪的问题,觉得有必要和大家分享一下。我们的一个服务,运行在docker上,在某个版本...

water 2个月前 (09-25) 102℃ 0评论 0喜欢

当Java虚拟机遇上Linux Arena内存池

当Java虚拟机遇上Linux Arena内存池
摘要: 故障案例一 系统环境: RHEL 6.8 64-bit(glibc 2.12)、Sun JDK 6u45 64-bit、WLS 10.3.6 故障现象: 这里引用一下客户当时发邮件时提出的问题描述吧。 故障案例一 系统环境: RHEL 6.8 64-bit(gl...

water 2个月前 (09-25) 79℃ 0评论 0喜欢

Slf4j MDC实现原理分析

Slf4j MDC实现原理分析
MDC ( Mapped Diagnostic Contexts )  有了日志之后,我们就可以追踪各种线上问题。但是,在分布式系统中,各种无关日志穿行其中,导致我们可能无法直接定位整个操作流程。因此,我们可能需要对一个用户的操作流程进行归类标记,比如使用线程+时间戳,...

water 4个月前 (07-30) 155℃ 0评论 0喜欢

JDK源码学习第一篇—-综述JDK类库分类

JDK源码学习第一篇—-综述JDK类库分类
借鉴参考文献中的分类从阅读JDK源码和理解JVM开始,本博客首先是自己学习过程的一个记录,写下自己的理解和心得,希望能坚持下去以期进阶;如果有读者赏光阅读,发现笔者的错误敬请不吝赐教,大家探讨共同进步。 第一类:精读源码   /*   &...

water 4个月前 (07-17) 162℃ 0评论 0喜欢

内存映射文件原理探索

内存映射文件原理探索
首先说说这篇文章要解决什么问题? 1.虚拟内存与内存映射文件的区别与联系. 2.内存映射文件的原理. 3.内存映射文件的效率. 4.传统IO和内存映射效率对比. 虚拟内存与内存映射文件的区别与联系  二者的联系 虚拟内存和内存映射文件都是...

water 4个月前 (07-05) 193℃ 0评论 0喜欢

ConcurrentHashMap使用要点

ConcurrentHashMap使用要点
ConcurrentHashMap的简要总结: 1、public V get(Object key)不涉及到锁,也就是说获得对象时没有使用锁; 2、put、remove方法要使用锁,但并不一定有锁争用,原因在于ConcurrentHashMap将缓存的变量分到多个Segment,...

water 5个月前 (06-14) 267℃ 0评论 0喜欢

如何阅读源代码

如何阅读源代码
1. 看了几天的源码,进度很慢,过于关注代码的实现细节了,反而很难看清楚整体结构。于是google寻找方法,大体上分析源代码都要经历三遍过程,第一遍是浏览,通过阅读源码的文档和注释,阅读接口,先弄清楚每个模块是干什么的而不关心它是怎么做的,画出架构草图;第二遍是精读,根据架构草图...

water 9个月前 (02-23) 573℃ 0评论 0喜欢

程序语言发展介绍

程序语言发展介绍
早期首选VB,Delphi或者MFC开发界面,虽然也有用Foxpro、PowerBuilder,但现在基本都没了。现在比较多的是 微软技术 –> .NET Window From,WPF,MFC,WTL,DirectX       ...

water 10个月前 (01-29) 407℃ 0评论 0喜欢

IDEA里面的facets和artifacts的讲解mark as

IDEA里面的facets和artifacts的讲解mark as
Facets: Facets表述了在Module中使用的各种各样的框架、技术和语言。这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。 使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各...

water 10个月前 (01-12) 957℃ 0评论 0喜欢

半小时学遍互联网营销分析专用名词

半小时学遍互联网营销分析专用名词
你对互联网营销数据分析的名词了解多少,如果觉得自己足够资深,看一眼即明确含义的人可略过,不懂或者半解的童鞋一定要细细研究了,首先对概念都不了解,何来的深入!你说是吧? 一共是关于互联网营销数据分析的9个部分的名词: 最基本的名词 数据分析专用词 互联网和互联网营销分析技术领域 ...

water 11个月前 (12-12) 424℃ 0评论 0喜欢