- JVM中垃圾收集算法 引言垃圾收集是Java虚拟机(JVM)的重要功能之一,它负责自动回收不再使用的内存资源,提高应用程序的性能和可靠性。垃圾收集算法是实现垃圾收集的核心,本文将介绍JVM中常见的垃圾收集算法及其特点。 1. 垃圾收集算法分类根据垃圾收集的方式和策略,常见的垃圾收集算法可以分为以下几类: 1.1 标记-清除算法(Mark-Sweep)标记-清除算法是最基本的垃圾收集算法,分... JVM中垃圾收集算法 引言垃圾收集是Java虚拟机(JVM)的重要功能之一,它负责自动回收不再使用的内存资源,提高应用程序的性能和可靠性。垃圾收集算法是实现垃圾收集的核心,本文将介绍JVM中常见的垃圾收集算法及其特点。 1. 垃圾收集算法分类根据垃圾收集的方式和策略,常见的垃圾收集算法可以分为以下几类: 1.1 标记-清除算法(Mark-Sweep)标记-清除算法是最基本的垃圾收集算法,分...
- JVM 之 GC 算法分析Java 虚拟机(JVM)是 Java 程序运行的环境,而垃圾回收(GC)是 JVM 中重要的组成部分之一,负责自动回收内存,避免内存泄漏和程序崩溃。JVM 的垃圾回收算法经历了多年的发展和优化,本文将深入分析 JVM 的垃圾回收算法,包括其原理、优缺点以及应用场景。 垃圾回收算法的原理垃圾回收算法的核心思想是识别出哪些对象是“垃圾”,即不再被程序所使用,从而可以... JVM 之 GC 算法分析Java 虚拟机(JVM)是 Java 程序运行的环境,而垃圾回收(GC)是 JVM 中重要的组成部分之一,负责自动回收内存,避免内存泄漏和程序崩溃。JVM 的垃圾回收算法经历了多年的发展和优化,本文将深入分析 JVM 的垃圾回收算法,包括其原理、优缺点以及应用场景。 垃圾回收算法的原理垃圾回收算法的核心思想是识别出哪些对象是“垃圾”,即不再被程序所使用,从而可以...
- Mybatis 是一款流行的 Java 持久层框架,其通过 XML 文件或注解的方式,将 Java 对象与数据库表进行映射,并提供了丰富的 CRUD 操作能力。Mybatis 插件是 Mybatis 生态系统中的重要组成部分,通过插件机制,开发者可以扩展 Mybatis 的功能,实现自定义的逻辑和功能。本文将简述 Mybatis 插件的运行原理,并介绍如何编写一个 Mybatis 插件。一、... Mybatis 是一款流行的 Java 持久层框架,其通过 XML 文件或注解的方式,将 Java 对象与数据库表进行映射,并提供了丰富的 CRUD 操作能力。Mybatis 插件是 Mybatis 生态系统中的重要组成部分,通过插件机制,开发者可以扩展 Mybatis 的功能,实现自定义的逻辑和功能。本文将简述 Mybatis 插件的运行原理,并介绍如何编写一个 Mybatis 插件。一、...
- Spring 自动装配模式的区别与运行原理 1. 引言在互联网应用开发中,Spring 框架以其强大的功能和易用性已成为开发者们的首选。其中,Spring 的自动装配模式更是一项令人兴奋的机制,它通过注解或简单配置实现代码的自动装配,极大地提高了开发效率。本文将深入探讨 Spring 自动装配模式的区别以及其运行原理,帮助读者更好地理解和使用 Spring 框架。 2. Spring 自动... Spring 自动装配模式的区别与运行原理 1. 引言在互联网应用开发中,Spring 框架以其强大的功能和易用性已成为开发者们的首选。其中,Spring 的自动装配模式更是一项令人兴奋的机制,它通过注解或简单配置实现代码的自动装配,极大地提高了开发效率。本文将深入探讨 Spring 自动装配模式的区别以及其运行原理,帮助读者更好地理解和使用 Spring 框架。 2. Spring 自动...
- SpringBean的自动装配运行原理 引言在现代的软件开发领域中,快速且灵活地处理依赖关系是至关重要的。Spring框架以其强大的依赖注入功能,使得开发者能够轻松管理各种对象之间的依赖关系。其中,自动装配是Spring框架中一项重要的功能,它能够根据特定的规则自动将依赖注入到需要的地方。本文将详细介绍SpringBean自动装配的运行原理。 1. 理解自动装配自动装配是指Spring框架通... SpringBean的自动装配运行原理 引言在现代的软件开发领域中,快速且灵活地处理依赖关系是至关重要的。Spring框架以其强大的依赖注入功能,使得开发者能够轻松管理各种对象之间的依赖关系。其中,自动装配是Spring框架中一项重要的功能,它能够根据特定的规则自动将依赖注入到需要的地方。本文将详细介绍SpringBean自动装配的运行原理。 1. 理解自动装配自动装配是指Spring框架通...
- Disruptor是一个高性能的无锁环形缓冲区,在高并发环境下可以提供极高的性能。它的设计目标是为了解决生产者-消费者模式中的瓶颈问题,通过利用多线程和内存缓存等技术手段,实现了高效的消息传递和处理。Disruptor的核心思想是基于Ring Buffer(环形缓冲区)的内存架构,通过预先分配一块连续的内存空间,并在其中创建一个环形的缓冲区,来存储生产者生产的消息。同时,为了避免多线程并发访... Disruptor是一个高性能的无锁环形缓冲区,在高并发环境下可以提供极高的性能。它的设计目标是为了解决生产者-消费者模式中的瓶颈问题,通过利用多线程和内存缓存等技术手段,实现了高效的消息传递和处理。Disruptor的核心思想是基于Ring Buffer(环形缓冲区)的内存架构,通过预先分配一块连续的内存空间,并在其中创建一个环形的缓冲区,来存储生产者生产的消息。同时,为了避免多线程并发访...
- 在Spring框架中,我们可以使用注解的方式来配置bean、事务管理、数据源等。以下是一些常用的注解及其用法:@Component:用于将类标记为Spring容器中的一个组件。当Spring扫描到带有此注解的类时,它会自动创建并注册这个类的实例。import org.springframework.stereotype.Component;@Componentpublic class MyB... 在Spring框架中,我们可以使用注解的方式来配置bean、事务管理、数据源等。以下是一些常用的注解及其用法:@Component:用于将类标记为Spring容器中的一个组件。当Spring扫描到带有此注解的类时,它会自动创建并注册这个类的实例。import org.springframework.stereotype.Component;@Componentpublic class MyB...
- BeanFactory和ApplicationContext是Spring框架中两个重要的接口,它们在Spring容器的实现和功能上有一些区别。BeanFactory是Spring框架的基础设施,用于管理和提供应用程序中的对象实例(也称为bean)。它的主要职责是通过读取配置元数据,实例化、配置和管理应用程序中的对象。BeanFactory具有延迟加载(即当请求bean时才创建)和基本的依赖... BeanFactory和ApplicationContext是Spring框架中两个重要的接口,它们在Spring容器的实现和功能上有一些区别。BeanFactory是Spring框架的基础设施,用于管理和提供应用程序中的对象实例(也称为bean)。它的主要职责是通过读取配置元数据,实例化、配置和管理应用程序中的对象。BeanFactory具有延迟加载(即当请求bean时才创建)和基本的依赖...
- Spring Bean的生命周期是指在Spring容器中创建、初始化、使用和销毁Bean实例的整个过程。以下是Spring Bean的常见生命周期阶段:实例化:Spring首先根据配置信息或注解来实例化Bean,它会调用Bean的构造方法或工厂方法来创建Bean实例。属性赋值:在实例化后,Spring会通过依赖注入(DI)机制将配置的属性值或引用注入到Bean的相应属性中。初始化前回调(In... Spring Bean的生命周期是指在Spring容器中创建、初始化、使用和销毁Bean实例的整个过程。以下是Spring Bean的常见生命周期阶段:实例化:Spring首先根据配置信息或注解来实例化Bean,它会调用Bean的构造方法或工厂方法来创建Bean实例。属性赋值:在实例化后,Spring会通过依赖注入(DI)机制将配置的属性值或引用注入到Bean的相应属性中。初始化前回调(In...
- 线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?线程池是一种管理线程资源的机制,它允许应用程序在需要时创建、使用和销毁线程。线程池的优点在于,它可以减少线程的创建和销毁的开销,提高系统的性能和响应速度。在互联网应用中,线程池得到了广泛的应用,例如在 Web 服务器、数据库服务器、消息队列等场景中。那么,线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?本文... 线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?线程池是一种管理线程资源的机制,它允许应用程序在需要时创建、使用和销毁线程。线程池的优点在于,它可以减少线程的创建和销毁的开销,提高系统的性能和响应速度。在互联网应用中,线程池得到了广泛的应用,例如在 Web 服务器、数据库服务器、消息队列等场景中。那么,线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?本文...
- 一、实用技术1.文件上传下载文件上传下载在 web 应用中的场景包括但不限于:用户上传个人资料、照片、音视频文件等;管理员上传报表、文档等;用户下载产品资料、软件等。• 上传文件过程分析• MultipartResolver接口– MultipartResolver接口定义了文件上传过程中的相关操作,并对通用性操作进行了封装– MultipartResolver接口底层实现类CommonsM... 一、实用技术1.文件上传下载文件上传下载在 web 应用中的场景包括但不限于:用户上传个人资料、照片、音视频文件等;管理员上传报表、文档等;用户下载产品资料、软件等。• 上传文件过程分析• MultipartResolver接口– MultipartResolver接口定义了文件上传过程中的相关操作,并对通用性操作进行了封装– MultipartResolver接口底层实现类CommonsM...
- 一、拦截器1.拦截器概念• 请求处理过程解析• 拦截器( Interceptor)是一种动态拦截方法调用的机制• 作用:%2. 在指定的方法调用前后执行预先设定后的的代码2. 阻止原始方法的执行• 核心原理: AOP思想• 拦截器链:多个拦截器按照一定的顺序,对原始被调用功能进行增强拦截器VS过滤器• 归属不同: Filter属于Servlet技术, Interceptor属于SpringM... 一、拦截器1.拦截器概念• 请求处理过程解析• 拦截器( Interceptor)是一种动态拦截方法调用的机制• 作用:%2. 在指定的方法调用前后执行预先设定后的的代码2. 阻止原始方法的执行• 核心原理: AOP思想• 拦截器链:多个拦截器按照一定的顺序,对原始被调用功能进行增强拦截器VS过滤器• 归属不同: Filter属于Servlet技术, Interceptor属于SpringM...
- 线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?线程池是一种管理线程资源的机制,它允许应用程序在需要时创建、使用和销毁线程。线程池的优点在于,它可以减少线程的创建和销毁的开销,提高系统的性能和响应速度。在互联网应用中,线程池得到了广泛的应用,例如在 Web 服务器、数据库服务器、消息队列等场景中。那么,线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?本文... 线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?线程池是一种管理线程资源的机制,它允许应用程序在需要时创建、使用和销毁线程。线程池的优点在于,它可以减少线程的创建和销毁的开销,提高系统的性能和响应速度。在互联网应用中,线程池得到了广泛的应用,例如在 Web 服务器、数据库服务器、消息队列等场景中。那么,线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?本文...
- CyclicBarrier 和 CountDownLatch 都是 Java 并发编程中的同步工具,用于协调多个线程之间的操作。但它们的实现方式和应用场景有所不同。CyclicBarrier 是一个可重用的同步屏障,它允许一组线程相互等待,直到所有线程都达到某个屏障点后才继续执行。CyclicBarrier 可以被重复使用,因为一旦所有线程都通过了屏障,它就会被重置为可用状态。CyclicB... CyclicBarrier 和 CountDownLatch 都是 Java 并发编程中的同步工具,用于协调多个线程之间的操作。但它们的实现方式和应用场景有所不同。CyclicBarrier 是一个可重用的同步屏障,它允许一组线程相互等待,直到所有线程都达到某个屏障点后才继续执行。CyclicBarrier 可以被重复使用,因为一旦所有线程都通过了屏障,它就会被重置为可用状态。CyclicB...
- 如何让 Java 的线程彼此同步 引言在多线程编程中,线程间的同步是一个重要的概念。Java提供了多种机制来让线程彼此同步,以确保线程之间的协作和数据的一致性。本文将介绍Java中常用的同步器,并详细解释各个同步器的特点和适用场景。 1. 锁(Lock)锁是Java中最基本的同步机制。通过加锁,可以确保同一时间只有一个线程能够访问被锁定的资源,从而实现线程的互斥访问。Java中的锁有两种方... 如何让 Java 的线程彼此同步 引言在多线程编程中,线程间的同步是一个重要的概念。Java提供了多种机制来让线程彼此同步,以确保线程之间的协作和数据的一致性。本文将介绍Java中常用的同步器,并详细解释各个同步器的特点和适用场景。 1. 锁(Lock)锁是Java中最基本的同步机制。通过加锁,可以确保同一时间只有一个线程能够访问被锁定的资源,从而实现线程的互斥访问。Java中的锁有两种方...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签