自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 常用个人博客地址

目录 mybatis-generator 代码自动生成工具 非原创MyBatis逆向工程代码的生成以及使用详解(持续更新) 通过导入工程 运行main方法 解决plsql中文显示问号(???)问题 JDBC连接ORACLE的三种URL格式 javax.ws.rs 注解 idea实用快捷...

2019-05-24 22:30:05 142 0

转载 springboot自动配置

运作原理关于Spring Boot 的运作原理,我们还是回归到@SpringBootApplication 注解上来,这个注解是一个组合注解,它的核心功能是由@EnableAutoConfiguration 注解提供的。下面我们来看下@EnableAutoConfiguration 注解的源码:@...

2018-03-21 10:03:25 284 0

转载 Spring BeanFactory与FactoryBean的区别

BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。  Spring为我们提供了许多易用的BeanFactory...

2018-02-24 12:32:34 176 0

转载 设计模式--策略模式

策略模式的结构  策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。下面就以一个示意性的实现讲解策略模式...

2018-02-23 15:55:08 93 0

转载 Java的三种代理模式

1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩...

2018-02-22 16:23:46 218 0

原创 多线程--ExecutorService

相比ExecutorService,CompletionService可以更精确和简便地完成异步任务的执行CompletionService的一个实现是ExecutorCompletionService,它是Executor和BlockingQueue功能的融合体,Executor完成计算任务,B...

2018-02-06 15:10:01 119 0

转载 多线程编程中的等待/通知机制和等待超时模式

1. 等待/通知机制 等待/通知机制,是指WaitThread首先获取了对象的锁,然后调用对象的wait()方法,从而放弃了锁进入了对象的等待队列中,进入等待状态。NotifyThread随后获取了对象的锁,并调用对象的notify()或notifyAll()方法,将Wai  tThrea...

2018-01-25 09:45:42 185 0

原创 kafka生产者消费者

kafka的安装与启动http://blog.csdn.net/u010081710/article/details/50835039 下面java代码中生产者和消费者栗子, producer采用池管理,spring容器启动的时候初始化一定数量的生产者,由连接池管理,使用对象的时候 borrowO...

2017-08-30 16:05:01 315 0

转载 dubbo配置及使用

一. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东...

2017-08-23 20:00:36 194 0

原创 ZooKeeper分布式锁

maven配置 org.apache.curator curator-framework 2.8.0 org.apache.curator curator-recipes 2.8.0 Curator框架是最好用,最流行的zookeeper的客户端。 它有以下三个优点 1....

2017-07-19 17:01:43 196 0

转载 ZooKeeper:第三方客户端

Apache Curator入门实战 Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量。 1.Zookeeper安装部署 Zookeeper的部署很简单,如果...

2017-07-19 16:17:52 375 0

转载 MySQL执行计划解读

执行计划 select_type  表示查询中每个select子句的类型(简单 OR复杂) a.SIMPLE:查询中不包含子查询或者UNION b.查询中若包含任何复杂的子部分,最外层查询则被标记为:PRIMARY c.在SELECT或WHERE列表中包含了子查询,该...

2017-06-26 16:59:31 212 0

转载 mysql索引类型和索引方法

mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique FullText:表示 全文搜索的索引。 FULLTEXT 用于搜索...

2017-06-26 16:01:34 1526 0

转载 MySQL索引类型总结和使用技巧以及注意事项

在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表: CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  ); 我们随机向里面插入了10000条记录,其中有一条:...

2017-06-23 10:58:14 221 0

转载 ArrayBlockingQueue和LinkedBlockingQueue的区别

1.    队列中锁的实现不同        ArrayBlockingQueue实现的队列中的锁是没有分离的,即生产和消费用的是同一个锁;        LinkedBlockingQueue实现的队列中的锁是分离的,即生产用的是putLock,消费是takeLock     2.  ...

2017-06-20 22:47:18 348 0

转载 设计模式--观察者模式

软件设计模式的分类创建型创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构优势。创建型模式主要有简单工厂模式(并不是23种设计模式之一)、工厂方法、抽象工厂模式、单例模式、生成器模式和原型模式。结构型用于帮助将多个对象组织成更大的结构...

2017-06-19 17:50:19 157 0

转载 设计模式--门面模式

门面模式定义: 提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。 在这个对象图中,出现了两个角色: 门面(Facade)角色:客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,...

2017-06-19 17:04:16 182 0

转载 线程池ThreadPoolExecutor参数设置

JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。ThreadPoolExecutor类可设置的参数主要...

2017-06-16 23:41:03 209 0

转载 JAVA设计模式之抽象工厂模式

抽象工厂模式代码 产品类: //发动机以及型号     public interface Engine {        }     public class EngineA extends Engine{         public EngineA(){             System....

2017-06-15 22:41:12 155 0

转载 工厂方法模式

一、简单工厂模式 简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。       先来看看它的组成:          1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,用来创建产品         2) 抽象产...

2017-06-15 22:24:18 140 0

转载 类的初始化

2017-06-13 22:11:30 185 0

转载 Java动态代理的两种实现方法

AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterce...

2017-06-12 15:12:37 3026 0

转载 Java反射机制详解

文章转自:http://www.cnblogs.com/lzq198754/p/5780331.html

2017-06-10 12:19:08 153 0

转载 分布式事务介绍

2 分布式事务—两阶段提交协议 两阶段提交协议(Two-phase Commit,2PC)经常被用来实现分布式事务。一般分为协调器C和若干事务执行者Si两种角色,这里的事务执行者就是具体的数据库,协调器可以和事务执行器在一台机器上. 1) 我们的应用程序(client)发起一个开始请求到TC;...

2017-06-07 12:00:22 198 0

转载 Java泛型

泛型类型的提出public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqyumidi&...

2017-06-04 22:13:33 293 0

转载 关于线程同步(5种同步方式)

关于线程同步(5种同步方式) 1.同步方法      即有synchronized关键字修饰的方法。      由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,      内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。 代码如:      public...

2017-06-04 21:50:18 246 0

转载 单例模式的7种写法

第一种(懒汉,线程不安全): public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() ...

2017-06-04 16:39:30 605 0

原创 Java类加载机制

类的初始化 Java中类的加载顺序剖析 Java虚拟机中可以安装多个类加载器,系统默认主要有三个类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader,AppClassLoader。当然也可以自定义类加载器,自定义的加载器必须继承ClassLoader。...

2017-06-04 11:37:28 228 0

转载 Java中类的加载顺序剖析

Class B public class B{ //静态变量  static int i=1; //静态语句块 static {     System.out.println("Class B1:static blocks"+i); } //非静态变量 int j=1; //...

2017-06-04 10:46:08 165 0

转载 Hibernate与 MyBatis的比较

Hibernate 是当前最流行的O/R mapping框架,它出身于sf.NET,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。 MyBatis 参考资料官网:http://www.mybatis.org/cor...

2017-06-02 17:37:44 178 0

原创 java 异常分类

java异常结构图 鼠标移动到该类名处, 直接按快捷键ctrl + t。 说明: 此快捷键是查看到有这个同名方法的父类、子类、接口。 java异常分为"检查"和"非检查"两类,"检查"二字的意思是,代码编译时,编译器会去Check一下...

2017-05-25 13:58:27 250 0

转载 Spring事务管理

理解事务之前,先讲一个你日常生活中最常干的事:取钱。  比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果银行卡扣钱...

2017-03-28 18:05:50 296 0

转载 @Transactional(readOnly = true)

概念:从这一点设置的时间点开始(时间点a)到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据)   应用场合: 如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;  如果你一次执行多条查询语句,例如统...

2017-03-28 17:21:37 3012 0

转载 JVM内存模型

我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,...

2017-03-27 18:34:53 310 0

转载 JVM GC垃圾回收

对象的存活判断:可达性分析算法通过一系列的称为 GC Roots 的对象作为起点, 然后向下搜索; 搜索所走过的路径称为引用链/Reference Chain, 当一个对象到 GC Roots 没有任何引用链相连时, 即该对象不可达, 也就说明此对象是不可用的;在Java, 可作为GC Roots...

2017-03-27 17:47:43 331 0

转载 内存泄漏和内存溢出

内存溢出 内存泄漏

2017-03-27 16:14:36 196 0

转载 数据库锁机制

一 、乐观锁和悲观锁 【悲观锁】 所谓悲观锁就是基于数据库机制实现的。 比如在在使用select子句的时候加上for update, 那么直到改子句的事务结束为止,任何应用都无法修改select出来的记录。 【乐观锁】 所谓乐观锁是基于应用的版本机制来实现的。 数据库中帐户信息表中有...

2017-03-24 19:38:05 288 0

转载 数据库的隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。 Read uncommit...

2017-03-24 15:45:09 187 0

转载 java元注解和自定义注解

四个元注解分别是:@Target,@Retention,@Documented,@Inherited , 再次强调下元注解是java API提供,是专门用来定义注解的注解,其作用分别如下: @Target 表示该注解用于什么地方,可能的值在枚举类 ElemenetType 中,包括:  Eleme...

2017-03-13 17:47:40 215 0

转载 HashMap、ConcurrentHashMap

一、定义        HashMap实现了Map接口,继承AbstractMap。其中Map接口定义了键映射到值的规则,而AbstractMap类提供 Map 接口的骨干实现,以最大限度地减少实现此接口所需的工作,其实AbstractMap类已经实现了Map。 [...

2016-08-12 16:16:09 435 1

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