- 博客(15)
- 收藏
- 关注
原创 设计模式之设计原则及分类
面向对象设计原则和前人总结出来的设计模式是软件工程中非常重要的概念思想,主要为我们日常的开发中提供了一套完整的开发思想,帮助我们在日常开发中构建更加灵活、可维护和可扩展的系统。设计原则是“道”:提供指导思想,塑造代码哲学。设计模式是“术”:提供具体工具,解决特定问题。二者结合能写出高内聚、低耦合、易扩展的代码。
2025-03-31 20:52:09
1097
原创 设计模式之抽象类&接口
在日常的工作中,大多数开发者常常陷入一种“功能优先”的思维定式(面向API开发):面对需求变更时,第一反应是添加新的if-else分支;面对复杂逻辑时,习惯性地用过程式代码堆砌实现。再加上常的工作更多的就是 curd ,都觉的没有必要去了解设计模式这样的知识,项目维护到后期,想法也很简单:代码和我总有一个能跑😄!其实了解和学习设计模式的有很大的价值,随着工作经验增多有了设计模式知识的储备在于培养“预见变化”的思维。它教会开发者如何用多态(抽象)封装继承等原则构建灵活的系统架构,而非仅关注眼前的功能实现。
2025-03-31 20:51:49
982
原创 java线程池整理详解
Java线程池是一种管理和复用线程的机制,用于提高应用程序的性能和资源利用率。它可以有效地控制线程的数量,减少线程创建和销毁的开销,是池化思想的一种体现,预先创建和管理一组线程即“池”。1.在线程池执行的流程中为什么是等任务队列满了后,才创建新的线程,而不是核心线程被用完后,就立马创建新线程执行任务?资源管理:创建线程是一个相对昂贵的操作,过多的线程会消耗系统资源(如内存和CPU)。通过限制线程的创建,可以避免因线程过多而导致的系统性能下降。负载控制。
2024-11-01 15:30:40
851
1
原创 java多线程创建与线程的状态
Java多线程是指在Java编程语言中同时执行多个线程的能力。一个进程会有多个线程,线程是程序执行的基本单位,,Java通过内置的线程支持来实现多线程编程。使用多线程可以提高程序的并发性和效率,特别是在处理I/O操作或CPU密集型任务时。
2024-10-11 19:16:32
787
原创 Mysql分组取最新一条数据总结(多种方法比较)
在日常业务开发中涉及到报表的统计,或者取某一个用户最新的一条记录并对他进行业务分析等等,现总结了常见的几种方法去取这这一类数据这里以mysql 5.7为例子。
2024-07-25 19:14:08
6832
原创 MYSQL隔离级别及死锁产生的业务场景复现
之前一篇文章spring的传播机制和事务控制(https://blog.youkuaiyun.com/weixin_43582896/article/details/138500891),文章更多的是在代码层面的应用,抛开代码层面,最终还是在db中执行按照一定的逻辑顺序执行相应的sql语句来完成相应的业务开发。先了解什么是 锁机制 和 死锁?1.在MySQL的InnoDB 引擎中,锁机制是指MySQL数据库管理系统在处理并发访问时使用的一种机制,用于控制对数据库中数据的访问和修改。
2024-05-11 19:41:52
846
1
原创 Spring 事务控制及传播机制
在Spring和MySQL中,事务是一组操作被视为一个单独的工作单元,要么全部成功执行,要么全部失败回滚的机制。在Spring中,事务管理是通过TransactionManager来实现的,可以通过注解(@Transactional)或编程方式(TransactionTemplate)来控制事务的边界。在MySQL中,事务是通过BEGIN、COMMIT和ROLLBACK语句来控制的,可以确保数据库操作的一致性和完整性。通过事务的机制,可以保证数据的一致性,避免数据丢失或不一致的情况发生。
2024-05-09 21:56:31
1094
2
原创 CountDownLatch的理解及业务使用
CountDownLatch的理解及业务使用1.确保计数器的值正确设置:在使用CountDownLatch时,需要确保计数器的初始值是正确的,即与实际需要等待的线程数量相匹配。否则,可能会导致线程一直等待或者无法正常释放。(这一点很重要)2.使用await()方法等待计数器归零:在主线程或者其他线程中,可以使用await()方法来等待计数器归零。该方法会阻塞当前线程,直到计数器的值为0,或者等待超时。
2023-12-25 16:39:23
1019
原创 日常问题处理积累[JAVA]
Q1:java 项目分别部署在两台服务器中, private volatile boolean retryLock = false;这行代码中的 volatile 关键字,还有效么,两台服务器中起的线程还能实时访问到retryLock 这个变量的值么?
2023-10-08 20:17:45
108
1
原创 java 反射
Java 反射:反射可以在运行时获取一个类(这个类可以是私有的private修饰的)的所有的信息,包括成员变量、成员方法,构造器,类中定义的字段等;Java 是一种面向对象的语言 其中反射 就是 把java类中的各个成分映射成一个个java 对象,这样供我们比较好的操作并使用这些对象//取class 对象try {Class
2023-09-19 00:06:11
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人