Java
文章平均质量分 92
大忽悠不忽悠
这个作者很懒,什么都没留下…
展开
-
DDD 领域驱动设计落地实践系列:战略设计和战术设计
引言 通过前面的文章介绍,相信大家对于什么是 DDD 有了初步的了解,知道它是一种微服务的架构设计方法论,为我们解决如何建立领域模型,如何实现微服务划分等问题提供了方向和指导。但是对于如何具体落地使用 DDD,可能大家还是一脸懵 B 的状态,因此从本文开始以及后面的文章将对如何进行 DDD 落地进行详细的阐述。在这其中还是会涉及到 DDD 中的一些重要概念,原本想着在一篇文章中介绍所有的概念,但是我觉得,概念总是在它该出现的时候出现才会让大家印象深刻,否则这些概念只是死板的概念,我们不清楚他为什么出现以及原创 2021-12-07 14:34:39 · 713 阅读 · 0 评论 -
「设计模式」汉堡中的设计模式——策略模式
前言 哈喽,大家好,今天要分享的知识点是关于策略模式的使用,观看本文章可能需要耗费【8】分钟,通过本文,你可以认识到以下几个知识点 什么是策略模式针对策略模式的局限,又有哪些解决办法枚举策略了解一下? 情景带入 话说昨天,麦当劳搞活动,板烧只要5块大洋!!!下班了之后我就骑着心爱的小摩托飞奔过去,在等待了一段(long)时(long)间(time)...... 终于如愿以偿地握着这简单的快乐 看着手里的板烧,心里突然就有了一些想法,现在搞活动,部分商品低价就可以拿到,但是搞活动不能一直搞吧,那原创 2021-12-06 21:42:45 · 329 阅读 · 0 评论 -
面渣逆袭:半个小时成功拿下阿里一面HashMap追魂二十三问
HashMap作为我们熟悉的一种集合,可以说是面试必考题。简单的使用,再到原理、数据结构,还可以延伸到并发,可以说,就一个HashMap,能聊半个小时。 1.能说一下HashMap的数据结构吗? JDK1.7的数据结构是数组+链表,JDK1.7还有人在用?不会吧…… 说一下JDK1.8的数据结构吧: JDK1.8的数据结构是数组+链表+红黑树。 数据结构示意图如下: 其中,桶数组是用来存储数据元素,链表是用来解决冲突,红黑树是为了提高查询的效率。 数据元素通过映射关系,也就是散列函..原创 2021-12-06 21:39:44 · 98 阅读 · 0 评论 -
面试官:工作中Redis持久化机制AOF日志跟RDB快照你是如何选择的
大家都知道Redis经常被使用在缓存的场景中,那有没有想过这么一个问题,一旦服务器宕机,内存中的数据全部丢失,我们该如何进行恢复呢?如果直接从后端数据库恢复,不仅会给数据库带来巨大的压力,还会使上层应用响应变慢。所以redis的持久化机制是很重要的。接下来我们一起来探讨一下Redis的持久化机制。目前Redis持久化主要有两大机制,即AOF(Append Only File)日志和RDB快照。接下来我们就来分别学习一下。 AOF日志 AOF日志,即写后日志,它的含义是Redis先执行命令,把数据写入内存原创 2021-12-03 19:23:43 · 1307 阅读 · 0 评论 -
面试官:讲一下Mybatis在SpringBoot中是如何被加载执行的?
本文主要讲述mybatis在springboot中是如何被加载执行的,由于涉及的内容会比较多,所以这次只会对调用关系及关键代码点进行讲解,为了避免文章太长,读起来昏昏欲睡,一些不影响整体流程的细节就不涉及了。 源码位置https://github.com/wbo112/blogdemo/tree/main/springbootdemo/springboot-mybatis 1、预备知识 FactoryBean什么是FactoryBean?我们先看看FactoryBean的源码 //由 BeanFac原创 2021-12-03 19:22:50 · 550 阅读 · 0 评论 -
真实如刀的洞见:NIO,epoll,多路复用,更好地理解IO
java代码和系统调用有一定的关系,Java是解释型语言(Java并不值钱,值钱的是jvm),我们所写的java代码最终都编译成字节码,然后去进行系统调用,本文我们还是从一个简单的服务端程序学习理解下io。 BIO 无论是哪种语言只要是服务端的程序,一定会有如下操作 调用socket得到文件描述(符代表了这个socket) bind绑定端口如8090 listen 监听状态 accept 接收客户端连接 继续使用上一篇文章的测试demo,通过一个客户端连接服务端,从下面的图片中可以看到主线程到了原创 2021-12-03 19:21:48 · 128 阅读 · 0 评论 -
开撸,SpringBoot-表单验证-统一异常处理-自定义验证信息源
1. 简介 我们都知道前台的验证只是为了满足界面的友好性、客户体验性等等。但是如果仅靠前端进行数据合法性校验,是远远不够的。因为非法用户可能会直接从客户端获取到请求地址进行非法请求,所以后台的校验是必须的;特别是应用如果不允许输入空值,对数据的合法性有要求的情况下。 2. 开撸 2.1 项目结构 结构说明: ├── java │ └── com │ └── ldx │ └── valid │ ├── ValidApplica原创 2021-12-03 19:20:50 · 224 阅读 · 0 评论 -
后台开发看过来:这次带你一举拿下网络IO模型
前言 IO 是计算机体系中重要的一部分 。不同的 IO 设备有着不同的特点:数据率不一样、传送单位不一样,数据表示不一样,等等。所以,很难实现一种统一的输入输出方法。 IO 有两种操作,同步 IO 和异步 IO。同步 IO 指的是,必须等待 IO 操作完成后,控制权才返回给用户进程。异步 IO 是,无须等待 IO 操作完成,就将控制权返回给用户进程。 上面就是一个典型的阻塞 IO,对方还没有准备好回啥,发送只能等着,知道对方想好回复语,再进行回复。下面学习一下常见的 4 中 IO 模型原创 2021-12-03 19:18:36 · 73 阅读 · 0 评论