
网易一面:关于 synchronized 锁优化
众所周知,让开发者简单轻松的编写保证线程安全的代码,一直是现代编程语言所追求的,Java 也不例外。Java 语言引入的 synchronized 关键字,无不彰显它在此方面的勃勃雄心。但理想丰满现实骨感,早期的 Java 版本里,对于此关键字的实现太过厚重,导致线程同步的性能远不如预期。Java ...
阅读全文众所周知,让开发者简单轻松的编写保证线程安全的代码,一直是现代编程语言所追求的,Java 也不例外。Java 语言引入的 synchronized 关键字,无不彰显它在此方面的勃勃雄心。但理想丰满现实骨感,早期的 Java 版本里,对于此关键字的实现太过厚重,导致线程同步的性能远不如预期。Java ...
阅读全文rocketmq运行时提示 No route info of this topic 异常产生的原因可能是如下几方面:1)Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic2)Broker没有正确连接到Name Server3)Producer没有正确连接到Name Server...
阅读全文近日,项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreach循环做的,差不多是这样。(由于项目保密,以下代码均为自己手写的demo代码)insertid=batchInsertpara...
阅读全文DDD为什么能火起来?我们先不讨论DDD的定义, 先梳理一下DDD火起来的背景, 根据我学习的套路, 永远是为什么为先,再是解决什么问题,是什么东西, 最后如何使用。我们都知道这些年随着设备以及技术的发展,软件架构发生了很多变化,从最初的单机BSCS架构到后面的集中式架构,再到如今的微服务架构, 现...
阅读全文elasticsearch启动环境,JDK配置:jdk-16.0.1elasticsearch-7.15.2启动时警告信息:warning:usageofJAVA_HOMEisdeprecated,useES_JAVA_HOME译文的含义是指“警告:不推荐使用JAVA_HOME,请使用ES_JAVA...
阅读全文可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面。实体类:Menu.java** *M...
阅读全文