Hi, 我是徐梦旗!
花名:远舟. 🤖Java开发工程师. 👀Blogger. 🤳INFJ
回到原点 随着大语言模型的出现,Vibe Coding 成了最火的概念之一,未曾系统性地学过软件工程知识的人们跃跃欲试,编程这个曾经看着如此困难的事情...
介绍 Spring Expression Lanuage(下文简称SpEL)是Spring提供的一种能够在运行时操作对象(读和写)的表达式语言。如下示...
为什么要参与开源项目? 参与开源项目有以下几个好处: 熟悉框架代码,提高设计思维,抽象能力及编码能力。 熟悉知名开源项目的维护流程,与技术大咖对话...
为什么需要异步编程? 每次只做一件事,更符合人脑思考的逻辑,更易于理解。如计算 ((7 * 3) + (17 + 23)) * (9 + 17),假设人...
作为Maven的使用者,我们可以通过mvn clean install命令进行Maven项目的清理和打包;可以通过mvn dependency:tree命...
当只有一个任务时,使用单个线程执行可以很好地满足需求;但由于单个线程是串行执行任务的,随着任务的增多,处理速度会很慢,如下代码: java List<T...
相比于synchronized内置锁隐式地加锁和释放锁的方式,ReentrantLock则采用显式地加锁和释放锁的方式,如下代码: java priva...
当多个线程对同一个变量进行修改时,可能会产生以下线程安全问题: CPU缓存导致的可见性问题。 指令重排序导致的有序性问题。 线程切换导致的原子性问...
当共享资源被多个线程同时访问时,可能会产生不符合预期的并发问题。为了保证共享资源在某一时刻只能被一个线程访问到,则需要对资源进行加锁,为此Java提供了一...
相比于JDBC的编程式事务,Spring提供了一种更便捷的处理事务的方式,即声明式事务。我们只需要在方法或类上标注@Transactional注解便可完成...
