随笔分类 - 知识点小结
散乱知识点小整理
摘要:DDD—领域驱动模型 将代码深度与业务绑定 1.简单概括 传统开发:对着需求文档写代码,数据库怎么设计代码怎么写,业务逻辑分散在controller,service,util,实体类只用作数据的载体(贫血模型) DDD:拉着业务画领域模型,业务规则被封装在领域实体的内部,业务怎么变,实体的代码怎么调
阅读全文
摘要:1. 类加载过程 验证 —— 准备 —— 解析 —— 初始化 验证阶段: 判断.class文件符合规范标准 准备阶段:给类以及静态变量分配内存并给初始值 “0” 解析阶段: 维护哥哥字段,方法类的内存指针或偏移量 初始化阶段: 变量赋值(真实的值),执行代码 什么时候一个类会进行初始化阶段? 1.n
阅读全文
摘要:进程间的通信方式,说白话 就是两个进程间的数据如何传输的? 1.管道pipe(无名管道) 看一条常见linux命令 ps -ef | grep java 其中中间的这条 “ | ” 就是管道, 上述这条命令由两部分构成可以看作是两个进程 ps和grep,ps 得到的结果通过管道传递给 grep 优点
阅读全文
摘要:0.基本定义 TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,而且TCP是全双工模式。 面向连接的? 是的,必须收发两端先建立连接才能发消息,是建立在安全连接基础上的 可靠的? 必须要可靠的连接,可靠的发送消息,平白无故丢消息那可不行 基于字节流的? TCP 在建立连接时,需要告诉对
阅读全文
摘要:我们模拟一个服务端和客户端通过网络发消息的演化过程 第0次 明文传输 服务端正常通过明文发送消息給客户端,通过网络链路转发,很容易中途被人截获,解析,甚至篡改,导致很多问题。 可以说明文传输是没有安全可言的,为此发明了加密的密文传输。 第一次 简单加密传输 服务端传给客户端一个key,之后传的消息都
阅读全文
摘要:代理模式 意图:为其他对象提供一种代理以控制对这个对象的访问。 说白话就是在不侵入原来功能的基础上,附加一些功能。例如在执行方法前后打印日志啊,统计一下执行方法次数啊,一些异常处理啊.. 1.什么是代理模式 我看来整个代理模式大同小异就是这重要的三者 1. 被代理类 2.代理类 3.需要被增强的方法
阅读全文
摘要:正确的应用场景+合适的线程数量 = 快速运行速度 Tomcat是目前比较流行的 Web 容器,接受请求之后都会转交给线程池处理,这样可以有效提高处理的能力与并发度 经典老题: 创建线程池时应该给多大的核心线程数,最大线程数? 抛开场景谈线程数都是耍流氓, 场景的话 一般分为IO密集型与CPU密集型,
阅读全文
摘要:ThreadLocal 是啥? 有什么作用?怎么玩? 底层如何实现? 听说过ThreadLocal内存泄漏吗? 为啥? ThreadLocal key为啥设计成弱引用呢? 三步走玩转ThreadLocal 1.ThreadLocal详解 是啥: ThreadLocal专门为线程服务,为线程提供一个单
阅读全文
摘要:delete对性能会有影响,一般不建议硬性delete数据,而是标记deleted = 1这种软删除 为啥呢? 根据之前了解的mysql底层存储原理 链接: mysql底层存储及IO过程理解 最小存储单元page页,无论是非叶子节点page存的是索引key和指针,还是叶子节点存的是行数据 1.当删除
阅读全文
摘要:1.explain 主要看的几点: type 查询级别 possible_keys 可能用到的索引 key 实际用到的索引 rows 大致扫描行数 extra 其中这个扫描行数只是一个近似行数,并不是实际绝对的扫描行数 MySQL中数据的单位都是页,MySQL又采用了采样统计的方法,采样统计的时候,
阅读全文
摘要:InnoDB维护了一个逻辑空间叫表空间 向上对接开发者,向下对接物理文件 当创建表时,会自动为表创建一个对应表名的表空间,并在数据库目录下生成一个“表名.ibd”的表空间文件。 存储结构 物理存储图 page页 extent区 sagement段 书页,一本书,一套书的关系 最小存储单元是页 , 一
阅读全文
摘要:mysql的隔离级别? 读未提交 -》 读提交 -》 可重复读 -》 串行化 InnoDB默认级别为可重复读,可重复读会产生问题 就是幻读。 什么是幻读? 不可重复读侧重于update这种操作,同一条数据前后读起来不一样的情况, 幻读侧重于insert delete这种操作,前后两次select 数
阅读全文
摘要:推拉模式的时候指的是 Comsumer 和 Broker 之间的交互。 推模式 broker主动推消息给消费者,来一条推一条 优点:来一条推一条,实时性较高 缺点:消费者的消费能力有限,如果一时间大量的消息推过来 消费者并没有能力一下去消费这么多。不同的消费者消费速率可能不同,导致broker维护不
阅读全文
摘要:未来的未来会填坑的 T0 hytrix 资源隔离,限流,熔断,降级 √ 已更新 Kafka RocketMQ 是推还是拉? √ 已更新 单例模式double check的演进及原理 √ 已更新 spring事务传播机制 @Trasactionnal基本原理 https://www.yuque.com
阅读全文
摘要:redo log 是InnoDB存储引擎层的日志,其他存储引擎不存在的 bin log是服务层的日志,不区分存储引擎 redo log 是物理日志,记录的是"在 XXX 页上做了 XXX 修改"; binlog 是逻辑日志,比如" 给 id = 2 这一行的 c 字段加 1" redo log 是有
阅读全文
摘要:>> >>> << 位运算 i >> 1 表示 i的二进制 整体向右移动一位 i << 1 表示 i的二进制 整体向左移动一位 i >>> 1 表示 i 的二进制 整体向右移动1 位,不涉及符号位 | 或运算 a | b 当a b 全是0时 结果是0 其他的都为1 & 与运算 a & b 当a b全
阅读全文
摘要:BigDecimal是 java.math包下提供的一种用于精确运算的类型 用于表示数字。进行数字间的判断。比较数字大小。 阿里巴巴开发手册原文 试验 输出结果 造成这种结果是因为精度问题! BigDecimal中 equals源码 bigDecimal0 和 bigDecimal1 传的都是整数,
阅读全文
摘要:传统用户通过cpu读取磁盘数据过程 由于cpu要参与从磁盘读数据到寄存器,又存入内存。这中间cpu都是阻塞状态不能干别的工作 由此产生DMA技术 DMA技术 从磁盘搬运数据的任务都交给了DMA控制器 而cpu不再负责搬运 用户进程调用 read 方法,向操作系统发出 I/O 请求,请求读取数据到自己
阅读全文
摘要:跳表— 在顺序链表的基础上加索引 类似于给书加目录,把一些章节摘出来当目录 形式结构:最底层为全部链表 , 每上一层就将其中一部分当作索引 1. 每个节点保存上一个节点指针,下一个节点指针,上指针(他的索引地址),下指针(他作为索引指向的原节点地址) 2. 头节点尾节点都给无穷(Integer.ma
阅读全文
摘要:由于历史原因和技术原因,对于IPv4而言,根DNS只能有13个IP。 A开头那个简称A根,是主根,其他12个(B、C、D、E、F、G、H、I、J、K、L、M)是辅根。 全球目前根域名服务器一共 十三台 十台在美国,英国和瑞典各1个,日本1个 十三台只是逻辑概念,十三台背后有上千台物理服务器(根镜像)
阅读全文

浙公网安备 33010602011771号