网易一面:关于 synchronized 锁优化
Java

网易一面:关于 synchronized 锁优化

29 0

众所周知,让开发者简单轻松的编写保证线程安全的代码,一直是现代编程语言所追求的,Java 也不例外。Java 语言引入的 synchronized 关键字,无不彰显它在此方面的勃勃雄心。但理想丰满现实骨感,早期的 Java 版本里,对于此关键字的实现太过厚重,导致线程同步的性能远不如预期。Java ...

阅读全文
MyBatis 批量插入几千条数据,请慎用 foreach
Java

MyBatis 批量插入几千条数据,请慎用 foreach

43 0

近日,项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreach循环做的,差不多是这样。(由于项目保密,以下代码均为自己手写的demo代码)insertid=batchInsertpara...

阅读全文
DDD 为什么能火起来?和微服务有啥关系?
Java

DDD 为什么能火起来?和微服务有啥关系?

31 0

DDD为什么能火起来?我们先不讨论DDD的定义, 先梳理一下DDD火起来的背景, 根据我学习的套路, 永远是为什么为先,再是解决什么问题,是什么东西, 最后如何使用。我们都知道这些年随着设备以及技术的发展,软件架构发生了很多变化,从最初的单机BSCS架构到后面的集中式架构,再到如今的微服务架构, 现...

阅读全文
【167期】Java8 新特性:使用 Stream 流递归实现遍历树形结构
Java

【167期】Java8 新特性:使用 Stream 流递归实现遍历树形结构

37 0

可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面。实体类:Menu.java** *M...

阅读全文