![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端开发进阶之路
文章平均质量分 95
Jin_Kwok
QS TOP100 硕士研究生学历,CSDN博客专家,曾在阿里、微软等公司重要项目中担任技术负责人或核心研发成员。
展开
-
Java 日志系列(三):日志使用示例及常见报错
详细解读Java日志使用案例及常见报错1: Failed to load class "org.slf4j.impl.StaticLoggerBinder";报错2:Class path contains multiple SLF4J bindings;报错3:Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError原创 2023-09-12 09:54:34 · 390 阅读 · 0 评论 -
Java 日志系列(二):Java 日志使用中需要遵循的规范及注意事项
笔者将通过 3 篇文章全面系统地介绍 Java 日志框架,主要内容如下:日志的意义与价值;Java 日志框架进化史;日志门面与日志系统;日志框架的使用选择;日志使用中需要遵循的规范及注意事项;日志使用示例及常见报错。本文作为日志话题的第二篇,将结合具体案例介绍日志的使用。原创 2023-09-11 10:13:07 · 1003 阅读 · 0 评论 -
Java 日志系列(一):详解主流日志框架Log4j、Log4j 2、JUL、Commons Logging和Slf4j&Logback
优雅的日志系统可以记录操作轨迹,监控系统运行状况以及回溯系统故障。在工作中,部分工程师对主流的日志框架仍然是一知半解,日常应用还停留在复制粘贴的层面,因此写作本文,希望对读者有所帮助。笔者将通过 3 篇文章全面系统地介绍 Java 日志框架,主要内容如下:日志的意义与价值;Java 日志框架进化史;日志门面与日志系统;日志框架的使用选择;日志使用中需要遵循的规范及注意事项;日志使用示例及常见报错。原创 2023-09-11 10:00:54 · 2041 阅读 · 0 评论 -
后端开发进阶之路:后端开发核心竞争力之一抽象建模能力
服务端开发工程师在大部分工作时间里并不是在写代码,而是在抽象建模。工程师需将业务需求抽象成领域模型、模块、服务和系统,面向对象开发时需抽象出类和对象,面向过程开发时抽象出方法和函数。某种意义上,软件的本质就是抽象,建模则是系统地实施抽象的过程。作为一种将事物形象化的有效手段,建模可将现实世界中的事物及事物之间的关系准确地表达出来。本文通过一个真实案例详细深入浅出解读抽象建模。原创 2023-09-08 17:30:41 · 294 阅读 · 1 评论 -
后端开发进阶之路:从 Lock 指令前缀切入,解读 Java Volatile、CAS 及 Automic 包
初见之下,锁如同一把“万能钥匙”,但其缺陷也很明显——较“重”,并不适合简单的应用场景,比如,多线程环境下保证共享变量 i++ 操作的原子性,加锁可以实现,但有点“牛刀杀鸡” 的味道。因此,Java 提供了更 “轻” 的方案:volatile、CAS 和 Automic 系列原子类。三者联系紧密,volatile 和 CAS 都是基于 LOCK 指令前缀实现的,Automic 系列原子类是基于 volatile 和 CAS 实现的。原创 2023-09-05 17:35:41 · 350 阅读 · 0 评论 -
后端开发进阶之路:深入解读 Java 异常堆栈丢失原因
在应用程序的开发和维护中,通常需要借助运行日志来监控和定位问题。其中,在日志中打印异常堆栈信息对于定位问题极为重要,作为开发,对打印异常堆栈应该不陌生。笔者在实践中曾遇到一个奇怪的现象: Java 应用运行中,当发生 NullPointerException、ArithmeticException、ArrayStoreException、ClassCastException、ArrayIndexOutOfBoundsException 这几种异常时,异常的堆栈信息有时会莫名其妙地“丢失”。原创 2023-09-04 20:05:08 · 728 阅读 · 0 评论