为了账号安全,请及时绑定邮箱和手机立即绑定

代码分层后的新世界 原创

引导语 大家好,我是文贺,一名工作五年的一线 Java 开发,主要擅长 Java 源码、DDD(领域驱动设计)、业务中台框架的落地,本次我们分享的主题名称叫做:代码分层后的新世界,其核心思想就是和大家一起讨论下目前比较通用的分层架构,讨论一下其由来、优点和简单的代码落地实践。 2 主要内容 2.1 代码不分层,迟早要崩溃。 14 年参加工作的时候,写了一年的 MVC 架构,大概的后端工程结构(我们说的是后端工程结构)如下: 整个依赖关系是:Controller -> Service -> Model,

7208浏览
56推荐
9评论

大多数人不知道的:HashMap链表成环的原因和解决方案 原创

引导语 在 JDK7 版本下,很多人都知道 HashMap 会有链表成环的问题,但大多数人只知道,是多线程引起的,至于具体细节的原因,和 JDK8 中如何解决这个问题,很少有人说的清楚,百度也几乎看不懂,本文就和大家聊清楚两个问题:1:JDK7 中 HashMap 成环原因,2:JDK8 中是如何解决的。 JDK7 中 HashMap 成环原因 成环的时机 1:HashMap 扩容时。 2:多线程环境下。 成环的具体代码位置 在扩容的 transfer 方法里面,有三行关键的代码,如下: void transfer(Entry[] ne

7088浏览
6推荐
0评论

深度递归必须知道的尾调用(Lambda) 原创

引导语 本文从一个递归栈溢出说起,像大家介绍一下如何使用尾调用解决这个问题,以及尾调用的原理,最后还提供一个解决方案的工具类,大家可以在工作中放心用起来。 递归-发现栈溢出 现在我们有个需求,需要计算任意值阶乘的结果,阶乘我们用 n!表示,它的计算公式是:n! = 123……(n-1)n,比如说 3 的阶乘就是 123。 对于这个问题,我们首先想到的应该就是递归,我们立马写了一个简单的递归代码: // 阶乘计算 public static String recursion(long begin, long end, BigD

8655浏览
9推荐
3评论
意见反馈 帮助中心 APP下载
官方微信