Published onApril 10, 2023全栈开发全栈开发前后端分离技术选型最佳实践AngularSpringTypeScriptJavaJavaScript讨论了前后端分离可能遇到的问题,如协作不畅、边界模糊导致 bug 等,并提出全栈开发作为解决方案,强调开发者应关注业务知识和端到端交付。
Published onJuly 14, 2022解决 ABA 问题JavaConcurrencyCASABAAtomicStampedReferenceCAS (Compare and set)很好用,但是也有问题:1、CAS 本质上是自旋锁,在锁竞争比较激烈的情况下或者单核 CPU 的情况下,性能并不高。2、存在 ABA 问题,可能导致数据不一致。本文介绍了 ABA 问题的原因以及使用 AtomicStampedReference 解决该问题的方法。
Published onNovember 14, 2021Spring Security如何处理一个请求SpringSpring-SecurityJava安全本文详细介绍了Spring Security的架构以及请求处理流程,帮助开发者理解Spring Security的工作原理。
Published onOctober 3, 2021Spring Boot是如何处理异常的Spring-Boot异常处理Java@ExceptionHandler@ControllerAdvice@ResponseStatusResponseEntityExceptionHandler本文介绍了Java的异常体系,重点讲解了Spring Boot中处理异常的多种方式,包括使用@ResponseStatus、@ExceptionHandler和@ControllerAdvice注解,以及通过继承ResponseStatusException或ResponseEntityExceptionHandler来自定义异常处理逻辑。
Published onJuly 1, 2021编码与解码编码解码base64Java本文介绍了计算机内部的二进制表示,以及常见的编码标准如ASCII。重点讲解了Base64编码的原理、Java实现、填充规则及其在邮件系统中的应用,并区分了编码与加密。
Published onNovember 18, 2020有限状态机和状态模式FSMState-PatternDesign-PatternJava有限状态机(Finite-State Machine)是一种计算模型,状态模式是一种设计模式。本文比较了两者,并介绍了如何使用状态模式和枚举来实现有限状态机。
Published onMarch 2, 2020动态一时爽pythonjavadynamic-typingstatic-typingprogramming-languagessoftware-developmentmypy对比动态类型语言(Python)和静态类型语言(Java)在项目开发中的优缺点,特别是错误率和类型检查方面。
Published onNovember 16, 2018写优雅的代码:异常处理coding-styleexception-handlingpythonjavabest-practices讨论代码风格中的异常处理,强调不要吞掉异常、具体捕获异常以及避免捕获整个代码块。
Published onMay 6, 2015分享一下我的 vim 配置Vim配置编辑器插件WindowsLinuxC++Java开发环境分享作者长期使用 Vim 总结的配置文件,支持一键编译执行 C/C++/Java,包含详细的配置说明和使用心得。提供了 Windows 和 Linux 下的配置方法及插件。