编程语言:Java
Java编译期注解处理器AbstractProcessor
本文围绕编译器注解都是如何运行的呢? 又是怎么自动生成代码的呢?做出了详细介绍。
一些杂想:Java老矣,尚能饭否?
本文就Java真的老了吗展开讲述,诠释了作者作为一名Java开发者的所思所感。
Java程序员如何优雅编程
本文立足于编码规范之上,从研发角度探讨如何优雅编程,罗列一些策略,如卫语句使用、注解设计API、异常捕获特殊用法、链式编程等,基于这些策略可以使代码更加优雅易维护。
JDK8到JDK17有哪些吸引人的新特性?
根据Oracle的官方说法(Oracle JDK Releases for Java 11 and Later),从JDK11之后,OracleJDK与OpenJDK的功能基本一致。然后,Oracle宣布以后将会同时发行两款JDK:1. 一个是以GPLv2+CE协议下,由Oracle发行OpenJDK(简称为Oracle OpenJDK);2. 另一个是在OTN协议下的传统OracleJDK。这两个JDK共享绝大多数源码,核心差异在于前者可以免费在开发、测试和生产环境下使用,但是只有半年时间的更新支持。后者各个人可以免费使用,但是生产环境中商用就必须付费,可以有三年时间的更新支持。
一种新的流:为Java加入生成器(Generator)特性
一种全新的设计模式,数学美感与工程实用价值兼备,且不限编程语言。本文将以Java为样例,从无到有实现出完整的流式API,引入生成器特性,并介绍诸多应用场景。
上线十年,81万行Java代码的老系统如何重构
本文借着CRP-付款模块的改造,总结和抽象了一些老系统改造的方法。希望能对遇到类似问题的同学有所帮助。
Golang与Java全方位对比总结
对比二者的基础语法、结构体函数、异常处理、并发编程等。
JAVA多线程并发编程-避坑指南
开发过程中,多线程的应用场景可谓十分广泛,可以充分利用服务器资源,提高程序处理速度。我们通常也会使用池化技术,去避免频繁创建和销毁线程。
本篇旨在基于编码规范、工作中积累的研发经验等,整理在多线程开发的过程中需要注意的部分,比如不考虑线程池参数、线程安全、死锁等问题,将会存在潜在极大的风险。并且对其进行根因分析,避免每天踩一坑,坑坑不一样。
如何让ChatGPT充当细致入微的Java代码优化工?
瑕不掩瑜,ChatGPT为代表的LLM模型,在充当我们无所不知的老师、充当不知疲倦的通用Util代码编写者这些角色时能极大的提高我们的开发效率,尤其在数据分析、前端、单测、重构等领域。
JAVA中如何高效的实现SQL的like语法?
本文主要介绍了一些主流的解析器是怎么实现like的语法逻辑,接着作者分析了几种实现方式的优劣,最终采用状态机的方式,针对场景一步一步进行性能优化。
Java异常处理和最佳实践(含案例分析)
如何处理Java异常?作者查看了一些异常处理的规范,对 Java 异常处理机制有更深入的了解,并将自己的学习内容记录下来,希望对有同样困惑的同学提供一些帮助。
Tars-Java网络编程源码分析
本文从Java NIO网络编程的基础知识讲到了Tars框架使用NIO进行网络编程的源码分析。
转转质检桌面应用程序的架构演进
质检是转转履约体系中的重要一环,通过对手机、平板、笔记本、耳机、手表等品类商品的软硬件功能、外观成色等进行全方面检测,为买家、卖家把好质量关,让二手交易变得更透明、更靠谱,促进绿色消费。
在质检环节中,通过标准化产线,结合自动化设备、质检 APP、桌面应用程序等,最终输出全面可信的“质检报告”呈现给用户。其中,桌面应用程序发挥着举足轻重的作用,本文将重点介绍桌面应用程序架构的演进及其落地。
从 JDK 9 到 19,认识一个新的 Java 形态(内存篇)
这篇文章是 EDAS 团队的同学在服务客户的过程中,从云原生的角度将相关的功能进行整理和提炼而来。希望能和大家一起认识一个新的 Java 形态。
全局视角看技术-Java多线程演进史
2022年09月22日,JDK19发布了,此版本最大的亮点就是支持虚拟线程,从此轻量级线程家族再添一员大将。虚拟线程使JVM摆脱了通过操作系统调度线程的束缚,由JVM自身调度线程。其实早期sun在Solaris操作系统的虚拟机中实现过JVM调度线程,基于其复杂性,和可维护性考虑,最终都回归到了由操作系统调度线程的模式。
长安归来锦衣客,昨日城南起新宅。回想这一路走来,关于多线程的概念令人烟花缭乱,网上相关讲解也不胜枚举,但总感觉缺少一个全局性的视角。为此笔者系统性的梳理了Java关于多线程的演进史,希望对你掌握多线程知识有帮助。
Java 缺失的特性:操作符重载
本文介绍了什么是操作符重载、为什么需要操作符重载、如何在Java中实现操作符重载以及一些建议。