先打一个广告。 greys是一个很不错的java诊断工具:https://github.com/oldmanpushcart/greys-anatomy 最近尝试用greys来实时统计jvm里的异常生成数量,在增强Throwable时,发现应用会抛出StackOverflowError。下面记录详 ...
从java进程里dump出类的class文件的小工具--dumpclass
Serviceability Agent想要查看一些被增强过的类的字节码,或者一些AOP框架的生成类,就需要dump出运行时的java进程里的字节码。 从运行的java进程里dump出运行中的类的class文件的方法,所知道的有两种 用agent attatch 到进程,然后利用Instrumen ...
应用内置embeded tomcat,并打包为fat jar的解决方案
需求大量的微服务框架引起了一大波embeded tomcat,executable fat jar的潮流。显然spring boot是最出色的解决方案,但是spring boot有两个不足的地方: 不支持配置web.xml文件,对于旧应用迁移不方便 一些配置在web.xml里配置起来很直观,放到代 ...
spring boot executable jar/war 原理
spring boot executable jar/warspring boot里其实不仅可以直接以 java -jar demo.jar的方式启动,还可以把jar/war变为一个可以执行的脚本来启动,比如./demo.jar。 把这个executable jar/war 链接到/etc/init ...
spring boot应用启动原理分析
前言本文分析的是spring boot 1.3. 的工作原理。spring boot 1.4. 之后打包结构发现了变化,增加了BOOT-INF目录,但是基本原理还是不变的。 关于spring boot 1.4.* 里ClassLoader的变化,可以参考:http://hengyunabc.gith ...
禁止JVM执行外部命令Runtime.exec -- 由Apache Commons Collections漏洞引发的思考
update: 2015-11-16 新版apache commons collections 3.2.2修复漏洞新版本的apache commons collections默认禁止了不安全的一些转换类。可以通过升级来修复漏洞。参考release说明:https://commons.apache.o ...
利用github搭建个人maven仓库
缘起之前看到有开源项目用了github来做maven仓库,寻思自己也做一个。研究了下,记录下。 简单来说,共有三步: deploy到本地目录 把本地目录提交到gtihub上 配置github地址为仓库地址 配置local file maven仓库deploy到本地maven可以通过http, f ...
扯谈spring mvc之WebApplicationContext的继承关系
spring mvc里的root/child WebApplicationContext的继承关系在传统的spring mvc程序里会有两个WebApplicationContext,一个是parent,从applicationContext.xml里加载的,一个是child,从servlet-co ...
怎样写一个RefererFilter
缘起首先,用检查Referer的方式来防披御CSRF并不是很好的方法。因项目临时有需要,所以做为过渡方案。 为什么判断referer不是很好的办法? referer 可能为空 https跳转http没有referer https跳转不同的域名的https没有referer 通过特殊构造的POST请 ...
一个假链接引发的血案
以前写的一个贴子,被豆瓣小编删掉了。翻出来,聊做纪念。 一个假链接引发的血案 (2011-12-20 00:35) 某日找电影看,目标《晚秋》。 搜索 晚秋 ed2k,得到链接,1.42G,使用某工具离线下载完毕。 发现打不开,蛋疼。哥乃程序员,难到奈何不了你一小小文件。 于是用16进制方式打开 ...