横云断岭的专栏

  • 首页

  • 归档

  • 标签

  • 分类

  • 关于

  • 搜索

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

发表于 2018-07-25 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

Kotlin里的Extension Functions实现原理分析

发表于 2018-07-24 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

思考gRPC :为什么是protobuf

发表于 2018-07-17 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

思考gRPC :为什么是HTTP/2

发表于 2018-07-13 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

OpenJDK里的AsmTools简介

发表于 2018-07-12 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

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

发表于 2018-07-02 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

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

发表于 2018-06-14 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

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

发表于 2018-05-16 | 更新于 2020-03-02 | 分类于 技术

分支预测在stackoverflow上有一个非常有名的问题:为什么处理有序数组要比非有序数组快?,可见分支预测对代码运行效率有非常大的影响。 现代CPU都支持分支预测(branch prediction)和指令流水线(instruction pipeline),这两个结合可以极大提高CPU效率。对于 ...

阅读全文 »

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

发表于 2018-05-16 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »

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

发表于 2018-03-07 | 更新于 2020-03-02 | 分类于 技术

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

阅读全文 »
1234…9

横云断岭/hengyunabc

日落黄金台金黄落日

89 日志
4 分类
108 标签
RSS
GitHub
© 2020 横云断岭/hengyunabc
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v6.7.0