Java开发:从类与对象到业务系统

一个订单从创建到保存,涉及对象设计、集合操作、数据库访问与异常处理。沿着这样的业务流程学习Java,再深入多线程与JVM,逐步掌握后端程序的编写和排错方法。

阅读235
发布人iPython
发布时间2026-09-24
相关标签:
Java开发:从类与对象到业务系统

Java虚拟机栈(JVM Stack)核心机制、线程安全与溢出解析

本文详解Java虚拟机栈的结构与作用,剖析栈帧在方法调用中的压入与弹出流程。通过代码实例阐明局部变量为何具有线程安全性,以及参数与返回值非线程安全的原因。同时分析导致java.lang.StackOverflowError的两大场景:递归无出口与栈帧过大,并提供相应的排查思路。

Java虚拟机栈(JVM Stack)核心机制、线程安全与溢出解析

Java自定义类数组初始化详解:解决空指针异常

在Java中使用自定义类的数组时,直接声明大小会导致各元素为null。本文详细讲解了如何避免空指针异常的正确初始化方法,以及使用封装类(MyArray)和有序数组类(MyOrderArray)实现基础数据操作的技术方案。

深入理解 Java 并发基础:进程与线程的区别及状态详解

本文详细解析 Java 高并发环境下的核心概念,对比进程与线程的资源分配与调度差异,阐述进程的动态性、并发性等特征。重点梳理 Thread.State 枚举中的六种状态转换逻辑,并通过工厂车间类比通俗解释互斥锁(Mutex)与信号量(Semaphore)机制,帮助开发者建立清晰的操作系统底层认知。

深入理解 Java 并发基础:进程与线程的区别及状态详解

Java内存模型(JMM)与顺序一致性:理解并发编程的数据竞争与同步机制

本文深入解析Java内存模型(JMM)中的顺序一致性概念,阐明数据竞争的触发条件及JMM对正确同步程序执行的保证。通过对比理论模型与JMM实现,分析synchronized、volatile等关键字在消除指令重排序和保证可见性方面的作用,并解释64位long/double类型在非原子操作下的潜在风险,帮助开发者构建无数据竞错的并发应用。

Java内存模型(JMM)与顺序一致性:理解并发编程的数据竞争与同步机制

Scala与Java方法相互调用及类型转换解决方案

本文介绍了如何在Scala中直接调用Java静态与非静态方法,以及如何在Java中通过单例对象或实例调用Scala代码。针对Scala调用Java集合类时报错的问题,推荐使用 scala.collection.JavaConverters 将Java Map转换为Scala映射,避免已过时的隐式转换包,确保跨语言调用的顺利执行。

Java面向对象核心概念:封装、继承、多态与抽象详解

本文深入解析Java面向对象的四大核心特性。通过代码示例演示如何利用private关键字实现属性隐藏与访问控制(封装);阐述子类复用父类逻辑及里氏替换原则(继承);区分编译时重载与运行时动态绑定(多态);说明抽象类与方法的定义及使用场景(抽象)。帮助开发者掌握OOP精髓,构建可扩展的Java系统。

Java性能优化:避免创建不必要的对象

在Java开发中,频繁创建重复或临时对象会占用内存并拖慢程序速度。本文通过三个典型场景详解优化方法:利用JVM常量池简化String与Boolean实例、合理选择StringBuilder替代StringBuffer、使用int基本类型避免自动装箱开销,以及复用Pattern对象提升正则匹配效率,帮助开发者写出更高效的代码。

Java性能优化:避免创建不必要的对象

Java 控制流程详解:顺序、分支与循环结构实战

深入解析Java程序的控制流程,涵盖顺序执行、条件分支(if-else、switch)及多种循环结构(while、do-while、for)。通过奇偶判断、闰年计算、悬垂else陷阱及累加求和等实例代码,阐明语法规范、break/continue用法及最佳实践,帮助开发者构建清晰可靠的逻辑控制。

Java 控制流程详解:顺序、分支与循环结构实战

Java高并发下线程中断的几种方式详解

本文详解Java中控制线程中断的三种主要方式。通过volatile变量实现信号控制;利用线程自带的中断标志配合isInterrupted()轮询;针对阻塞状态(如sleep)捕获InterruptedException并重新设置中断标志的正确做法,帮助开发者安全高效地管理多线程生命周期。