腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
不会写文章的程序员不是好厨师
专栏成员
举报
30
文章
31726
阅读量
10
订阅数
订阅专栏
申请加入专栏
全部文章(30)
java(10)
xml(6)
spring(6)
编程算法(5)
http(3)
api(2)
jar(2)
网站(2)
企业(2)
容器(2)
缓存(2)
网络安全(2)
jvm(2)
aop(2)
c++(1)
node.js(1)
css(1)
html(1)
git(1)
linux(1)
jdk(1)
数据结构(1)
搜索文章
搜索
搜索
关闭
记录下多个BeanPostProcessor代理同个Bean的问题
spring
aop
网络安全
jdk
在去年研发XX项目时,需要一种字节码增强机制,用于增强HSF、Tair、TDDL等相关类,用于信息采集。当时考虑了好几种方案,也踩到了一些坑,特别是关于Spring AOP代理机制的一个缺陷,让我最后决定放弃使用Spring AOP,而采用了基于JVM-Sandbox的方案。写此文特地记录下这个坑,避免后人重复入坑(当然这个问题在5.0.5后应该是已经修复了)
LNAmp
2019-06-02
1.3K
0
JVM Flags介绍-Heap相关
jvm
java
以下的讨论的heap是这样的heap(堆):基于经典分类,分为young gen, old gen , permanent gen 。1.8已经没有permanent gen,不在该讨论范围
LNAmp
2018-09-05
1.6K
0
Spring源码初探-IOC(1)-Bean的初始化
java
对于一名Java码农来说,Spring真是太重要了。目前Spring的体系已经发展得非常壮大,其底层基石core,beans,context非常牢固。
LNAmp
2018-09-05
409
0
Spring源码初探-IOC(2)-Bean的初始化-自定义标签解析
spring
xml
http
前面一文介绍的是Spring对于DefaultElement的解析,例如bean/import/alias等,但是在Spring体系中也存在很多扩展标签,例如事务、aop等非Default标签。按一般的套路通常是先介绍在Spring体系下如何在XML配置文件中自定义标签,本文先介绍Spring对于自定义标签的解析过程,在知道了Spring怎么“读”XML配置之后,写其能“读懂”的配置就显得非常自然了。
LNAmp
2018-09-05
394
0
Spring源码初探-IOC(3)-Bean的初始化-bean的加载
spring
缓存
前面两篇文章主要介绍的是xml到BeanDefinition的过程,我们知道在使用Spring的过程中通常直接使用getBean(beanName)的方式,getBean返回的是实例化并且已经完成初始化后的对象。对于我们平时使用来说,创建一个对象通常会使用new,或者使用反射。我们使用反射instantiation对象,使用反射填充field,使用反射调用init方法,最终得到对象使用。Spring也是采用的同样的过程,只不过过程更为复杂,考虑的异常情况更多。
LNAmp
2018-09-05
617
0
日志那些事儿——slf4j集成logback/log4j
api
在日志Logger漫谈中提到了slf4j仅仅是作为日志门面,给用户提供统一的API使用,而真正的日志系统的实现是由logback或者log4j这样的日志系统实现,那究竟slf4j是怎样集成logback或者log4j的呢?
LNAmp
2018-09-05
1.9K
0
ThreadLocal解析与最佳实践
http
编程算法
java
用于同一个线程内的方法要共享某些变量或状态的时候,提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度
LNAmp
2018-09-05
1.2K
0
日志那些事儿——由一次bug引发的思考-client jar应该如何输出日志
jar
xml
前面几篇“日志那些事儿”讲解了日志的重要性和相关使用。以slf4j+logback的使用为例,我们的步骤为:
LNAmp
2018-09-05
489
0
Spring源码初探-IOC(4)-Bean的初始化-循环依赖的解决
缓存
spring
xml
在实际工作中,经常由于设计不佳或者各种因素,导致类之间相互依赖。这些类可能单独使用时不会出问题,但是在使用Spring进行管理的时候可能就会抛出BeanCurrentlyInCreationException等异常 。当抛出这种异常时表示Spring解决不了该循环依赖,本文将简要说明Spring对于循环依赖的解决方法。
LNAmp
2018-09-05
600
0
日志那些事儿——Logback源码解析
node.js
xml
在上篇文章日志漫谈中谈到,日志在监控报警、查错分析等方面有着非常重要的应用。Logback作为目前最火的日志系统,本文就简单分析一下logback日志打印的过程。
LNAmp
2018-09-05
2.3K
1
Spring源码初探-IOC(5)-ApplicationContext功能扩展及其扩展点
容器
spring
xml
前面几篇关于Spring的文章简单阐述了使用BeanFactory作为容器时bean的初始化过程。然而在实际使用中,我们并不会直接接触和编码BeanFactory,我们通常会使用另外一个功能更强、更完善的容器ApplicationContext。本文粗略讲述了ApplicationContext对于BeanFactory的功能扩展,并将重点放在了Spring在容器启动和初始化过程中提供的扩展点和事件发布上。扩展点让我们能够“插手和干预”Bean的初始化,通过容器发布的事件得以了解容器的一些内部过程。
LNAmp
2018-09-05
462
0
日志那些事儿——日志Logger漫谈
aop
api
xml
最近在关注限流、降级、监控等系统稳定性方面的技术,反复牵涉到的几个技术名词是日志log,Aop切片。
LNAmp
2018-09-05
1.1K
0
记一次"诡异"的git merge错误
git
今天照常开发,在日常部署测试的时候进行git merge 竟然出现了"代码丢失"的情况,相当诡异,特此记录。
LNAmp
2018-09-05
2K
0
日志那些事儿——谈谈需要日志输出的client jar应该如何设计
jar
上篇文章提到了应该如何设计需要输出日志的client jar,大概有三个比较重要的点。
LNAmp
2018-09-05
631
0
浅析AtomicLong以及Unsafe
c++
最近关注着限流、降级相关的设计,开源的Hystrix提供了一种设计思路。限流降级的前提是需要了解系统的各种状态,服务的响应情况,接口的调用情况,数据库的情况等等。其中很重要的一个指标就是qps,那么如何统计qps?Hystrix中有个设计非常好的类HystrixRollingNumber,非常适合用来统计qps。HystrixRollingNumber中利用了LongAdder来提高效率,所以本文先会介绍AtomicLong,UnSafe,下篇文章介绍LongAdder,下下篇文章介绍HystrixRollingNumber...
LNAmp
2018-09-05
586
0
伪共享(False Sharing)和缓存行(Cache Line) 大杂烩
编程算法
jvm
在上篇介绍LongAdder的文章中,我们最后留下了一个问题,为什么Cell中要插入很多个实际上并没有使用的Long变量?这个问题就得从False Sharing和Cache line开始说起。首先我们得知道Cache line是啥,推荐两篇文章:文章1和文章2。
LNAmp
2018-09-05
1K
0
浅析HystrixRollingNumber(用于qps计数的数据结构)
编程算法
考虑到一种需求场景,我们需要统计系统qps、每秒平均错误率等。qps表示每秒的请求数目,能想到的最简单的方法就是统计一定时间内的请求总数然后除以总统计时间,所以计数是其中最核心的部分。通常我们的额系统是工作在多线程的环境下,所以计数我们可以考虑使用AtomicInteger/AtomicLong系列,AtomXXX中没有使用锁,使用的是循环+CAS,在多线程的条件下可以在一定程度上减少锁带来的性能损失。但是在竞争特别激烈的情况,会大量出现cas不成功的情况带来性能上的开销。为了更进一步分散线程写的压力,JDK8中引入了LongAdder,前面的博客中介绍了LongAdder,LongAdder会分成多个桶,将每个线程绑定到固定的桶空间中进行读写,计数可以对所有的桶中的值求总数。前面提到求qps最简单的方法就是统计一定时间内的请求总数然后除以总统计时间,这样的方法虽然简单但是对有一定的问题,比如说统计出的qps跳跃性会比较大,不够平滑等。在本文中将介绍HystrixRollingNumber,这个数据结构在统计qps等类似的求和统计的场景下非常有用。
LNAmp
2018-09-05
1.5K
0
[翻译]Java 6,7,8中的String.intern
java
最近一直在关注“故障排查”的相关知识,首先着手的是OOM的异常。OOM异常通常会有Perm区的OOM(java7及以前)和HeapSpace的OOM,这两种各有不同的排查手段,但是在review上述两种案例的过程中,String.intern()是出现很多的一个方法,遂研究之。在网上找到了一篇写得不错的文章,就翻译下来给自己留点印象。原文地址:http://java-performance.info/string-intern-in-java-6-7-8/
LNAmp
2018-09-05
951
0
Spring Retry 学习记录
java
在很多场景中,我们需要“重试”,重试意味着反复执行一段代码直至成功,或者重试多次无果后标记失败。“重试”的出发点有可能是为了保持状态的一致,也有可能是为了容忍被调用方短暂的不可用。“重试”逻辑有可能是同步执行,也有可能是异步执行。异步有可能是将信息存入数据库定时任务重试,也有可能是通过异步消息,利用消息的重试机制,等等,不一而论。
LNAmp
2018-09-05
616
0
为Hibiscus写文之定时器篇——HashedWheelTimer
linux
网站
去年一年在简书大约写了25篇,在公司内网写了5篇博客。今年定个小目标吧,在简书产出高质量的博客50篇,加油!
LNAmp
2018-09-05
1.2K
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档