自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 Zookeeper客户端curator提供的锁解析

1.可重入公平锁InterProcessMutex 属性 LockInternals: internals 真正获取锁的类 LockInternal{ CuratorFramework: client String: path String: basePath LockInternalsDriver: driver String: lockName AtomicReference<Revoc

2020-05-10 13:50:55 597

原创 MySQL JOIN算法总结

Nested-Loop JoinTable Join Typet1 ranget2 reft3 ALLfor each row in t1 matching range { for each row in t2 matching reference key { for each row in t3 { if row satisf...

2020-03-08 21:02:15 230

原创 Innodb数据库优化-表结构优化汇总

1.优化表大小表列:用小int代替int,节省四分之一空间;索引行采用not null,避免存储引擎判断是否Null,可以设置一个默认值。如果必须采用Null值可以使用。表索引:主键索引越短越好,主键索引存在于每一个二级索引中,如果主键索引较短,则节省可观的空间。创建需要提升性能的索引,如果读取表总是通过若干列,那么最好创建一个联合索引而不是每个列都创建索引,联合索引的第一个列应该是频...

2019-11-21 23:06:41 242

原创 Mysql 索引优化总结

在对表进行插入,更新,删除时需要更新索引1.在一下情况mysql会考虑采用索引:1)where条件中2)若有多个索引,mysql同常只采用一个索引,获取最少行数的索引3)联合索引左匹配索引,联合索引的值是各个列的值按照指定顺序拼接起来的4)join时如果有索引存在也会采用索引寻找行,不同类型的列比较不会采用索引,varchar和char若长度定义一致则会采用索引匹配,长度不同时则不会。...

2019-11-11 22:58:31 168

原创 InnoDB锁总结

1. InnoDB锁InnoDB采用行锁,根据事务级别分别采用不同的锁。一般情况下,如果二级索引加锁时,会同时去找对应的聚集索引加锁。如果无索引时,读时逐行扫描锁全表。(1) S锁,共享锁;X锁,排他锁。S锁和S锁可以共存,S锁和X锁互斥。(2) 意向锁InnoDB允许表锁和行锁共存,意向锁是数据库表级别的锁,指出事务稍后对表中的行需要哪种类型的锁(X锁或者S锁)。意向锁不会阻塞任...

2019-08-11 22:04:21 173

原创 InnoDB结构汇总(内存和磁盘)

参考:https://dev.mysql.com/doc/refman/5.7/en/innodb-architecture.html结构图:1. TableInnoDB表和其索引一般创建在系统表空间中,file-per-table空间或者通用表空间(general)。当参数innodb_file_per_table开启时并且是默认时,表被创建在独立的file-per-table空...

2019-07-07 15:43:39 2374

原创 Mysql Row Format(行记录格式)

参考:https://dev.mysql.com/doc/refman/5.7/en/innodb-row-format.htmlRow format 行记录格式一个表的行记录格式决定表的行物理存储模式,决定query和dml操作性能。越多的行匹配进独立的磁盘页,query和index查找会快一些,需要的缓存就越少,及io操作。表由B-tree index和二级索引(secondary ...

2019-06-16 15:47:01 8584

原创 轻量级重试机制方案(mq)

1.Points(1)业务与重试分离(2)重试机制只负责重试(3)具体重试内容由业务负责(4)采用消息机制重试(5)重试参数类型具体由业务自己转换(6)参数记录当前重试目标,重试次数,重试间隔参数等2.API RetryInterface RetryResultEntity retry(String param...

2019-03-11 23:29:57 1028

原创 Shiro源码+架构

1.Shiro常用三模块(1)SessionManager,管理sessionSessionDao,用于持久化session:public interface SessionDAO { Serializable create(Session session); Session readSession(Serializable sessionId) throws Unk...

2018-12-16 23:21:05 163

原创 导入文件批量处理工具

1.介绍(Introduction)批量导入工具以简化批量处理操作,抽象重复行为模式为主,抽离统一重复行为和具体业务逻辑。2.结构(1)API 类 ImportUtils service AbstractImportCallBack 委托接口 ImportUtils...

2018-12-13 19:25:37 965

原创 锁原理分析 并发构件

1.并发构件构件备注synchronizeJVM层实现synchronize(object){//do the job}synchronize(this){//do}synchronize(Object.class){// do}推荐使用第一种,后两者直接锁住类效率低ReentrantLock代码层实现的锁class ReentrantLock{ # lock() # unlo...

2018-04-08 22:38:01 163

原创 Java 反射机制 父类私有字段处理

1.获取class的方法object.getClass()获取这个实例所属的class对象type.class通过类型获取所属class对象Class.forName()通过类路径获取class对象Double.TYPE对应基本类型double.class,所有基本类型均可通过其包装类型的TYPE获取Class.getSuperclass()获取父类的class对象Class.getClasses...

2018-03-25 13:04:39 1404

原创 Apache Shiro 总结2

1. Shiro Authentication验证principals: 用户名, credential: 密码等执行顺序:subject.login(token)subject委托给securityManager,securityManager.login(token);securityManager委托给内部的Authenticator实例,调用authenticator.authentica...

2018-03-22 23:04:50 159

原创 Apache Shiro 总结1

 1.Shiro的架构Shiro官网架构图如下:Shiro核心三部分是Subject, SecurityMnager, Realm.(1) Subject:与当前软件交互的任何事物,可以是第三方服务;(2) SecurityMnager:轻量级的容器组件;(3) Realm:在shiro和安全数据之间充当桥梁或者连接器;(4) SessionManager:创建管理用户的session生命周期;默...

2018-03-10 23:05:08 173

原创 Hibernate Validator 6总结

Hibernatevalidation6基于Bean Validation 2.0实现的,JSR380。1.元数据JSR(Java Specification Requests)定义了一组Meta-data(元数据)模型用来描述JavaBean Validation。(1)@Target( { FIELD, METHOD, PARAMETER, ANNOTATION_TYPE, TYPE_USE ...

2017-10-18 14:09:57 2465

翻译 java中的类型依赖

原文链接:https://www.javaworld.com/article/3172592/java-language/type-dependency-in-java-part-1.html1. 兼容是单向关系,引用类型的兼容性一般发生在同一类型层次结构中;引用类型结构中,A隐式兼容B,因此有 B = A 赋值成功;一般情况下,B是A的父类,A = (A) B;必须显式转型。举个例子,Numbe...

2017-10-09 20:40:24 810

翻译 spring异常处理机制

点击阅读原文Spring提供了一系列健全的异常处理框架。我们可以采用@ResponseStatus,@ExceptionHandler,HandlerExceptionResolver以及 @ControllerAdvice处理异常。@ResponseStatus可以为异常指定状态码,可以应用到用户定义的异常类以及controller中被@ExceptionHandler注解的方法上。在contr...

2017-10-09 20:10:22 7058 2

解决VC无法添加文件

将dll添加进 vc6.0->tools->customize->add-ins,然后browse文件。搞定,vc界面会出现两个标志,A O

2014-03-25

C#汉字分词程序

C#汉字分词程序,正向最大匹配方法与逆向最大匹配方法均已经实现

2013-11-23

空空如也

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

TA关注的人

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