java
槿之
思考可以编织世界,编码能够增彩世界!
展开
-
Java 正则表达式
1匹配验证-验证Email是否正确Java | 复制1234567891011121314public static void main(String[] args) { // 要验证的字符串 String st转载 2017-03-23 18:44:26 · 186 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。转载 2017-06-28 17:27:42 · 208 阅读 · 0 评论 -
JVM CPU资源占用过高的问题排查
一、背景: 先执行一个java程序里面开了两个线程分别都在while循环做打印操作。 # java -cp ./test-threads.jar com.spiro.Main二、现象: 通过top命令查看当前CPU情况 可以看到有个java进程占用CPU过高,下面来排查是什么线程的什么代码导致CPU过高。三、步骤转载 2017-06-28 15:45:01 · 2905 阅读 · 0 评论 -
maven 打包可执行jar的方法
在这之前,我自己找了点maven的东西添加进来Maven内置变量说明: ${basedir} 项目根目录 ${project.build.directory} 构建目录,缺省为target ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes ${project.build.finalName} 产出物名称,缺省为${p转载 2017-07-14 14:42:01 · 373 阅读 · 0 评论 -
java 引用类型 强引用、弱引用、软引用、虚引用
1、强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: Object o=new Object(); // 强引用 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时...转载 2018-09-17 09:31:10 · 101 阅读 · 0 评论 -
Java动态代理深度解析
引言说起动态代理,很多人可能都没有直接去使用过。但是只要用过Spring,那动态代理就是一个是个绕不过的坎,因为Spring的核心特性之一AOP就是基于动态代理来实现的,那么什么情况下需要用到动态代理呢?场景考虑这样一个教师的接口:public interface Teacher { void teach();}假设我们有一个TeacherChan的实现类,陈...转载 2018-09-13 11:39:57 · 151 阅读 · 0 评论 -
Java 应用 频繁 FullGC 分析
一、JVM的内存分布1.1 JVM内存分布概况堆内存划分为: Eden、Survivor 和 Tenured/Old 空间1.2 Minor GC、Major GC、Full GC1.3 JVM垃圾回收算法二、应用的GC日志配置2.1 应用GC日志配置JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC 输出GC日志-verbose:gc 示输...转载 2018-09-29 11:15:53 · 6639 阅读 · 0 评论 -
hadoop hdfs 文件解压缩 lzo gzip格式
hadoop hdfs 文件解压缩 lzo gzip格式代码如下代码如下// An highlighted blockpackage com.mystery.learn.hadoop;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.apache.hadoop.i...原创 2018-10-17 17:52:00 · 4062 阅读 · 0 评论