自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis-Plus

简介MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅...

2019-04-28 16:26:29 369

原创 mysql高性能索引策略

索引随笔文章目录索引随笔索引分析索引优点索引顺序索引限制高性能索引策略1. 独立的列2. 前缀索引和索引选择性3. 多列索引多列索引全覆盖索引4. 选择合适的索引列顺序5. 聚簇索引优点缺点优化6. 使用索引扫描来做排序7.避免冗余、重复、未使用的索引8.索引和锁索引分析EXPLAIN命令可以查看sql语句的执行策略例如:EXPLAIN select fil_id,actor_id fr...

2018-12-25 17:16:52 360

原创 Illegal unquoted character ((CTRL-CHAR, code 19))

Restful接口400错误 Illegal unquoted character ((CTRL-CHAR, code 19)): has to be escaped using backslash to be included in string value 解决此错误与restful框架的json序列化配置有关,例如使用fastjson 可以修改框架默认json解析配置如jersey框架 ...

2018-12-10 13:56:10 4000

原创 sqlserver 存储过程中计算md5不正确

sqlserver 存储过程中计算md5不正确错误declare @book_id nvarchar(200)SET @book_id='storedb'select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5',@book_id+'58')),3,32)正确declare @book_id varchar(200)S...

2018-06-12 13:29:57 633

转载 史上最简单的 SpringCloud 教程

转载请标明出处: http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘...

2018-06-10 14:26:56 197

转载 Spring Cloud Hystrix

Spring Cloud HystrixSpring Cloud HystrixHystrix是什么Hystrix能做什么Hystrix设计原则Hystrix 实现原理1.舱壁隔离模式隔离策略2.观察者模式3.AOP配置命令切入Hystrix 使用Hystrix是什么Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务...

2018-06-10 14:07:08 323

原创 Spring Cloud Ribbon

Spring Cloud RibbonSpring Cloud Ribbon简介负载均衡微服务使用RibbonRestTemplate负载均衡器ILoadBalancer负载均衡策略IRule配置重试机制配置总结示例实现原理(简述)简介Spring Cloud Ribbon 是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netfli...

2018-06-10 14:02:56 412

原创 Spring Cloud Eureka

Spring Cloud EurekaSpring Cloud EurekaEureka服务治理体系服务治理服务注册服务发现Netflix EurekaNetflix Eureka介绍Eureka服务端Eureka客户端单Eureka服务中心服务端客户端高可用Eureka集群双节点Eureka配置服务端配置客户端配置基础架构服务治理机制...

2018-06-10 14:01:56 335

原创 SpringBoot Aop

SpringBoot AopSpringBoot AopAop简介切入点函数逻辑运算符注解说明示例Aop简介面向切面编程,通过反射、代码织入实现在方法执行前、执行后调用切入函数,主要功能涉及日志记录,方法返回值处理、方法调用前资源准备等切入点函数1.executionexecution(方法修饰符(可选) 返回类型 方法名 参数 异常模...

2018-06-10 14:01:07 479 1

原创 LinkedList 源码实现

Java LinkedList 源码实现1.链表实现==双向链表,非同步== transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last == null) || * (first...

2018-06-02 14:44:01 214

原创 Java ArrayList源码分析

Java ArrayList源码分析1. ArrayList默认大小 10private static final int DEFAULT_CAPACITY = 10;ArrayList 底层实现Object[]数组transient Object[] elementData;2. 扩容方式//扩容函数private void grow(int m...

2018-06-02 14:43:33 182

原创 Fail-Fast快速失败机制

Fail-Fast快速失败机制1.简介fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常...

2018-06-02 14:41:51 418

原创 Java HashMap 源码分析

Java HashMap 源码分析HashMap实现简介HashMap 底层采用节点数组,数组内存储的是链表或者红黑树(JDK8)1. 源码分析1.1 属性 /** * The default initial capacity - MUST be a power of two. * 默认容量必须是2的倍数 这里是16 *...

2018-06-02 14:41:09 158

原创 Java String 解析

Java String 解析1. String为什么是不可变对象首先String不属于8种基本数据类型,String是一个对象。内部成员变量public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The va...

2018-06-02 14:40:11 334

原创 Java 四种引用类型

Java 四种引用类型1.强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: Object o=new Object(); // 强引用当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时,...

2018-06-02 14:39:39 358

原创 Java 深浅拷贝

Java 深浅拷贝定义浅拷贝只复制一个对象(包括基本类型),对象内部存在的指向其他对象的引用则不复制深拷贝:对象以及对象内部的引用均复制import java.util.ArrayList;import java.util.List;public class Test { static class Person { private S...

2018-06-02 14:39:09 401

原创 线程封闭技术

简介如果仅在单线程内访问数据,就不需要同步,这种技术被称为线程封闭,它是实现线程安全性最简单方式之一。 当某个对象封闭在一个线程中时,这种用法将自动实现线程安全性,即使被封闭的对象本身不是线程安全的。Swing的可视化组件和数据模型对象都不是线程安全的,Swing通过将它们封闭到了Swing的事件分发线程中来实现线程安全性。JDBC Connection对象并没规定其必须是线程安全的,...

2018-06-02 14:37:46 316

原创 并发编程随笔

1.死锁某资源加锁后没有释放或者没有正确释放该锁,另一线程无法获取该资源锁,引起死锁。 出现死锁可以dump线程信息,查看死锁原因,从而解决。避免死锁的常见方法避免一个线程同时获取多个锁避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源。尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制对于数据库锁,加锁和解锁必须在一个数据库...

2018-05-29 10:23:52 160

原创 自旋锁

几种自旋锁的实现原理自定义接口 interface Lock { void lock(); void unLock(); }1. SpinLock(自旋锁) static class SpinLock implements Lock { /** * currentHoldLockTh...

2018-05-29 10:23:18 820

原创 Java Lock

Java Lock1. synchronized的实现原理与应用synchronized是Java元老级锁,又被称为重量级锁,JDK1.6中为了减少获得锁和释放锁带来的性能消耗而引入偏向锁和轻量级锁1.1 synchronized实现同步synchronized实现同步的基础:java 中的每一个对象都可以作为锁,这些锁被称为内置锁或者监视锁。对于普通同步方法,锁是当...

2018-05-29 10:22:52 465

原创 AQS原理

AbstractQueuedSynchronizer(AQS)实现原理AQS中包含两种锁独占锁,每次只能有一个线程能持有锁,ReentrantLock就是以独占方式实现的互斥锁共享锁,则允许多个线程同时获取锁,并发访问 共享资源(只能读),但是只能有一个线程进行写操作,如:ReadWriteLock 锁队列的实现都是基于CLH的一种变体,在其队列节点的前驱上自旋队列节点...

2018-05-29 10:22:20 231

原创 并发容器

ConcurrentHashMapJDK1.6采用Segment分段锁技术提高并发访问效率,首先将数据分成一段一段的存储,然后给每一个段数据配一个锁,这样就可以多线程访问不同段的数据而不受竞争影响。 JDK1.8采用CAS+Synchronized保证并发更新安全,采用数组+链表+红黑树存储结构,默认table[16],put等操作会采用CAS更新,找到table[i]后会将此索引处的链表进...

2018-05-29 10:21:00 185 1

原创 同步工具类

同步工具类闭锁闭锁可以延迟线程的进度直到达到其终止状态,闭锁的作用相当于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程能通过,当达到结束状态时,这扇门会打开并允许所有的线程通过闭锁的作用: 1. 确保某个计算在其需要的所有资源都被初始化之后才执行 2. 确保某个服务在其依赖的所有其他服务都已经启动之后才启动 3. 等待直到某个操作的所有参与者就绪后再继续...

2018-05-29 10:20:00 183

原创 Executor框架

Executor框架1.简介Java并发库提供一种灵活的线程池实现作为Executor框架的一部分,在Java类库中,任务执行的主要抽象不是Thread而是Executorpublic interface Executor { /** * Executes the given command at some time in the future. The ...

2018-05-29 10:19:24 156

原创 CompletionService

CompletionServiceCompletionService简介CompletionService与ExecutorService类似都可以用来执行线程池的任务,ExecutorService继承了Executor接口,而CompletionService则是一个接口,那么为什么CompletionService不直接继承Executor接口呢?主要是Executor的特性决定...

2018-05-29 10:18:49 189

原创 线程的取消与关闭

线程的取消与关闭1. 处理不可中断的阻塞在Java库中,许多可阻塞的方法都是通过提前返回或者抛出InterruptedException来相应中断请求的,然而并非所有的可阻塞方法或者阻塞机制都能相应中断。如果一个线程由于可执行同步的Socket IO或者等待获得内置锁而阻塞,那么中断请求只能设置线程的中断状态,除此之外没有其他任何作用。对于那些由于执行不可中断操作而被阻塞的线程,可以使...

2018-05-29 10:18:16 1289

固定格式yaml 转换成restful api文档

固定格式yaml 生成restful api 文档,支持预览,支持导出word 导出部分不够完善 editor.md

2018-05-28

魔方智能还原游戏的设计与实现

使用OpenGL进行魔方的三维建模,并鼠标实现魔方各个层次的旋转,魔方的自动生成,自动还原,3D演示,功能还在更新。

2015-07-23

空空如也

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

TA关注的人

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