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

 分类:java

PermGen and Metaspace

PermGen and Metaspace
PermGen is an abbreviation for Permanent Generation and it’s a special heap space which is separate from the main Java heap where JVM keeps ...

water 5个月前 (06-18) 202℃ 0评论 0喜欢

fullgc问题解决:Full GC (Metadata GC Threshold)

fullgc问题解决:Full GC (Metadata GC Threshold)
问题描述 在工作过程中,遇到一个问题:Tomcat在重启或者发布的时候,会有多次的full GC。 笔者使用的版本说明: Tomcat7.0.25 JDK8 首先排查JVM的问题,就要把GC日志打开 -XX:+PrintGC -XX:+PrintGCDetails -XX:+Pr...

water 5个月前 (06-18) 325℃ 0评论 0喜欢

JDK8 的FullGC 之 metaspace

JDK8 的FullGC 之 metaspace
前言: 由于最近写的程序在运行一段时间后出现高cpu,然后不可用故进而进行排查,最终定位到由于metaspace引起fullgc,不断的fullgc又占用大量cpu导致程序最终不可用。下面就是这次过程的分析排查和总结,便于以后温故,同时也希望能给遇到同样问题的同学一些参考。 一 ...

water 5个月前 (06-18) 307℃ 0评论 0喜欢

Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释

Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
一、线程5种状态 新建状态(New) 新创建了一个线程对象。 就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(Running) 就绪状态的线程获取了CPU,执行...

water 5个月前 (06-18) 197℃ 0评论 0喜欢

G1 垃圾收集器介绍

G1 垃圾收集器介绍
为解决CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(Garbage First)算法,通过参数-XX:+UseG1GC来启用,该算法在JDK 7u4版本被正式推出,官网对此描述如下: The Garbage-First (G1) c...

water 5个月前 (06-05) 194℃ 0评论 0喜欢

Java中 java.lang.Void和void 有什么作用和区别

Java中 java.lang.Void和void 有什么作用和区别
答:void关键字表示函数没有返回结果,是java中的一个关键字。java.lang.Void是一种类型,例如给Void引用赋值null的代码为Void nil=null; 。   通过Void类的源代码可以看到,Void类型不可以继承与实例化。      final&...

water 8个月前 (04-01) 364℃ 0评论 0喜欢

Java中任意对数函数求法

Java中任意对数函数求法
Java中任意对数函数求法 在java中求logxN, 首先要弄明白一个初中学到的公式logxN=logeN/logex, logeN代表以e为底的N的对数, logex代表以e为底的x的对数.       &...

water 8个月前 (03-05) 304℃ 0评论 0喜欢

java编程思想-读书摘要(一)

java编程思想-读书摘要(一)
前言   程序设计其实是对复杂性的管理:待解决问题的复杂性,以及用来解决该问题的工具的复杂性。 Java为程序员减少复杂度,减少开发健壮代码所需的时间以及困难。并着手解决各种复杂任务,例如(多线程和网络编程)   不要把java简单的看成一些特征的集合,有些特...

water 10个月前 (02-01) 358℃ 0评论 1喜欢

在Intellij IDEA中使用Debug

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

water 10个月前 (01-15) 363℃ 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 11个月前 (12-27) 320℃ 0评论 0喜欢

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

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

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

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

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

water 1年前 (2018-10-30) 556℃ 0评论 0喜欢

idea创建Gradle项目没有src目录

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

water 1年前 (2018-10-11) 1585℃ 0评论 0喜欢

ClassLoader.loadClass 和Class.forName的区别

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

water 1年前 (2018-10-09) 478℃ 0评论 0喜欢