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

 分类:开发语言

在Intellij IDEA中使用Debug

在Intellij IDEA中使用Debug
 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。   所以学习下如何在Intellij IDEA中使用好Debug...

water 3天前 32℃ 0评论 0喜欢

使用JNI(Java Native Interface)的总结

使用JNI(Java Native Interface)的总结
 1. 什么是JNI? JNI(Java Native Interface) Java本地接口,又叫Java原生接口。它允许Java调用C/C++的代码,同时也允许在C/C++中调用Java的代码。可以把JNI理解为一个桥梁,连接Java和底层。其实根据字面意思,JNI...

water 3周前 (12-27) 48℃ 0评论 0喜欢

JNI的替代者—使用JNA访问Java外部功能接口

JNI的替代者—使用JNA访问Java外部功能接口
1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可。首先看下JNI调用C/C++的过程,注意写程序时自下而上,调用时自上而下。 ...

water 3周前 (12-26) 68℃ 0评论 0喜欢

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

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

water 3个月前 (10-30) 152℃ 0评论 0喜欢

idea创建Gradle项目没有src目录

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

water 3个月前 (10-11) 229℃ 0评论 0喜欢

ClassLoader.loadClass 和Class.forName的区别

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

water 3个月前 (10-09) 153℃ 0评论 0喜欢

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

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

water 4个月前 (09-25) 312℃ 0评论 0喜欢

Java堆外内存排查小结

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

water 4个月前 (09-25) 202℃ 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 4个月前 (09-25) 176℃ 0评论 0喜欢

Slf4j MDC实现原理分析

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

water 6个月前 (07-30) 247℃ 0评论 0喜欢

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

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

water 6个月前 (07-17) 234℃ 0评论 0喜欢

内存映射文件原理探索

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

water 7个月前 (07-05) 244℃ 0评论 0喜欢

ConcurrentHashMap使用要点

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

water 7个月前 (06-14) 352℃ 0评论 0喜欢