wangjun5159的专栏

个人QQ:851228082,欢迎加入全栈技术QQ群:332770857

java进程 cpu100%问题排查

排查java进程cpu100%的大致过程 之前也排查过cpu 100%的问题,排查java cpu100%的问题,大致步骤是固定的,首先找到占用cpu的进程,如果是java进程,则继续查看是哪个线程占用cpu,然后到处线程栈,找到对应的线程,这时候就定位到具体哪行代码了,基本上问题就解决了。 故事...

2019-06-04 12:39:25

阅读数 21

评论数 0

java 枚举的真面目

源码 public enum EnumTest { ONE, TWO, THREE, ; } jad -o EnumTest.class 生成EnumTest.jad 反编译后 public final class EnumTest extends Enum { public static En...

2019-05-06 08:32:00

阅读数 79

评论数 0

unicode、gbk、iso8859-1、ascii、utf-8、utf-16、utf-32

问题 程序出现乱码了,为什么? unicode、gbk、iso8859-1、ascii、utf-8、utf-16、utf-32,这几个名词,代表什么?它们之间有什么关系? utf8没有字节序、utf-16、utf-32有字节序,为什么?大端序、小端序又指的是什么? 解答 为了解答以上问题,有必...

2019-05-06 08:30:07

阅读数 154

评论数 0

opened too many files

opened too many fileslinux把socket当做文件管理,一个socket就是一个文件描述符,同时linux对文件描述符分别在进程和系统级别进行限制,也就是说一个进程打开多少个文件是受限制的,同时操作系统中所有进程打开的文件数也受限制。 通常出现此问题是由于程序中打开了文件...

2018-02-08 15:03:31

阅读数 168

评论数 0

java 获取类和父类的属性和方法

问题在日常开发中,经常需要获取当前类和父类的所有属性,没办法只能查API了。getDeclaredFields VS getFields查阅API得知,class.getDeclaredFields()能获取所有属性(public、protected、default、private),但不包括父类...

2018-02-08 14:37:17

阅读数 7678

评论数 0

httpclient connecttimeout sockettimeout区别

解释httpclient作为http工具包,是基于socket的封装,所以httpclient的connectTimeout、socketTimeout到底层都是socket的connectTimeout、socketTimeout首先看一下 java api,对connectTimeout、so...

2017-09-30 11:04:09

阅读数 9489

评论数 0

socket的connecttimeout不起作用

场景是这样的, tomcat启动后,我又起了vpn,全局加速,程序连接局域网ip,提示connect time out我推测 socket连接一个不存在的ip,很快就会提示连不上,而不是等到指定时间才报错。推测可能底层网络已经确定目标不可达所以不会一直重试直到connecttimeout参考h...

2017-07-19 16:31:07

阅读数 2065

评论数 0

java 枚举的真面目

在开发中,经常用到枚举,但一直没有认真研究过它。首先看一下枚举接口定义的方法 Enum.java 枚举中的常量是什么? 如何创建的?有哪些特性? values() 方法从哪而来?ordinal()方法从哪而来?jvm是如何知道元素的次序的?

2017-04-06 21:00:17

阅读数 480

评论数 0

java 为什么遍历的时候不能删除元素

阿里巴巴java开发手册的建议在看阿里巴巴java开发手册时,有一条建议是这样的。 【强制】不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。 反例: List<String> a...

2017-03-11 13:26:53

阅读数 6725

评论数 8

java foreach原理

foreach语法糖foreach是java的语法糖,所谓语法糖就是通过编译器或者其它手段优化了代码,给使用带来了遍历。比如,没有forach之前,我们需要这样遍历一个集合for(int i=0; i<list.size; i++){ //..... }是不是很麻烦?如果用foreach只需...

2017-03-11 12:55:20

阅读数 3686

评论数 9

java 为什么说,不推荐使用+来连接字符串?

在java中,有个说法,不推荐使用+来连接字符串,这是为什么呢? 来段测试代码这是源代码 String s = "a"+"b"+"c"; for(int i=0; i<10; i++){ s=s+"a&quo...

2017-03-10 21:12:39

阅读数 1025

评论数 0

java 等待所有线程执行完毕

问题的由来主线程等待所有线程都运行完后,再执行逻辑,这个需求很普遍。比如,在处理数据时,为了效率期间,起了10个线程,分别处理一块数据,这样能缩短处理时间,10个线程都执行完后,继续进行下边的逻辑(有点map/reduce的意思)。这里我们就需要用到java的线程同步类 CountDownLatc...

2017-01-22 16:34:55

阅读数 741

评论数 0

java.lang.NoClassDefFoundError:could not initial class xxxxxxxxx

/*Thrown if the Java Virtual Machine or a ClassLoader instance * tries to load in the definition of a class (as part of a normal method call ...

2016-10-01 18:46:22

阅读数 15742

评论数 0

UndeclaredThrowableException

undeclaredThrowableException APIUndeclaredThrowableException直译过来,就是未声明的throwable型异常,我们看它的api 如果代理实例的调用处理程序的 invoke 方法抛出一个经过检查的异常(不可分配给 RuntimeExcep...

2016-08-16 11:28:59

阅读数 10245

评论数 0

spring 扫描包 不起作用

问题spring中配置了包路径,但不扫描包,上网搜索后发现,eclipse导出包时勾选add directory entry就ok了。我的疑问是add directory entry作用是什么?spring扫包是什么原理,怎么会跟add directory entry有关系?add directo...

2016-08-16 10:43:06

阅读数 2428

评论数 0

java 浮点数 运算出错

java 浮点 运算出错

2016-05-10 13:50:45

阅读数 1586

评论数 0

java 泛型

java 泛型

2016-05-07 16:04:09

阅读数 886

评论数 0

java list 数组 转换

java list 数组 转换

2016-05-07 10:27:56

阅读数 475

评论数 0

下载jdk源代码 openjdk

jdk_home下的src.zip是java类库的源代码,oracle仅将类库开源了,如果想看native方法的实现、jdk的实现,需要下载openjdk 去openjdk选中src.zip,点击下载即可 eclipse中,右击rt.jar---->属性------>exter...

2015-12-25 21:19:18

阅读数 2785

评论数 0

jdk动态代理实现原理

动态代理的作用    我们都知道,spring的面向切面编程默认由jdk动态代理和cglib动态代理实现,使用动态代理我们可以无侵入的实现切面编程,比如日志管理、权限管理、事务管理等。jdk动态代理是面向接口的,cglib是面向普通类。弄明白了这两种动态代理实现原理也就懂了spring的aop编程...

2015-12-25 17:35:00

阅读数 563

评论数 0

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