摘要: 针对突然宕机的问题不会自动继续执行,不会自动直接回滚,但是可以人工手动选择继续执行或者直接回滚,依据是事务日志。事务开启时,事务中的操作,都会先写入存储引擎的日志缓冲中,在事务提交之前,这些缓冲的日志都需要提前刷新到磁盘上持久化,这就是人们口中常说的“日志先行”(Write-Ahead Loggin 阅读全文
posted @ 2019-04-21 15:30 小艺是个拖油瓶 阅读(2009) 评论(0) 推荐(0) 编辑
摘要: 一、前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔 阅读全文
posted @ 2019-04-21 15:29 小艺是个拖油瓶 阅读(1280) 评论(0) 推荐(0) 编辑
摘要: 1.MySQL的逻辑结构: image.png 1.第一层:对客户端的连接处理、安全认证、授权等,每个客户端连接都会在服务端拥有一个线程,每个连接发起的查询都会在对应的单独线程中执行。 2.第二层:MySQL的核心服务功能层,包括查询解析、分析、查询缓存、内置函数、存储过程、触发器、视图等,sele 阅读全文
posted @ 2019-04-21 15:14 小艺是个拖油瓶 阅读(159) 评论(0) 推荐(0) 编辑
摘要: (1)内核支持线程是OS内核可感知的,而用户级线程是OS内核不可感知的。 (2)用户级线程的创建、撤消和调度不需要OS内核的支持,是在语言(如Java)这一级处理的;而内核支持线程的创建、撤消和调度都需OS内核提供支持,而且与进程的创建、撤消和调度大体是相同的。 (3)用户级线程执行系统调用指令时将 阅读全文
posted @ 2019-04-21 15:12 小艺是个拖油瓶 阅读(3009) 评论(0) 推荐(0) 编辑
摘要: G1 是JDK7+之后诞生的新一代垃圾回收器。 可以自主配置G1作为GC选项,未来会替代CMS,但目前还是默认是CMS。 G1 并不是分代回收算法。G1将堆空间划分成了互相独立的区块。每个区块可能属于Young,也可能属于Old。 并且区域空间可以是不连续的(CMS要求Old和Young必须是连续的 阅读全文
posted @ 2019-04-17 20:01 小艺是个拖油瓶 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-04-15 19:58 小艺是个拖油瓶 阅读(128) 评论(0) 推荐(0) 编辑
摘要: List arrayList linkedlistarraylist 可增长的数组长度 查询快 get() set() 常数级插入和现有所有项的删除代价昂贵 除非在表的末端 ArrayList 是线性表(数组)get() 直接读取第几个下标,复杂度 O(1)add(E) 添加元素,直接在后面添加,复 阅读全文
posted @ 2019-04-15 19:47 小艺是个拖油瓶 阅读(3956) 评论(0) 推荐(0) 编辑
摘要: CTR CVR RPS ROI CPT / CPM / CPC / CPA / CPS ROI=订单额/消费量(即广告费用)=(单均额*转化量)/(CPA*转化量)=单均额/CPA CTR=点击量/展现量 CVR=转化量/点击量 CPM=(消费量/展现量)*1000 CPA=消费量/转化量=(CPC 阅读全文
posted @ 2019-04-11 19:58 小艺是个拖油瓶 阅读(208) 评论(0) 推荐(0) 编辑
摘要: SynchronizedMap 一次性锁住整张表来保证线程安全,所以每次只能有一个线程来访问map。 synchronizedMap实现了Map接口。 构造synchronizedMap时将this指针传递给监视器对象mutex,即同步方法块锁住的是synchronizedMap对象自身,并将方法代 阅读全文
posted @ 2019-04-07 17:57 小艺是个拖油瓶 阅读(2447) 评论(0) 推荐(0) 编辑
摘要: 什么是内存屏障? 内存屏障,又称为内存栅栏,是一组处理器指令,用于实现对内存操作的顺序限制。 内存屏障为何重要? 对主存的一次访问一般花费硬件的数百次时钟周期。处理器通过缓存能够从数量级上降低内存延迟的成本,这些缓存为了性能重新排列待定内存操作的顺序。 也就是说,程序的读写操作不一定会按照它要求处理 阅读全文
posted @ 2019-04-07 17:51 小艺是个拖油瓶 阅读(170) 评论(0) 推荐(0) 编辑