自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Fork/Join 框架详解

​ Java 的框架是 JDK 7 中引入的一种并行处理框架,基于分而治之的思想,专为在多核处理器上执行任务的并行分治而设计。它通过递归分解任务、并发执行这些子任务并最终合并结果来提高性能。这个框架非常适合执行那些可以递归拆分成多个小任务的计算密集型操作。核心类是和。

2024-09-09 15:57:08 339

原创 Synchronized详解(看这篇就够了)

在 Java 中,synchronized 关键字用于实现线程同步,主要有三种用法:修饰实例方法、静态方法和代码块。修饰实例方法时,加锁对象是当前实例;修饰静态方法时,加锁对象是类的 Class 对象;修饰代码块时,可以指定任意对象作为锁。synchronized 具有可重入性和通过内存屏障确保的可见性,但由于其依赖操作系统线程调度器,存在非公平性。JDK1.6 引入偏向锁和轻量级锁以提升性能。

2024-09-05 15:24:58 849

原创 什么?你还不会CompletableFuture异步编排!

本文介绍了异步编程及其在实际业务中的应用。异步编程允许任务并发执行,不阻塞主线程,显著提升程序效率。CompletableFuture 是 Java 提供的强大工具,支持异步计算、任务组合和异常处理。通过实际案例,展示了如何使用 CompletableFuture 优化数据查询过程,缩短响应时间。典型应用场景包括微服务调用、批量任务处理、请求聚合和复杂工作流管理。通过有效的异步编排,可以显著提升系统的性能和响应能力。

2024-07-24 18:22:34 778

原创 设计模式|观察者模式

观察者模式是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象发生变化时,它的所有观察者都会收到通知并更新。观察者模式常用于实现事件处理系统、发布-订阅模式等。

2024-07-22 16:01:29 464

原创 SQL中使用1=1探究

使用 1=1 的技巧在动态 SQL 查询构建中是非常实用的。它简化了条件拼接的逻辑,提高了代码的可读性和可维护性。在实际开发中,尤其是在条件众多的情况下,这种方法能够有效地减少出错的概率。使用 1=1 作为动态 SQL 查询的基座有其优点,但也存在一些潜在问题。在实际开发中,可以根据具体情况选择合适的方法来构建动态 SQL 查询,既要确保代码简洁可维护,又要避免性能和逻辑上的问题。

2024-07-08 10:30:48 1059

原创 常见java OOM异常分析排查思路分析

VM 发生 OutOfMemoryError(OOM)异常时,表示内存资源不足,常见原因有堆空间不足、线程栈空间不足、方法区溢出、本机内存不足和 GC 造成的内存不足。解决方案包括调整 JVM 参数(如 -Xmx、-Xss)、优化代码、减少内存消耗、检查并修复内存泄漏。使用工具(如 JProfiler)可以帮助分析和定位问题。常见的 OOM 异常有 Java heap space、unable to create new native thread、Metaspace、Direct buffer memor

2024-07-07 17:57:43 2463

原创 装饰者模式

装饰者模式是一种结构型设计模式,用于动态地给对象添加额外的行为或责任,而无需修改其原始类。这种模式允许你将对象包装在一个装饰者类中,并在运行时动态地添加新的行为,同时保持接口的一致性。下面我将通过一个简单的咖啡店订单系统的例子来说明装饰者模式。

2024-04-24 14:58:28 418 2

原创 Java注解详解

看了https://pdai.tech/md/java/basic/java-basic-x-annotation.html#%E6%B3%A8%E8%A7%A3%E7%9A%84%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF关于注解机制的详解收获很多,转载加补充。

2024-04-18 13:37:09 1688 1

原创 Pojo、entity、vo、dto的定义和使用场景

使用场景:DTO 主要用于在服务之间传递数据,例如在前端页面与后端服务之间、微服务之间传递数据,以及在不同层次之间传递数据。VO 类可以包含与界面展示相关的属性,但通常不包含与业务逻辑相关的方法。,通常用于在系统的不同层之间传递数据。使用场景:VO 主要用于前端页面展示数据,通常用于将业务数据以特定的格式传输给前端页面进行展示。使用场景:Entity 主要用于数据持久化和数据操作,通常用于与数据库进行交互、映射和持久化。Entity 类通常包含与数据库表中的字段对应的属性,以及一些方法用于对数据进行操作。

2024-04-11 16:57:44 307

原创 乐观锁定义、使用、适用场景

乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。

2024-04-11 16:54:12 835

原创 PostgreSQL

PostgreSQL与MySQL的比较以及PostgreSQL相对于MySQL的优势;熟悉了PG库SQL编写,包括创建表、插入数据、查询数据、更新数据、删除数据、条件查询、创建索引和删除表;了解了联表查询的左联接、右联接和内联接;对SQL优化思路进行了概述,包括索引优化、查询优化、表设计优化、统计信息维护、连接优化、资源优化和应用层优化;了解了外键机制的物理外键和逻辑外键,以及如何选择使用外键;了解了主键策略,包括自增主键、GUID/UUID主键、序列主键、组合主键和自然主键。

2024-04-11 16:47:46 897

原创 Spring事务

了解事务的使用场景及 Spring 管理事务的方式,包括编程式事务和声明式事务。Spring 事务中的事务传播行为包括常用的 PROPAGATION_REQUIRED、PROPAGATION_REQUIRES_NEW、PROPAGATION_NESTED 和 PROPAGATION_MANDATORY。同时,了解事务失效的原因及相应的应对措施,如方法修饰符、非事务方法调用事务方法、异常被捕获、事务异常类型、事务传播行为不正确以及未被 Spring 管理等。

2024-04-11 16:43:08 1841

原创 分布式锁-从单体锁到分布式锁

回顾总结一下之前做的物流项目的分布式锁。

2024-04-11 16:38:04 1950

原创 HTTPS详解-参考小林coding/小白Debug

详解Https。

2024-04-05 21:51:36 942 2

原创 java八股文面试(一)

2.检查该位置是否为空(有没有键值对存在),如果为空,在该位置创建一个新的Entry对象存储键值对。将要添加的键值对作为该Entry的键和值,并保存在数组的对应位置。3、如果该位置已经存在其他键值对,检查该位置的第一个键值对的哈希码和键是否和要添加的键值对相同,如果相同表示找到了相同的键,直接将新的值替换旧的值,完成更新操作。此外,HashMap是非线程安全的,如果在多线程环境下使用,需要采取额外的同步措施或使用线程安全的ConcurrentHashMap。1.根据要添加的键的哈希码计算在数组中的位置。

2024-03-06 21:01:55 135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除