换了马甲的小强的博客

全力以赴,无怨无悔

使用ProcessExplorer分析占用CPU过高的Java线程

一、使用ProcessExplorer查看进程的线程信息,如截图 有上图我们可知道线程4396和1956两个线程CPU占用率比较高(系统没有一个用户使用的情况下); 二、使用计算器-程序员模式,将线程4396和1956转换为16进制,为112C和7A4 三、使用Java自带的jstack命令导出...

2019-05-08 21:35:07

阅读数 21

评论数 0

排序算法——简单排序算法

一、算法原理 通过N-1次遍历,从a[i+1] ~ a[n-1]中选择出最小的数a[j]将这个数设置到i位置。 二、算法分析 以数组{9,1,5,8,3,7,6}为例 第一轮 i = 0,从{9,1,5,8,3,7,6}中找出最小值1,交换位置后:[1, 9, 5, 8, 3, 7, 6] 第二...

2019-04-22 00:03:09

阅读数 15

评论数 0

排序算法——希尔排序

一、算法原理 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 二、算法实现 public static void main(String[] args) { int arr[]=...

2019-04-21 23:39:07

阅读数 17

评论数 0

排序算法——插入排序

一、基本原理 将一个数插入到已排序好的数列中,从而得到一个新的,个数+1的新的有序数列。 二、算法分析 以数组{6, 3, 8, 2, 9, 1,7}为例: i = 1:取3插入到有序数列[6]中,得到新的数列:{3, 6, 8, 2, 9, 1,7} i = 2:取8插入到有序数列[3,6]中...

2019-04-16 21:49:47

阅读数 32

评论数 0

排序算法——快速排序2

一、基本原理 选择第一个树作为基准数,通过一趟排序将比他小的数放在他左边,比他大的数放在他的右边。 选择第一个数做为基准数p; 从数列最后一个开始遍历,找出第一个比基准数小的数,索引为j,从数列第二个开始遍历,找出第一个比基准数大的数,索引为i;交换a[i]和a[j]的值; 重复上面步骤直到i ...

2019-04-14 15:11:32

阅读数 28

评论数 0

排序算法——快速排序

一、基本原理 选择一个基准数,通过一趟排序将比他小的数放在他左边,比他大的数放在他的右边。 选择基准数,通常是数列的一个元素; 将比基准数小的数放在基准数左边,把比基准数大的数放在基准数的右边,所以基准数放在数列的中间; 对“基准数左侧数列”和"基准数右侧数列"执行以上操作。...

2019-04-13 17:10:28

阅读数 29

评论数 0

排序算法——冒泡排序

一、算法原理 比较相邻两个元素a[j]和a[j+1],如果a[j] > a[j+1]则交换两个元素的位置; 对每一对相邻的元素执行同样操作,从而开始一对到结束一对,在这一步骤完成后最后一个元素就是最大的元素; 针对所有的元素重复以上的步骤,除了最后一个; 持续每次对越来越少的元素重...

2019-04-12 16:36:29

阅读数 31

评论数 0

Java软引用&弱引用使用示例代码

一、示例代码 public class ReferencesObjs { static class M2Object { byte[] m2 = new byte[2 * 1024 * 1024]; } public static void main(String[] args) ...

2019-04-04 18:15:13

阅读数 57

评论数 0

java.lang.StackOverflowError——因为设置Xss不恰当而导致的虚拟机栈溢出

一、问题现象 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'excelResultManager' defined in URL [file:/home/v5/Apac...

2019-04-03 17:09:43

阅读数 71

评论数 0

Lombok——Eclipse安装插件 & 使用说明

一、Lombok说明 一个简化编写POJO的插件,这样就可以不用写getter和setter方法了,以下为官网对Lombok说明。 Project Lombok is a java library that automatically plugs into your editor and bui...

2019-03-29 17:33:58

阅读数 36

评论数 0

Integer中IntegerCache使用及分析

一、IntegerCache介绍 IntegerCache为Integer类的缓存类,默认缓存了-128~127的Integer值,如遇到[-128,127]范围的值需要转换为Integer时会直接从IntegerCache中获取,具体如以下源码: public static Intege...

2019-03-27 22:39:55

阅读数 37

评论数 0

解决Jdk8调试的时候无法查看局部变量——重新编译rt.jar

一、问题现象 二、编译rt.jar操作步骤 在Eclipse中创建一个Java项目:jdk8(注意:要使用jdk而不是jre) 将src.jar中的内容解压到jdk8/src目录下 将编译报错的类和包删除; 右键export,选择导出为jar,命名为rt_debug.jar; 将rt_debu...

2019-03-27 11:29:02

阅读数 94

评论数 2

并发编程——使用AtomicStampedReference解决ABA问题

import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicStampedReference; p...

2019-03-22 18:07:09

阅读数 50

评论数 0

springboot——集成selenium模拟登陆

一、添加selenium依赖 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>se...

2019-03-19 17:31:45

阅读数 101

评论数 0

【深入理解Java虚拟机】笔记6:自定义ClassLoader两种方式例子

一、重写findClass实现: package com.example.jvm; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.nio...

2019-03-10 22:35:29

阅读数 63

评论数 0

【深入理解Java虚拟机】笔记5:Java类加载中被动引用例子

一、通过子类引用父类的静态字段,不会导致子类初始化 package com.example.jvm; public class SuperClass { static { System.out.println("superClass init!"); ...

2019-03-10 14:28:02

阅读数 72

评论数 0

【Tomcat学习】如何调整多个项目的顺序

背景 最近在做一个系统的集成的时候碰到Webapp下只放集成项目启动就没问题,然而把集成项目放到公司产品的Tomcat的webapp下就报Class无法加载等问题. 后面跟踪发现是由于【公司系统】大量使用System.setProperty将本应该是【公司系统】webapp的数据写到了全局中了,...

2019-03-07 14:48:44

阅读数 112

评论数 0

windows下wireshark本地回路抓包问题

本文转自:windows下wireshark本地回路抓包问题 准备用python的tcp套接字,在网上找了tcp的客户端和服务器的例程,准备测试下效果,比较简单,很快就能通信了。 心血来潮,想用wireshark抓取本地回路的测试包,结果发现怎么都抓不到127.0.0.1的tcp数据包,不管怎么看...

2019-03-05 22:07:53

阅读数 59

评论数 0

【深入理解Java虚拟机】笔记4:基于Visualvm+BTrace调试分析正式环境

1. BTrace简介 BTrace(https://github.com/btraceio/btrace)是sun公司推出的一款Java 动态、安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数、返回值、全局变量和堆栈信息等,并且做到最少的侵...

2019-02-19 23:31:17

阅读数 40

评论数 0

【深入理解Java虚拟机】笔记3:JConsole死锁代码示例

一、死锁模拟代码 public class MonitoringTest { static class SysnAdd implements Runnable { int a; int b; public SysnAdd(int a, int b) { this.a ...

2019-02-17 20:58:44

阅读数 33

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭