横云断岭的专栏

日落黄金台金黄落日--微信公众号:横云断岭的专栏

深入Spring Boot系列

原理/使用 spring boot应用启动原理分析 spring boot executable jar/war 原理 深入Spring Boot:ClassLoader的继承关系和影响 深入Spring Boot:Spring Context的继承关系和影响 深入Spring Boot:实现...

2018-07-25 19:13:16

阅读数:339

评论数:0

spring boot应用启动原理分析

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

2015-11-30 22:36:38

阅读数:166156

评论数:38

新blog地址: http://hengyunabc.github.io/

新blog地址http://hengyunabc.github.io/新blog切换到github.io 上,先试用一段时间。

2015-02-17 10:53:15

阅读数:3901

评论数:0

利用redis + lua解决抢红包高并发的问题

抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点。 因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可。 另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,人...

2014-02-20 20:08:26

阅读数:123585

评论数:30

深入Spring Boot--使用Arthas排查Spring Boot应用404/401问题

背景 在Java Web/Spring Boot开发时,很常见的问题是: 网页访问404了,为什么访问不到? 登陆失败了,请求返回401,到底是哪个Filter拦截了我的请求? 碰到这种问题时,通常很头痛,特别是在线上环境时。 本文介绍使用Alibaba开源的Java诊断利器Arthas,来快...

2019-01-13 23:19:29

阅读数:782

评论数:0

当DUBBO遇上Arthas - 排查问题的实践

Apache Dubbo是Alibaba开源的高性能RPC框架,在国内有非常多的用户。 Github: https://github.com/apache/incubator-dubbo 文档:http://dubbo.incubator.apache.org/zh-cn/ Arthas是Al...

2018-12-07 02:15:04

阅读数:861

评论数:1

Alibaba应用诊断利器Arthas 3.0.5版本发布:提升全平台用户体验

Arthas从9月份开源以来,受到广大Java开发者的支持,Github Star数三个月超过6000,非常感谢用户支持。同时用户给Arthas提出了很多建议,其中反映最多的是: Windows平台用户体验不好 Attach的进程和最终连接的进程不一致 某些环境下没有安装Telnet,不能连接到...

2018-11-30 01:14:02

阅读数:817

评论数:0

深入Spring Boot:利用Arthas排查NoSuchMethodError

前言 有时spring boot应用会遇到java.lang.NoSuchMethodError的问题,下面以具体的demo来说明怎样利用arthas来排查。 Demo: https://github.com/hengyunabc/spring-boot-inside/tree/master/de...

2018-11-01 00:21:18

阅读数:797

评论数:0

Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清楚是什么logger打印出来的,所以想定位就比较头疼。 下面介绍用Alibaba开源的应...

2018-11-01 00:19:51

阅读数:756

评论数:0

Arthas实践--抽丝剥茧排查线上应用日志打满问题

现象 在应用的 service_stdout.log里一直输出下面的日志,直接把磁盘打满了: 23:07:34.441 [TAIRCLIENT-1-thread-1] DEBUG io.netty.channel.nio.NioEventLoop - Selector.select() retur...

2018-11-01 00:17:41

阅读数:944

评论数:0

深入Spring Boot:编写兼容Spring Boot1和Spring Boot2的Starter

前言 Spring Boot 2正式发布已经有段时间,应用升级之前,starter先要升级,那么如何支持Spring Boot 2? 为什么选择starter同时兼容spring boot 1和spring boot 2 从用户角度来看 如果不在一个starter里兼容,比如用版本号...

2018-07-25 19:05:24

阅读数:429

评论数:0

Kotlin里的Extension Functions实现原理分析

Kotlin里的Extension Functions Kotlin里有所谓的扩展函数(Extension Functions),支持给现有的java类增加函数。 https://kotlinlang.org/docs/reference/extensions.html 比如给Strin...

2018-07-24 01:40:20

阅读数:227

评论数:0

OpenJDK里的AsmTools简介

前言 https://wiki.openjdk.java.net/display/CodeTools/asmtools 在OpenJDK里有一个AsmTools项目,用来生成正确的或者不正确的java .class文件,主要用来测试和验证。 我们知道直接修改.class文件是很麻烦的,...

2018-07-19 21:04:08

阅读数:1890

评论数:0

思考gRPC :为什么是protobuf

背景 谈到RPC,就避免不了序列化的话题。 gRPC默认的序列化方式是protobuf,原因很简单,因为两者都是google发明的,哈哈。 在当初Google开源protobuf时,很多人就期待是否能把RPC的实现也一起开源出来。没想到最终出来的是gRPC,终于补全了这一块。 跨语言的...

2018-07-19 18:59:22

阅读数:1476

评论数:0

思考gRPC :为什么是HTTP/2

背景 gRPC是google开源的高性能跨语言的RPC方案。gRPC的设计目标是在任何环境下运行,支持可插拔的负载均衡,跟踪,运行状况检查和身份验证。它不仅支持数据中心内部和跨数据中心的服务调用,它也适用于分布式计算的最后一公里,将设备,移动应用程序和浏览器连接到后端服务。 https://...

2018-07-19 18:55:50

阅读数:1790

评论数:5

从JVM heap dump里查找没有关闭文件的引用

背景 最近排查一个文件没有关闭的问题,记录一下。 哪些文件没有关闭是比较容易找到的,查看进程的fd(File Descriptor)就可以。但是确定fd是在哪里被打开,在哪里被引用的就复杂点,特别是在没有重启应用的情况下。 在JVM里可以通过heap dump比较方便地反查对象的引用,从而找...

2018-07-02 02:03:00

阅读数:218

评论数:0

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

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

2018-06-14 15:07:31

阅读数:2276

评论数:1

优化技巧:提前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

阅读数:569

评论数: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

阅读数:509

评论数:1

深入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

阅读数:6616

评论数:0

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