
从面试题中学习java
文章平均质量分 78
从面试题深入学习java的内容
冰魄秋雨
这个作者很懒,什么都没留下…
展开
-
事务与锁的顺序不对导致并发的问题
比如数据库中count =100。加锁是为了让执行程序变成串行。原创 2024-06-03 10:52:58 · 392 阅读 · 0 评论 -
@Transactional导致的长事务
在编码过程中,需要考虑到在事务中避免做耗时的操作。如果在事务中调用第三方,则需要设置请求相对较短的超时时间。原创 2024-05-22 15:42:33 · 847 阅读 · 0 评论 -
说一说@Transactional
在简单的场景下,直接使用@Transactional注解来进行编码,注意上述失效场景。但是在复杂的场景下,就容易产生长事物,因为我们知道,在调用方法的时候,就先获取到了mysql的连接,并且开启了事物,需要特别注意。原创 2024-05-22 15:14:28 · 800 阅读 · 0 评论 -
为什么要使用线程池
线程的创建消耗大量资源和时间,在利用线程池,则会大大的提高了资源的利用率,提高性能。原创 2024-05-14 21:53:27 · 794 阅读 · 1 评论 -
导出任务耗时如何优化
大量数据的导入导出时,请求一定非常耗时,页面一定会不停转圈圈,不可能让用户一直停留在这个页面转圈圈,这样并不友好。原创 2024-05-13 21:00:04 · 517 阅读 · 1 评论 -
什么是浅拷贝、深拷贝
SerializationUtils.clone() apache.commons.lang3包下,将对象先转化为流,在转化为目标对象。深拷贝是创建了一个新的变量,同时创建新的空间将原对象数据复制,新变量指向了新开辟出来的对象地址。如果修改了复制对象中的属性和元素,原始对象中的对应属性和元素不会受到影响。浅拷贝是创建了一个新的变量,该变量指向了对象的地址,这两个变量共享了同一个内存地址。在计算机内存中,每一个对象都有一个地址,这个地址指向对象在内存中存储的位置。这个过程可以分三个步骤。原创 2024-05-13 20:51:33 · 434 阅读 · 0 评论 -
为什么不建议直接使用@Async
从Spring3开始提供了@Async注解,被该注解标注的方法,Spring底层会新建一个线程池或者使用已有的线程池中的线程去异步的执行被标注的方法。原创 2024-05-12 18:30:00 · 1807 阅读 · 1 评论