hengyunabc的专栏

日落黄金台金黄落日 -- 横云断岭

深入Spring Boot:快速集成Dubbo + Hystrix

背景 Hystrix 旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以及监控和配置等功能。 Dubbo是Alibaba开源的,目前国内最流行的java rpc框架。 本...

2018-06-14 15:07:31

阅读数:21

评论数:0

优化技巧:提前if判断帮助CPU分支预测

分支预测 在stackoverflow上有一个非常有名的问题:[为什么处理有序数组要比非有序数组快?]( https://stackoverflow.com/questions/11227809/why-is-it-faster-to-process-a-sorted-array-than-a...

2018-05-16 20:05:18

阅读数:184

评论数:1

深入Spring Boot:实现对Fat Jar jsp的支持

spring boot 对于jsp支持的限制 对于jsp的支持,Spring Boot官方只支持了war的打包方式,不支持fat jar。参考官方文档: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-fea...

2018-05-16 19:48:13

阅读数:298

评论数:0

深入Spring Boot: 怎样排查 java.lang.ArrayStoreException

java.lang.ArrayStoreException 分析 这个demo来说明怎样排查一个spring boot 1应用升级到spring boot 2时可能出现的java.lang.ArrayStoreException。 demo地址:https://github.com/hengy...

2018-03-07 19:12:25

阅读数:1050

评论数:0

从java9共享内存加载modules说起

jdk9后加载lib/modules的方式 从jdk的代码里可以看出来,默认的实现加载lib/modules是用mmap来加载的。 class NativeImageBuffer { static { java.security.AccessController.d...

2018-02-23 15:35:19

阅读数:329

评论数:0

深入Spring Boot:排查@Transactional引起的NullPointerException

写在前面这个demo来说明怎么排查一个@Transactional引起的NullPointerException。https://github.com/hengyunabc/spring-boot-inside/tree/master/demo-Transactional-NullPointerE...

2017-12-14 19:37:02

阅读数:846

评论数:0

深入Spring Boot:怎样排查expected single matching bean but found 2的异常

写在前面这个demo来说明怎么排查一个常见的spring expected single matching bean but found 2的异常。https://github.com/hengyunabc/spring-boot-inside/tree/master/demo-expected-...

2017-12-09 22:12:59

阅读数:1627

评论数:0

深入Spring Boot:怎样排查 Cannot determine embedded database driver class for database type NONE

写在前面这个demo来说明怎么一步步排查一个常见的spring boot AutoConfiguration的错误。调试排查 Cannot determine embedded database driver class for database type NONE 的错误把工程导入IDE里,直接...

2017-12-09 22:10:19

阅读数:6956

评论数:2

深入Spring Boot:Spring Context的继承关系和影响

前言对于一个简单的Spring boot应用,它的spring context是只会有一个。 非web spring boot应用,context是AnnotationConfigApplicationContext web spring boot应用,context是AnnotationConf...

2017-08-21 20:36:05

阅读数:2444

评论数:1

深入Spring Boot:ClassLoader的继承关系和影响

前言对spring boot本身启动原理的分析,请参考:http://hengyunabc.github.io/spring-boot-application-start-analysis/Spring boot里的ClassLoader继承关系可以运行下面提供的demo,分别在不同的场景下运行,...

2017-08-19 16:31:31

阅读数:2438

评论数:1

深入Spring Boot:那些注入不了的Spring占位符(${}表达式)

Spring里的占位符spring里的占位符通常表现的形式是:<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSourc...

2017-07-20 00:54:07

阅读数:2099

评论数:0

正确实现用spring扫描自定义的annotation

在使用spring时,有时候有会有一些自定义annotation的需求,比如一些Listener的回调函数。比如:@Service public class MyService { @MyListener public void onMessage(Message msg){ ...

2016-05-01 14:07:04

阅读数:11050

评论数:2

详细分析罕见的ClassCircularityError异常导致的StackOverflowError

先打一个广告。greys是一个很不错的java诊断工具:https://github.com/oldmanpushcart/greys-anatomy最近尝试用greys来实时统计jvm里的异常生成数量,在增强Throwable时,发现应用会抛出StackOverflowError。下面记录详细的...

2016-04-10 13:11:46

阅读数:3355

评论数:0

从java进程里dump出类的class文件的小工具--dumpclass

Serviceability Agent想要查看一些被增强过的类的字节码,或者一些AOP框架的生成类,就需要dump出运行时的java进程里的字节码。从运行的java进程里dump出运行中的类的class文件的方法,所知道的有两种 用agent attatch 到进程,然后利用Instrument...

2016-04-09 19:50:04

阅读数:4304

评论数:0

spring boot executable jar/war 原理

spring boot executable jar/warspring boot里其实不仅可以直接以 java -jar demo.jar的方式启动,还可以把jar/war变为一个可以执行的脚本来启动,比如./demo.jar。把这个executable jar/war 链接到/etc/init...

2016-04-03 14:24:11

阅读数:8616

评论数:1

spring boot应用启动原理分析

spring boot quick start在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个Web Server。如果之前没有使用过spring boot可以通过下面的demo来感受下。 下面以...

2015-11-30 22:36:38

阅读数:151154

评论数:32

禁止JVM执行外部命令Runtime.exec -- 由Apache Commons Collections漏洞引发的思考

Apache Commons Collections远程代码执行漏洞最近出来一个比较严重的漏洞,在使用了Apache Commons Collections的Java应用,可以远程代码执行。包括最新版的WebLogic、WebSphere、JBoss、Jenkins、OpenNMS这些大名鼎鼎的J...

2015-11-13 20:40:42

阅读数:5645

评论数:2

开源全局配置中心XDiamond

项目地址: https://github.com/hengyunabc/xdiamond简介全局配置中心,存储应用的配置项,解决配置混乱分散的问题。名字来源于淘宝的开源项目diamond,前面加上一个字母X以示区别。wiki设计思路在线演示地址:xdiamond.coding.io,登陆选择sta...

2015-08-19 11:16:00

阅读数:21899

评论数:3

利用github搭建个人maven仓库

缘起之前看到有开源项目用了github来做maven仓库,寻思自己也做一个。研究了下,记录下。简单来说,共有三步: deploy到本地目录 把本地目录提交到gtihub上 配置github地址为仓库地址 配置local file maven仓库deploy到本地maven可以通过http, ftp...

2015-08-06 02:53:54

阅读数:19235

评论数:4

扯谈spring mvc之WebApplicationContext的继承关系

spring mvc里的root/child WebApplicationContext的继承关系在传统的spring mvc程序里会有两个WebApplicationContext,一个是parent,从applicationContext.xml里加载的,一个是child,从servlet-c...

2015-07-26 22:01:39

阅读数:10649

评论数:0

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