
JAVA进阶篇学习
文章平均质量分 92
JAVA进阶篇学习
叫兽-郭老师
渊渟无迹静涛君
展开
-
【JAVA进阶篇教学】第二十篇:如何高效处理List集合数据及明细数据
目前采用的是jdk8中stream流来处理,以及一些效率高的方法来处理集合及明细数据。如果按照普通的思路做for循环去查找明细信息,假如Listlist 中有20条数据,那么你for循环部分就需要访问数据库20次,大大增加了io消耗,如果有更复杂的处理,那么程序就会很慢。优化后,你只需要访问一次数据库,一次性查出所有数据,然后再内存中操作即可。点个关注,不会迷路!原创 2024-11-27 16:52:38 · 1096 阅读 · 0 评论 -
【JAVA进阶篇教学】第十九篇:Spring Boot中使用@Transactional注解
事务是一组操作,这些操作要么全部执行成功,要么全部回滚,确保数据的一致性。原子性 (Atomicity):事务中的所有操作要么全部成功,要么全部失败。一致性 (Consistency):事务开始和结束时,数据处于一致状态。隔离性 (Isolation):并发事务彼此隔离,防止数据不一致。持久性 (Durability):事务提交后,对数据的更改是永久的。原创 2024-05-30 10:00:14 · 1311 阅读 · 0 评论 -
【JAVA进阶篇教学】第十八篇:Java中全局异常处理
全局异常处理可以捕获并处理应用程序中的所有未捕获异常,从而避免程序因未处理的异常而崩溃。同时,通过自定义的异常处理机制,可以为用户提供更友好的错误提示,并记录异常日志以便后续排查问题。在Spring Boot中,我们通常通过@ControllerAdvice和@ExceptionHandler注解来实现全局异常处理。首先,我们需要定义一个自定义异常类,以便在业务逻辑中抛出特定的异常。定义一个错误响应类,用于标准化错误信息的返回格式。原创 2024-05-20 17:54:58 · 777 阅读 · 4 评论 -
【JAVA进阶篇教学】第十七篇:Springboot接入Mybatis
博主打算从0-1讲解下篇教学,今天教学第十七篇:Springboot接入Mybatis。在 Java 开发中,Spring Boot 是一个非常流行的框架,它简化了 Spring 应用的开发和部署。MyBatis 是一个优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。本文将详细介绍如何在 Spring Boot 项目中接入 MyBatis,并提供相应的代码示例。原创 2024-05-16 14:55:18 · 1075 阅读 · 1 评论 -
【JAVA进阶篇教学】第十六篇:Java中AOP使用
AOP(Aspect-Oriented Programming)是一种编程范式,它允许开发者在不修改源代码的情况下,对代码进行横切关注点的分离和增强。在 Java 中,AOP 通常通过使用 Spring Framework 或 AspectJ 等框架来实现。AOP 是一种强大的编程范式,它可以帮助开发者将系统级服务从业务逻辑中分离出来,提高代码的可读性、可维护性和可扩展性。在 Java 中,可以使用 Spring Framework 或 AspectJ 等框架来实现 AOP。原创 2024-05-15 15:01:22 · 1604 阅读 · 4 评论 -
【JAVA进阶篇教学】第十五篇:Java中AQS讲解
在 Java 中,AQS(AbstractQueuedSynchronizer)是一个用于实现同步器的抽象类,它提供了一种通用的机制来管理共享资源的访问。AQS 的主要作用是通过维护一个同步队列来实现对共享资源的同步访问,避免了多线程访问共享资源时可能出现的竞态条件和死锁等问题。原创 2024-05-13 16:21:25 · 959 阅读 · 0 评论 -
【JAVA进阶篇教学】第十四篇:Java中CAS讲解
在并发编程中,CAS(Compare and Swap)是一种常见的同步原语,用于实现多线程环境下的原子操作。在Java中,java.util.concurrent.atomic包提供了一系列基于CAS的原子类,如AtomicInteger、AtomicLong等,它们提供了一种无锁的线程安全的方式来操作共享变量。本文将深入探讨CAS的原理、用法以及如何处理CAS中的ABA问题。原创 2024-05-13 15:45:51 · 748 阅读 · 1 评论 -
【JAVA进阶篇教学】第十三篇:Java中volatile关键字讲解
volatile关键字是 Java 中的一种轻量级同步机制,它可以确保变量的可见性和禁止指令重排序。volatile关键字适用于多线程环境下的变量共享,例如状态标志、计数器等。与锁相比,volatile关键字的执行效率较高,但不能保证原子性。如果需要实现原子性操作,需要使用锁或其他同步机制。原创 2024-05-11 15:42:37 · 1205 阅读 · 1 评论 -
【JAVA进阶篇教学】第十二篇:Java中ReentrantReadWriteLock锁讲解
读写锁是一种用于实现多线程环境下读写操作并发控制的锁机制。读写锁可以提高并发性能,特别是在多读少写的场景下。在使用读写锁时,需要注意读写锁的公平性、重入性、降级、升级和Condition等问题,以保证读写锁的安全性。原创 2024-05-11 11:33:08 · 1074 阅读 · 1 评论 -
【JAVA进阶篇教学】第十一篇:Java中ReentrantLock锁讲解
博主打算从0-1讲解下篇教学,今天教学第十篇:Java中ReentrantLock锁讲解。在Java并发编程中,保证多线程环境下的数据安全是至关重要的。ReentrantLock 是Java中用于实现线程安全的一种锁机制。本篇博客将深入介绍 ReentrantLock 的原理、详细说明,并通过案例演示线程不安全情况以及如何使用 ReentrantLock 实现线程安全。原创 2024-05-09 10:46:46 · 1196 阅读 · 2 评论 -
【JAVA进阶篇教学】第十篇:Java中线程安全、锁讲解
博主打算从0-1讲解下篇教学,今天教学第十篇:Java中线程安全、锁讲解。当涉及到多线程编程时,保证线程安全是至关重要的。线程安全意味着在多个线程访问共享资源时,不会发生数据错乱或不一致的情况。为了实现线程安全,通常需要使用锁机制来控制对共享资源的访问。在Java中,常见的线程安全技术包括使用synchronized关键字,ReentrantLock,读写锁,以及使用volatile关键字。此文章会长期更新补充完整~~,敬请期待!原创 2024-05-08 17:51:14 · 643 阅读 · 0 评论 -
【JAVA进阶篇教学】第九篇:MyBatis-Plus用法介绍
博主打算从0-1讲解下java进阶篇教学,今天教学第九篇:MyBatis-Plus用法介绍。在 MyBatis-Plus 3.5.0 中,LambdaQueryWrapper支持多种条件构造方式,除了等于(eq)、不等于(ne)、大于(gt)、小于(lt)、大于等于(ge)、小于等于(le)等基本的条件构造方式外,还包括模糊查询(like)、模糊查询不匹配值(notLike)、在列表中(in)、不在列表中(notIn)等。本文以MyBatis-Plus 3.5.0版本讲述!原创 2024-04-30 15:20:24 · 1870 阅读 · 0 评论 -
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
博主打算从0-1讲解下java进阶篇教学,今天教学第八篇:Java链接MySql数据库异常本文主要记录下日常项目中java链接mysql异常情况,并且提供解决方案!本文会持续更新,有友友们留言的异常的话,我也会整理提供进去。原创 2024-04-30 13:52:01 · 894 阅读 · 1 评论 -
【JAVA进阶篇教学】第七篇:Spring中常用注解
博主打算从0-1讲解下篇教学,今天教学第七篇:Spring中常用注解在Java Spring框架中,注解(Annotation)是一种元数据,它提供了关于程序代码的额外信息,这些信息可以用于编译时检查、运行时处理或者在部署时生成配置文件。注解可以被应用在类、方法、字段等地方,用于提供额外的配置信息或者标记某些特性。下面我将介绍几个常用的Spring注解,并提供详细说明和代码示例。原创 2024-04-28 15:35:08 · 1321 阅读 · 1 评论 -
【JAVA进阶篇教学】第六篇:Java线程中状态
博主打算从0-1讲解下篇教学,今天教学第六篇:Java线程中状态。理解并掌握线程的休眠、停止和挂起等操作是多线程编程中的重要内容。下面我将详细说明这些操作,并提供相应的代码案例。原创 2024-04-24 09:54:31 · 824 阅读 · 2 评论 -
【JAVA进阶篇教学】第五篇:Java多线程编程
Java通过java.util.concurrent包提供了Executor框架来管理线程池。创建线程池:可以通过Executors工厂类来创建不同类型的线程池。常用的线程池类型包括FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThreadPool等。提交任务:使用线程池的execute()或submit()方法提交任务给线程池执行。关闭线程池:在不需要线程池时,需要及时关闭以释放资源。原创 2024-04-24 09:30:20 · 1337 阅读 · 0 评论 -
【JAVA进阶篇教学】第四篇:JDK8中函数式接口
在 Java 8 中,函数式接口是指只包含一个抽象方法的接口。这种接口可以用作 Lambda 表达式的类型,从而使得函数式编程在 Java 中变得更加方便和灵活。下面我将为您提供详细说明和代码案例。原创 2024-04-18 11:28:57 · 477 阅读 · 0 评论 -
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
博主打算从0-1讲解下篇教学,今天教学第三篇:JDK8中Stream API使用。Java 8 中的 Stream API 提供了一种便捷、高效的方式来处理集合数据,它支持函数式编程风格的操作,包括过滤、映射、归约等。Stream API 可以大大简化集合的处理代码,使得代码更加清晰和易于理解。下面我将列举 Stream API 中的几个常用方法,并给出相应的代码案例。原创 2024-04-18 11:16:57 · 1208 阅读 · 0 评论 -
【JAVA进阶篇教学】第二篇:JDK8中Lambda表达式
博主打算从0-1讲解下篇教学,今天教学第二篇:JDK8中Lambda表达式。Lambda 表达式是 Java 8 中引入的一项重要特性,它允许您以更简洁、更紧凑的方式编写匿名函数。Lambda 表达式使得函数式编程在 Java 中变得更加容易和优雅。下面我将为您详细介绍 Lambda 表达式的语法和用法,并提供多个案例代码。原创 2024-04-18 10:50:07 · 576 阅读 · 0 评论 -
【JAVA进阶篇教学】第一篇:JDK8介绍
博主打算从0-1讲解下java进阶篇教学,今天教学第一篇:JDK8介绍。Java 8 引入了许多令人兴奋的新特性,其中包括 Lambda 表达式、Stream API、函数式接口、方法引用、默认方法等。下面我将为您详细介绍这些新特性,并提供相应的代码案例。原创 2024-04-16 11:47:10 · 923 阅读 · 1 评论