- 博客(7)
- 收藏
- 关注
原创 JVM垃圾回收
判断对象是否存活可达性算法:从一系列称为“GC Roots”的根节点开始,根据引用关系向下搜素,某个对象到GC Roots间没有任何引用链(不可达),表明此对象不能再被使用。GC Roots集合:虚拟机栈中的对象(参数,局部变量,临时变量);方法区中:引用类型静态变量,字符串常量池里的引用;本地方法:Native方法引用的对象;虚拟机内部引用:基本数据类型对应的Class对象,异常对象,系统类加载器;Synchronized修饰的对象;反映Java虚拟机内部的情况的JMXBean,JVM..
2020-07-16 15:49:28 96
原创 List三种元素删除操作
List三种元素删除操作先创建一个list = [0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9]。for循环for (int j = 0; j < list.size(); j++) { if (list.get(j) == 5) { list.remove(j); System.out.println("for:" + list); } }结果为:for:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]。这样是会有问题的
2020-07-13 17:51:45 317 1
原创 Java多线程中的变量
一、 问题先看一个例子:public class Counter { public static int count = 0; public static void inc() { count++; } public static void main(String[] args) { // 同时启动1000个线程,去进行i++计算,看看实际结果 for (int i...
2019-06-20 20:30:22 1789
转载 Java ExecutorService四种线程池
一、new threadnew Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();弊端:a. 每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及...
2019-06-20 18:37:00 152
转载 Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
一.CountDownLatch用法CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch类只提供了一个构造器:public CountDownLatch(int count) { };...
2019-06-18 11:11:02 70
原创 SonarQube7.7安装使用步骤
1、到 https://www.sonarqube.org/downloads/ 下载安装包 (7.7版本要求jdk1.8及以上)2、解压安装包3、\bin\windows-x86-64 目录下 StartSonar.bat启动4、登录 http://localhost:9000/ ,进入网页安装成功。5、mysql数据库创建数据库及用户(赋予用户权限) (注:5.6 <=数据库...
2019-04-12 22:31:05 3779 2
原创 Sonarqube5.5安装使用步骤
Sonarqube5.5安装使用步骤1、到 https://www.sonarqube.org/downloads/ 下载安装包 (当前版本5.5,适应jdk1.7;5.6以后版本要求jdk1.8以上)2、解压安装包3、\bin\windows-x86-64 目录下 StartSonar.bat启动4、登录 http://localhost:9000/ ,进入网页安装成功。5、my...
2019-04-12 22:17:30 478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人