优秀的IT技术网站收集

技术开发相关的网站很多,信息多得看不过来,很多优秀的技术网站和博客很难出现在搜索引擎的第一二页,而且很多好的原创文章都是英文的,干货实在是太多了,下面列举了一下:

1. jquery插件库

http://www.jq22.com/

2. spring框架官方文档

http://docs.spring.io/spring-framework/docs/current/spring-fra[……]

全文阅读

【译】JVM的默认参数

如果在META-INF/MANIFEST.MF文件里面设置了Main-Class属性,那么你就可以很方便的通过java -classpath myapp.jar Main命令甚至更简洁的java -jar myapp.jar命令,来启动java虚拟机。这些命令会使用默认的设置来启动JVM。

要想看到JVM执行时使用在使用哪些参数以及其各参数默认值,可以使用这个命令:

java -XX:[......]

全文阅读

[译]生产环境中异常堆栈丢失的解决方案

今天我发现生产环境日志中有许多NullPointerException 没有堆栈。我们发现,当一些异常抛出的足够多时,JIT编译器会优化掉异常堆栈。下面的代码可以重现异常堆栈丢失的问题。我们的代码跑在jdk 1.6上(小版本号不记得了)

用下面的命令运行上面代码,异常丢失的情况就出现了(异常栈的长度从2变为了[……]

全文阅读

ExceptionInInitializerError和NoClassDefFoundError和ClassNotFoundException的区别

ExceptionInInitializerError和NoClassDefFoundError

以前碰到几次NoClassDefFoundError异常,网上都说是因为静态语句块出现异常导致,但是我总是无法通过自己编写得简单事例代码重现(我自己写的代码总是抛出ExceptionInInitializerError,而不是NoClassDefFoundError),直到最近从其他文章看到了一段重[……]

全文阅读

error the @annotation pointcut expression is only supported at Java 5 compliance level or above

碰到了这个error the @annotation pointcut expression is only supported at Java 5 compliance level or above报错,一看就知道是jar包冲突,在网上百度了半天,大部分的说法都是把org.aspectj:aspectjweaver:jar包升级到1.6以上,但是我尝试了还是不行。这种spring的jar冲突,基[……]

全文阅读

eclipse的hot swap功能失效导致代码修改后必须重启web应用:Absent Line Number Information

很长时间一直被ecipse的hotSwap功能失效问题困扰,hotSwap是jvm的一个重要功能,它可以让你在正在运行的程序中,修改方法体内容,修改后的代码能在应用不重启的条件下生效。而且经常提示这样的错误:

Absent Line Number Information

The virtual machine was unable to remove all stack frames ru[……]

全文阅读

java dns解析缓存之源码解析

java默认情况会缓存dns解析的结果,导致的结果是当域名对应的ip已经变化后,正在运行的java程序不会立刻知道ip的变化,而是仍然访问的变化前的ip。问题来了,默认情况java虚拟机会缓存dns解析结果多少秒?如何修改缓存时间呢?能不能把dns解析缓存关掉呢?就这些问题,我研究了下源码,以下是源码解析。

dns缓存机制

以获取一个域名www.1688.com对应的ip为例,其代码踪迹是这样[……]

全文阅读

eclipse中文乱码问题解决方案汇总

eclipse中文乱码都是因为字符编码与默认的编码不符合导致的,有很多的方法可以解决,不需要安装任何插件就可以搞定。针对不同的情况,需要使用不同的方案,下面就针对一些案例讲解如何解决乱码问题。解决乱码问题的主要思路是设置正确合适的编码,如果不知道目标文件原本的编码,可以进行一定的尝试,通常尝试下GBK和UTF-8这两个编码即可。

1. 设置单个文件的字符编码,解决单个文件的乱码问题

有[……]

全文阅读