自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 缓存击穿问题分析

缓存一般作为RDS的前置组件,将常用的资源缓存,用来减少RDS的读取压力,也是诸多系统常用的一种方案,如果允许访问缓存失败直接访问数据库,然后再将数据回写到缓存中,那么就会存在缓存击穿的问题,缓存击穿:缓存中的数据未被命中,进而请求直接对数据库进行查询,当大量的类似查询瞬间出现,就会出现数据库的压力爆炸甚至引起数据库的雪崩,本质就是一种缓存失效引发的极端问题如何应对这种情况?在很多...

2017-12-26 14:54:59 242

原创 经典面试题

接触到一个经典的面试题:类似于背包最优解的问题, 原题如下 [code="java"]import java.util.List;public class SplitOrders { public class Item{ /** * 卖家用户id */ lo...

2017-09-28 16:58:02 197

原创 java condition await() 与object wait()的区别

java condition await() 与object wait()的区别object wait()* The current thread must own this object's monitor. The thread * releases ownership of this monitor and waits until another thread ...

2017-09-07 14:42:18 2746

原创 java voliatile key word

java中的voliatile变量,在java中右有两个语义1.可见性,每次voliatile变量修改时,都会直接写到主内存中2.有序性,1.可见性, 表现为每次voliatile变量修改时,都会直接写到主内存中,另外每个线程读取voliatile变量时,都会从主内存中读取,但是voliatile变量不能保证变量的安全性,具体原因我们稍后讨论,有人问,voliatile...

2017-09-07 14:13:24 171

原创 JVM stop the world

JVM 在进行GC的时候,需要做两个事情,一个是GC root 做可达性分析GC root的对象 可能是常量,类静态变量,以及虚拟栈中的局部变量,这些大概组成了GC root对象,GC root 需要在一个JVM 某个时间点的快照,然后基于这个快照来做可达性的分析,基于这个快照,判断哪些对象是要被回收的,接下来就要真正的GC操作,在新生代,老年代,会做不同的GC操作,标记清理,或者复制整理...

2016-11-09 23:03:24 184

原创 硬件内存模型

理解JVM 的内存模型之前,有必要理解一些硬件的内存架构,因为JVM的内存模型也是为了解决系统和硬件间内存交互的问题,才构建的一种虚拟的内存模型,这样就可以通过JVM来屏蔽硬件和系统的差异,达到统一的内存交互方式([b]如volatile,就可以达到volatile变量到主内存的更新,但是正在的硬件的内存架构,是通过缓存一致性的协议,将CPU缓存区向主内存的更新不同的,这个是根据协议的不同,更新的...

2016-11-09 21:30:46 160

原创 Elasticsearch 分词搜索

之前做了一下ES 的分词搜索,在网上找的资料很少,只能根据API一点点扒拉,总算长得帅还是有好处的,成功的通过分词进行搜索,适用的场景,根据某些字段进行分词匹配,并指定字段不同的优先级,都是通过http请求直接完成,自己实现是通过java封装了一下,java代码就不贴出来了,大家可以根据根据自己需要进行封装分词查询大概需要两步操作:1.设置ES 某index下的mapping,2,针对字段进行...

2016-09-28 16:21:41 674

原创 mysql 事务级别

mysql 数据四种事务级别:Read Uncommitted,Read Committed,Repeatable Read,SerializableRead Uncommitted,Read Committed 这个两个就不多做介绍了主要说明一下Repeatable Read 这个是mysql 默认的事务级别此事务级别的表现为,可重读:此事务内的查询,不受其他事务的影响,会坚持从...

2016-09-28 10:54:32 219

原创 windows下elasticsearch2.3.2 与 IK 分词集成

1.下载IKhttps://github.com/medcl/elasticsearch-analysis-ik/tree/v1.9.2IK 对应的Elasticsearch版本 详情见github [img][img]http://dl2.iteye.com/upload/attachment/0119/9915/dfa8298c-bc67-33ee-9c0e-c260f32...

2016-09-12 14:55:57 203

原创 java中内存泄漏

内存泄漏(memory leak):该被回收的对象没有被回收,或者说没有被及时回收,导致了废弃对象依然占用着空间,一方面内存泄漏的问题具有常发性,一旦会发生一次就会发生100次,直接导致程序的运行性能,甚至出现OOM咱们看例子[code="java"]public class Stack { private Object[] objects; private int...

2016-09-01 07:43:23 105

原创 java并发详解

线程安全1.什么是并发?2.什么是线程安全3.如何保证线程安全参考书籍《java并发编程》此篇博客是回答我懵懂骚年时代的一下疑问,希望可以帮助大家解惑,共勉!!1.什么是并发? 我喜欢用并行,串行,并发做比较 并行:完全独立在不同CPU上的程序执行,完全平行,没有任何交叉 串行:在同一个CPU上执行的程序,一个个排队执行 并发:在同一个CPU...

2016-08-31 07:34:39 120

原创 编程建议(持续更新)

1.UML的重要性,推荐plantUml2.编码编的其实是思路:先写注释(思路),在写代码3.设计之初,所有方法都是黑盒4.设计模式要顺其自然5.接口的重要性是告诉别人我是干什么的6.接口设计的伸缩性:考虑中间数据状态,减少对应终端接口修改7.行业内的规范还是要遵守的,比如是 mvc,保留适当的DAL层,关键时刻可以救命8.减少同层之间的调用(同一个类内的不算哦),会增...

2016-07-18 11:01:44 94

原创 java学习路线图

这么长的时间,么有好好总结过自己的学习路线,今天和大家一起分享一下java学习路线图中每一个字都是一管一管撸上去的,请大家轻喷,由于梳理比较粗略,一方面是一个小伙伴嗷嗷待乳,一方面确实比较忙一点,希望大家见谅 [img]http://dl2.iteye.com/upload/attachment/0118/9299/cb9b7359-6e48-3867-977b-785a5d14bd...

2016-07-14 22:56:16 121

原创 线上一个mysql死锁问题

2016年7月8日,周五,本来一个欢快的日子,大家准备去吃会火锅唱会歌,下班前DBA同学发现突然有几个更新语句在query中,一直无法执行完,更新的语句基本是针对同一条更新的,语句的大概意思就是在交易完成后更新一条出库的记录,对已售数字进行加一,称之为SQLA;分析开始1.这个表很小,大概300条,执行sql中有索引,应该很快就执行完成,并且这段代码已经在线上安然度过半年多,先排除代码问题...

2016-07-09 10:49:50 136

原创 关爱程序员

听听就好了1.“先这样写,反正后面要重构”,作死指数4颗星2.产品经理:“这个是需求比较小,改应该很快的”,惨死指数3颗星3."这么简单的需求需要这久?你们是专业的么?",程序员不要上当,否则惨死指数4颗星4."再坚持这一个迭代,我们就可以步入正规了",离职指数4星5."来一起开个会,就一会",浪费指数3颗星6."**开发小组来了一个妹子",失望指数4颗星7."大家以后...

2016-07-05 21:24:34 283

原创 千万表级联查询优化

需求背景:某大型物流公司CRM提供可视化营销功能,一线员工可以在界面中直接按条件搜索到本门店下属各个用户:潜在客户,大客户,散户等,并显示用户的各种数据:基本信息,来源信息,花费金额,花费频率,回访信息,统计报表等数据;涉及到表 :用户表基本信息表,用户附加信息表,订单表,用户来源表表基数:用户表1000万,附加信息3000万,订单表5000万,用户来源表1000万正式进入查询阶段...

2016-07-04 13:46:24 866

原创 threadLocal的使用场景--事务下的日志记录

threadLocal在系统中的使用场景,每发生一笔交易,无论成功失败都要进行数据库记录作为交易日志,成功的不需要多少,失败的时候就需要做一些事务回滚,这里使用的事务回滚是通过异常机制来控制(也可以手动回滚)。当发生异常时就事务回滚,并通过threadLocal记录异常发生时的交易快照以及失败原因,在调用层进行获取并记录;看起来是很正常的一个方案,线上不久就开始出现问题:插入交易日志时,交易流水号...

2016-07-02 16:04:11 619

原创 redis数据结构之String

redis中的字符串类型,分为两种,一种是C语言本身的字符串,一种是自己构建的一个数据类型(simple dynamic string)SDS。C字符串主要用于字符串字面量用于一些无须对字符串修改的地方,比如redis中日志打印;在reids中可以被修改的字符串就用SDS来代替C字符串;redis中使字符串类型的键值对都是SDS作为底层数据实现的,当然键值在redis中都是字符串类型的哦,下面我们...

2016-07-02 12:28:48 66

原创 redis数据结构解析

[size=medium] redis数据结构解析之前一直以为redis中的数据结构是B+树之类的数据结构(数据库的索引机制),但是事实上是我想多了,redis本身的数据结构大多数都是我们常见的,除了跳跃表这个概念,也没有其他新型结构;纵观redis的整体,是通过空间换取时的思想,另外添加了事务和集群的概念,就形成了我们现在...

2016-07-02 10:46:22 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除