JAVA
文章平均质量分 63
萧曵 丶
谦逊,勤恳.
展开
-
volatile 浅谈
在Java中,volatile 关键字是一种轻量级的同步机制,它用于确保变量的可见性和有序性,但不保证原子性。当我们说 volatile 屏障时,我们实际上是在讨论 volatile 变量如何影响Java内存模型(JMM)中的操作重排序和内存可见性问题。原创 2024-08-15 18:00:44 · 234 阅读 · 0 评论 -
JAVA 如何获取线程中异常
在Java中,获取线程异常的方式通常依赖于你如何创建和管理线程。Java线程可以通过实现Runnable接口或继承Thread类来创建。对于异常处理,有几种方法可以做到这一点。原创 2024-08-15 17:03:30 · 285 阅读 · 0 评论 -
NIO线程模型
通道是NIO中用于数据读写的组件,类似于标准IO中的流,但与之不同的是,通道是可以双向读写的。:选择器是NIO中的一个重要组件,用于检测一个或多个通道,并确定哪个通道已经准备好进行读或写。这样,一个单独的线程可以管理多个通道,从而实现高效的IO操作。:在NIO中,所有的数据读写都是通过缓冲区来进行的。:根据选择器返回的就绪事件,对相应的通道进行读写操作。:由于NIO采用了非阻塞的方式,因此可以避免传统IO模型中的阻塞现象,提高IO效率。:首先,需要将通道注册到选择器中,并指定感兴趣的事件(如读、写等)。原创 2024-08-09 16:26:52 · 457 阅读 · 0 评论 -
SpringBoot3 响应式编程
响应式编程是一种编程范式,它使用异步数据流来处理数据,并基于观察者模式来触发事件的响应。在Spring Boot 3中,响应式编程主要通过Spring WebFlux和Spring Data R2DBC等组件来实现。Spring Boot 3中的响应式编程通过Spring WebFlux和Spring Data R2DBC等组件提供了强大的异步、非阻塞和基于事件的数据处理能力。这使得开发者能够构建高性能、可扩展的Web应用程序,以应对现代互联网应用中的高并发和实时数据处理挑战。原创 2024-08-09 14:40:40 · 657 阅读 · 0 评论 -
Spring Boot 3 新特性
Spring Boot 3 官方支持Java 17,并且由于Java 17带来了许多新特性(如Record类、密封类和接口、模式匹配等),Spring Boot 3 也对这些新特性进行了优化和整合,使得开发者可以更高效地编写代码。: Spring Boot 3 基于 Spring Framework 6 构建,后者同样支持Java 17,并引入了许多新特性,如更细粒度的配置、更高效的日志记录、对WebFlux的增强等。这些改进使得开发者可以更方便地跟踪和诊断应用程序中的问题。原创 2024-08-09 14:00:04 · 768 阅读 · 0 评论 -
JVM 加载阶段 Class对象加载位置是在 堆中还是方法区?
Class对象的加载位置:Class对象本身是加载到堆区中的。类的类型信息加载位置:类的类型信息(元数据)是加载到方法区(或元空间)中的。因此,对于问题“jvm 加载阶段 Class加载到堆中还是方法区”,答案是:Class对象加载到堆中,而类的类型信息加载到方法区(或元空间)中。这两个区域在JVM的类加载过程中都扮演着重要的角色,共同支持着Java程序的运行。原创 2024-08-06 17:56:45 · 596 阅读 · 0 评论 -
Spring Boot 常用设计模式
在Spring Boot中,常用的设计模式多种多样,这些设计模式不仅帮助维护了代码的清晰度和灵活性,还使得框架易于扩展和维护。原创 2024-08-06 16:18:47 · 1420 阅读 · 0 评论 -
Java NIO(Non-blocking I/O)简单理解
Java NIO是Java平台中用于高效输入/输出(I/O)操作的一套新的API,与标准的Java I/O(基于流的阻塞I/O)不同,Java NIO提供了非阻塞式的I/O操作。原创 2024-08-06 15:28:24 · 444 阅读 · 0 评论 -
JAVA 分层规约
Web 层绝不应该继续往上抛异常,因为已经处于顶层,如果意识到这个异常将导致页面无法正常渲染,那么就应该直接跳转到友好错误页面,尽量加上友好的错误提示信息。• BO(Business Object):业务对象,可以由 Service 层输出的封装业务逻辑的对象。3. Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。• VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。层,产生的异常类型有很多,无法用细粒度的异常进。原创 2024-08-05 14:30:16 · 363 阅读 · 0 评论 -
java8 字符串常量池存放在哪
在Java 8中,字符串字面量和其他类常量被存储在元空间(Metaspace)的字符串常量池中,而元空间是Java虚拟机(JVM)的本地内存的一个区域。如果没有,则会在字符串常量池中创建一个新的字符串,并将引用指向它。)不会被存储在字符串常量池中,它们总是被创建在Java堆上,并且与字符串常量池中的任何条目无关。需要注意的是,虽然字符串常量池在逻辑上位于元空间中,但字符串对象本身(即String类的实例)仍然位于Java堆上。字符串常量池中的条目只是对这些对象的引用,而不是对象本身。原创 2024-07-23 09:36:04 · 295 阅读 · 0 评论 -
JAVA CPU飚高排查方案和思路?
当Java程序CPU使用率异常飙高时,排查问题的方案和思路通常包括以下几个步骤:原创 2024-07-21 22:13:41 · 1079 阅读 · 0 评论