- 垃圾回收器的基本原理垃圾回收器(Garbage Collector)是Java虚拟机(JVM)中的组件,负责自动管理动态分配的内存,回收不再被程序使用的内存空间,从而避免内存泄漏和内存溢出的问题。垃圾回收器的基本原理包括垃圾识别和垃圾回收两个步骤。 垃圾识别垃圾回收器通过标记-清除算法(Mark and Sweep)来识别哪些对象是垃圾。该算法的基本思想是,从根对象(如栈帧中的局部变量和静... 垃圾回收器的基本原理垃圾回收器(Garbage Collector)是Java虚拟机(JVM)中的组件,负责自动管理动态分配的内存,回收不再被程序使用的内存空间,从而避免内存泄漏和内存溢出的问题。垃圾回收器的基本原理包括垃圾识别和垃圾回收两个步骤。 垃圾识别垃圾回收器通过标记-清除算法(Mark and Sweep)来识别哪些对象是垃圾。该算法的基本思想是,从根对象(如栈帧中的局部变量和静...
- GC 是什么? 为什么要有 GC? 摘要本文将讨论垃圾回收(Garbage Collection,简称 GC)在Java语言中的重要性和作用。我们将首先介绍GC的基本概念和工作原理,然后讨论为什么需要GC以及GC的优点和挑战。最后,我们将通过一个代码示例演示GC的工作和效果。 1. 引言在传统的编程语言中,开发人员需要手动管理内存分配和释放。然而,这种方式容易导致内存泄漏和内存溢出等问题,... GC 是什么? 为什么要有 GC? 摘要本文将讨论垃圾回收(Garbage Collection,简称 GC)在Java语言中的重要性和作用。我们将首先介绍GC的基本概念和工作原理,然后讨论为什么需要GC以及GC的优点和挑战。最后,我们将通过一个代码示例演示GC的工作和效果。 1. 引言在传统的编程语言中,开发人员需要手动管理内存分配和释放。然而,这种方式容易导致内存泄漏和内存溢出等问题,...
- Spring的精华设计思想: IOC、DI、MVC 引言Spring框架是一个非常受欢迎的Java应用程序开发框架,它的设计注重于解耦、可维护性和可测试性。在Spring框架的核心思想中,IOC(控制反转)和DI(依赖注入)是其中最为重要的概念,它们为开发人员提供了一种灵活、可扩展的编程模式。此外,Spring框架还提供了MVC(模型-视图-控制器)架构,用于构建Web应用程序的分层结构。... Spring的精华设计思想: IOC、DI、MVC 引言Spring框架是一个非常受欢迎的Java应用程序开发框架,它的设计注重于解耦、可维护性和可测试性。在Spring框架的核心思想中,IOC(控制反转)和DI(依赖注入)是其中最为重要的概念,它们为开发人员提供了一种灵活、可扩展的编程模式。此外,Spring框架还提供了MVC(模型-视图-控制器)架构,用于构建Web应用程序的分层结构。...
- Spring5 核心原理 引言Spring是一个开源的Java应用开发框架,它提供了一种全面的解决方案来构建企业级应用程序。Spring框架的核心原理是IOC(控制反转)和AOP(面向切面编程),它们使得应用程序的开发变得更加灵活和可维护。本文将深入探讨Spring5的核心原理,并通过代码示例来加深理解。 1. IOC(控制反转)IOC是Spring框架最重要的特性之一。它通过将对象的创建... Spring5 核心原理 引言Spring是一个开源的Java应用开发框架,它提供了一种全面的解决方案来构建企业级应用程序。Spring框架的核心原理是IOC(控制反转)和AOP(面向切面编程),它们使得应用程序的开发变得更加灵活和可维护。本文将深入探讨Spring5的核心原理,并通过代码示例来加深理解。 1. IOC(控制反转)IOC是Spring框架最重要的特性之一。它通过将对象的创建...
- 前言最近在开发文件存储服务,需要符合s3的协议标准,可以直接接入aws-sdk,本文针对sdk发出请求的鉴权信息进行重新组合再签名验证有效性,sdk版本如下 <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> ... 前言最近在开发文件存储服务,需要符合s3的协议标准,可以直接接入aws-sdk,本文针对sdk发出请求的鉴权信息进行重新组合再签名验证有效性,sdk版本如下 <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> ...
- 软件设计原则之里氏替换原则 什么是里氏替换原则?里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计中的一个重要原则,由麻省理工学院的计算机科学家Barbara Liskov提出(一位姓里的女士)。氏替换原则主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承。定义1: If S is a subtype of T, ... 软件设计原则之里氏替换原则 什么是里氏替换原则?里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计中的一个重要原则,由麻省理工学院的计算机科学家Barbara Liskov提出(一位姓里的女士)。氏替换原则主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承。定义1: If S is a subtype of T, ...
- Java并行流,方便了 并发操作,但是不注意可能会导致问题。如 最大线程数,怎么控制并发数,类加载器,线程上下文变化,ForkJoinPool 的 execute、submit、invoke 方法的区别 等。 Java并行流,方便了 并发操作,但是不注意可能会导致问题。如 最大线程数,怎么控制并发数,类加载器,线程上下文变化,ForkJoinPool 的 execute、submit、invoke 方法的区别 等。
- 博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家✌Java知识图谱点击链接:体系化学习Java(Java面试专题)💕💕 感兴趣的同学可以收藏关注下 ,不然下次找不到哟💕💕 1、Redis 的持久化有哪几种方式Redis的持久化有两种方式:RDB(Redis Database)和AOF(Appe... 博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家✌Java知识图谱点击链接:体系化学习Java(Java面试专题)💕💕 感兴趣的同学可以收藏关注下 ,不然下次找不到哟💕💕 1、Redis 的持久化有哪几种方式Redis的持久化有两种方式:RDB(Redis Database)和AOF(Appe...
- 深入学习 volatile 的特性 深入学习 volatile 的特性
- 一、Zookeeper1.初识Zookeeper1.1 Zookeeper概念Zookeeper是一个分布式的、开源的分布式应用程序协调服务,为分布式应用提供一致性服务、配置维护、域名服务等。其作用主要包括管理和维护各个节点之间的协作关系,保证分布式集群的数据一致性和可靠性,并提供高效的数据读写能力和可扩展性。 它还可以用于共享配置信息、分布式锁服务等功能,是分布式计算的重要组件。Zooke... 一、Zookeeper1.初识Zookeeper1.1 Zookeeper概念Zookeeper是一个分布式的、开源的分布式应用程序协调服务,为分布式应用提供一致性服务、配置维护、域名服务等。其作用主要包括管理和维护各个节点之间的协作关系,保证分布式集群的数据一致性和可靠性,并提供高效的数据读写能力和可扩展性。 它还可以用于共享配置信息、分布式锁服务等功能,是分布式计算的重要组件。Zooke...
- 一、AOP 1.AOP简介 1.1 OOP开发思路OOP开发思路是一种基于对象的程序设计方法,它将现实世界中的事物抽象成对象,并通过封装、继承、多态等特性来描述对象之间的关系,使得程序具备更好的可维护性、可扩展性和可重用性。 1.2 AOP开发思想AOP(面向切面编程)开发思想是一种编程范式,它通过将横切关注点(如日志、事务、安全等)从业务逻辑中分离出来,实现了代码的模块化和可维护性的提升... 一、AOP 1.AOP简介 1.1 OOP开发思路OOP开发思路是一种基于对象的程序设计方法,它将现实世界中的事物抽象成对象,并通过封装、继承、多态等特性来描述对象之间的关系,使得程序具备更好的可维护性、可扩展性和可重用性。 1.2 AOP开发思想AOP(面向切面编程)开发思想是一种编程范式,它通过将横切关注点(如日志、事务、安全等)从业务逻辑中分离出来,实现了代码的模块化和可维护性的提升...
- 一、持久化1.持久化简介1.1 什么是持久化持久化是指将数据保存到持久介质(如硬盘、数据库)中,使其在程序关闭或系统重启后仍然存在,不会因为程序的结束而丢失。在计算机领域,持久化通常用于保存应用程序的数据,以便在下次使用时能够快速恢复并继续使用。常见的持久化方式包括文件存储、数据库存储等。1.2 持久化过程保存什么持久化过程保存的内容取决于具体应用程序或系统的需求,但通常包括以下内容:• 数... 一、持久化1.持久化简介1.1 什么是持久化持久化是指将数据保存到持久介质(如硬盘、数据库)中,使其在程序关闭或系统重启后仍然存在,不会因为程序的结束而丢失。在计算机领域,持久化通常用于保存应用程序的数据,以便在下次使用时能够快速恢复并继续使用。常见的持久化方式包括文件存储、数据库存储等。1.2 持久化过程保存什么持久化过程保存的内容取决于具体应用程序或系统的需求,但通常包括以下内容:• 数...
- 一文搞懂“双亲委派机制” 一文搞懂“双亲委派机制”
- Lambda表达式在Java中的应用 一、Lambda表达式简介Lambda表达式是Java 8版本引入的一个重要特性,它允许我们以更简洁的方式编写函数式接口(Functional Interface)的实现。在传统的Java中,我们必须通过定义一个匿名内部类或者使用实现接口的方式来实现某个功能。而Lambda表达式的引入,使得我们可以使用更简洁的语法来实现这些功能。 二、Lambda表达... Lambda表达式在Java中的应用 一、Lambda表达式简介Lambda表达式是Java 8版本引入的一个重要特性,它允许我们以更简洁的方式编写函数式接口(Functional Interface)的实现。在传统的Java中,我们必须通过定义一个匿名内部类或者使用实现接口的方式来实现某个功能。而Lambda表达式的引入,使得我们可以使用更简洁的语法来实现这些功能。 二、Lambda表达...
- java多线程锁多线程程序是并发编程的核心,而Java多线程锁则是保证线程安全的重要手段。但是,不同类型的锁适用于不同的场景,而正确地选择锁对于程序的性能和正确性至关重要。在本文中,我们将深入探讨Java多线程锁的工作原理和最佳实践。多线程模型Java的多线程模型是基于线程的抢占式调度机制,它允许多个线程同时执行,并且使用共享内存来实现线程间通信。可以看出,java可以创建多个线程并行执行,... java多线程锁多线程程序是并发编程的核心,而Java多线程锁则是保证线程安全的重要手段。但是,不同类型的锁适用于不同的场景,而正确地选择锁对于程序的性能和正确性至关重要。在本文中,我们将深入探讨Java多线程锁的工作原理和最佳实践。多线程模型Java的多线程模型是基于线程的抢占式调度机制,它允许多个线程同时执行,并且使用共享内存来实现线程间通信。可以看出,java可以创建多个线程并行执行,...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签