buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

上一页 1 2 3 4 5 6 7 8 9 10 ··· 22 下一页

2023年6月7日 #

Shiro自定义异常无法被捕获总是抛出AuthenticationException解决方案

摘要: 问题描述 配置Realm之后,发现在Realm中抛出的异常无法被捕获,抛出AuthenticationException异常。例如请求接收的token无效等,这致使log文件里出现大量这样的异常堆栈信息。我司系统会对通过应用log文件检测异常数量,达到阈值进行告警。 经内部研判,这种Shiro认证失 阅读全文

posted @ 2023-06-07 19:52 buguge 阅读(602) 评论(0) 推荐(0)

2023年6月5日 #

判断对象是否为null,小伙竟然用StringUtils.isEmpty(obj+"")

摘要: 为什么levyId+""在levyId是null时的值是字符串null? 阅读全文

posted @ 2023-06-05 14:55 buguge 阅读(187) 评论(0) 推荐(0)

2023年5月30日 #

“这代码编不下去了!”~如何在泛型方法里获取T的类型?

摘要: 我定义了一个hessian2反序列化的工具方法。为了便于使用,使用了泛型。可是遇到了一个问题,其中调用的Hessian2Input#readObject的入参类型是Class实例。那么,怎么获取泛型T的类型呢? /** * hessian2反序列化,得到反序列对象 * @param bytes 序列 阅读全文

posted @ 2023-05-30 11:42 buguge 阅读(67) 评论(0) 推荐(0)

2023年5月26日 #

这段代码会抛出NPE,你造吗?----封装AssertUtil来友好地利用断言

摘要: 运行下面代码,会抛出NPE。你知道为什么吗? import cn.hutool.core.lang.Assert; public class TestMain { public static void main(String[] args) { MyClass myClass = new MyCla 阅读全文

posted @ 2023-05-26 16:24 buguge 阅读(137) 评论(0) 推荐(0)

2023年5月17日 #

来点小匠心- - - -一个POJO类的开发迭代和代码调优

摘要: 知识就是力量,但更重要的是运用知识的能力。 【本文运用的知识点】1.最少知道原则;2.保留必要的javadoc注释;3.借助工具消除冗余代码 阅读全文

posted @ 2023-05-17 14:24 buguge 阅读(86) 评论(0) 推荐(0)

2023年5月16日 #

lombok.Getter cheated me

摘要: 我们熟知的lombok,分为lombok工具和lombok插件 阅读全文

posted @ 2023-05-16 14:13 buguge 阅读(133) 评论(0) 推荐(0)

2023年4月28日 #

这两个重载方法,你怎么重构?

摘要: 先看看下面SmsUtil类里的这两个重载方法 @ConfigurationProperties(prefix = "sms.config") @Setter public class SmsUtil { @Autowired private PlatformConfig platformConfig 阅读全文

posted @ 2023-04-28 12:52 buguge 阅读(183) 评论(0) 推荐(0)

2023年4月19日 #

enumgen升级,支持默认枚举项

摘要: 要解决的问题 >enumgen支持默认枚举项 我的插件工具enumgen投产后,在一次codereview时,我注意到,有的枚举里getBeanByCode是如下这样实现的。即,当无法匹配到对应枚举时,就返回一个默认枚举项。而我的enumgen生成的getBeanByCode里,最后是return 阅读全文

posted @ 2023-04-19 21:11 buguge 阅读(110) 评论(1) 推荐(0)

2023年4月11日 #

once do, do it well

摘要: CASE1:http工具类调用 昨天出现一个生产问题。我们的channel系统代码里,调用其中一个三方服务商的http接口时未设置超时时间。碰巧昨天出现一笔http请求持续数小时始终无响应,加之程序是单线程处理交易请求,就出现因为线程一直处于RUNNABLE状态而导致系统生产能力严重下降。 现在说这 阅读全文

posted @ 2023-04-11 21:50 buguge 阅读(117) 评论(0) 推荐(0)

2023年4月3日 #

解决javac注解处理器生成的方法,在编译时报错“找不到符号”

摘要: 最后的解决方案是修正对TreeMaker#Ident方法的使用,见如下AST代码变动 阅读全文

posted @ 2023-04-03 16:53 buguge 阅读(507) 评论(0) 推荐(0)

2023年3月28日 #

java reflection exception--can not access a member of class XXX with modifiers "private"

摘要: If you try to visit the value of an object's private field using reflection, such as Field#get or Field#set, you should call Field#setAccessible(true) ahead. 阅读全文

posted @ 2023-03-28 11:02 buguge 阅读(608) 评论(0) 推荐(0)

2023年3月24日 #

《这个让传“秒”,那个让传“毫秒”....别懵逼,应用开发中有这些常识》/《从“胡椒按两卖,白菜按斤卖”看应用软件开发的常识》

摘要: 当引用对象作为方法参数时,我们在方法内部只可更改内存中的内容,但不可变更内存地址。 阅读全文

posted @ 2023-03-24 16:56 buguge 阅读(243) 评论(0) 推荐(0)

2023年3月21日 #

IDEA Rebuild项目错误:Information:java: java.lang.AssertionError: Value of x -1

摘要: 问题:java.lang.AssertionError: Value of x -1 模仿lombok工具,我的enumgen工具基本上写完了。 发布后准备投产时翻车了!公司的项目emax-rpcapi-list依赖enumgen后,IDEA Rebuild Project时,或者maven pac 阅读全文

posted @ 2023-03-21 13:52 buguge 阅读(291) 评论(0) 推荐(0)

2023年3月9日 #

利用Javac AST增强枚举功能

摘要: 先就lombok开始本文 lombok想必大家都在使用。 lombok我们怎么用?——两步 Step1:程序添加lombok工具包的依赖。 Step2:IDE安装lombok插件。 就是说,我们需要两个东西:lombok工具(包) & lombok插件 lombok实现原理 1)lombok工具包 阅读全文

posted @ 2023-03-09 13:39 buguge 阅读(180) 评论(0) 推荐(0)

2023年3月6日 #

hard-coded strings are a bad idea.

摘要: Hard-Coding is a terribly bad practice. 阅读全文

posted @ 2023-03-06 20:00 buguge 阅读(47) 评论(0) 推荐(0)

2023年3月2日 #

sonar代码扫描bug:Use try-with-resources or close this "FileInputStream" in a "finally" clause.

摘要: try-with-resouces相当于显式在finally块里调用close方法 阅读全文

posted @ 2023-03-02 14:00 buguge 阅读(982) 评论(0) 推荐(0)

2023年2月28日 #

IDEA/MAVEN编译错误:不兼容的类型,推断类型不符合上限

摘要: 这就是我们熟知的泛型类型推导问题。我们知道,Map 阅读全文

posted @ 2023-02-28 10:28 buguge 阅读(4548) 评论(0) 推荐(0)

2023年2月24日 #

如何实现把多个git仓库合并为一个,并保留提交记录?

摘要: 网上是有解决方案的,主要是借助git的命令,堪称niubility。我对git命令不熟悉,我用我的“土法”。 阅读全文

posted @ 2023-02-24 12:13 buguge 阅读(1111) 评论(0) 推荐(0)

2023年1月19日 #

dubbo实战篇:dubbo超时设置

摘要: 在springboot项目中,dubbo消费者在设置dubbo超时时间时,可以在application.yml里设置属性 dubbo.consumer.timeout。这是服务级。也可以在@Reference注解上给timeout属性赋值,来指定特定接口的超时时间。 阅读全文

posted @ 2023-01-19 18:49 buguge 阅读(2647) 评论(1) 推荐(0)

2023年1月6日 #

Java中的POJO与JavaBean / Java Bean与POJO的区别与联系

摘要: POJO其实是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而一些JavaBean中往往会封装一些简单逻辑。 阅读全文

posted @ 2023-01-06 15:19 buguge 阅读(286) 评论(0) 推荐(0)

2023年1月1日 #

新年快乐!今天遇到一个问题:3个鸡蛋5元,6个鸡蛋多少钱?

摘要: 有人的解法可不是这样,而是先5÷3算出每一个鸡蛋的单价,然后再×6,得到最终答案。你也许会对这样子的解法嗤之以鼻。直接用5×2不就出来结果了嘛 阅读全文

posted @ 2023-01-01 16:51 buguge 阅读(646) 评论(1) 推荐(1)

2022年12月20日 #

hibernate validate工具,小心你的姿势不对

摘要: 问题出在 validatorFactory 和 validator 这两个局部对象的初始化上。尤其是初始化 validatorFactory调用Validation#buildDefaultValidatorFactory, 这个方法内部会涉及到xml文件的读取和类映射,可见,每次都做这个事情,CPU表示很无辜! 阅读全文

posted @ 2022-12-20 20:18 buguge 阅读(382) 评论(0) 推荐(0)

2022年12月16日 #

Hessian2序列化支持这个feature,让我们重构Dubbo接口更加容易

摘要: 我要说的是MyDto的num属性。当num是Integer时,我们得到hessian2序列化结果,然后,修改num为Long,前面的序列化结果可以正常反序列化。反之,num先是Long并且取值在int范围内,然后修改成Integer,亦能正常反序列化 阅读全文

posted @ 2022-12-16 19:04 buguge 阅读(704) 评论(0) 推荐(0)

2022年12月12日 #

JedisPool异常:Could not get a resource from the pool

摘要: JedisConnectionException: Could not get a resource from the pool 无法从连接池中获取到连接(资源)。 具体原因主要看异常堆栈信息里的Caused By子句。 下面Caused by可知,在调用borrowObject获取idle连接时, 阅读全文

posted @ 2022-12-12 21:17 buguge 阅读(1477) 评论(0) 推荐(0)

apache commons-pool2中GenericObjectPoolConfig的maxTotal、maxIdle、minIdle属性理解

摘要: 我们熟知的JedisPool,即是利用了commons-pool2来实现的。在Jedis中 JedisPoolConfig 继承自 GenericObjectPoolConfig 阅读全文

posted @ 2022-12-12 20:05 buguge 阅读(1962) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 22 下一页