自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 MyBatis源码分析:SQL Mapper

SQL Mapper

2019-07-08 22:06:27 292

原创 MyBatis源码分析:SqlSession

sqlsession

2019-06-30 22:41:35 184

原创 MyBatis源码分析:SqlSessionFactoryBuilder

MyBatis学习笔记2:Mybatis基础组件

2019-06-25 23:15:21 366

原创 MyBatis源码分析:SqlSessionFactory

MyBatis学习笔记3:SqlSessionFactory1.SqlSessionFactory1.1 DefaultSqlSessionFactory1.2 SqlSessionManager1.SqlSessionFactory功能:生产SqlSession对象的工厂,是一个接口;源码:/** * Copyright 2009-2019 the original author...

2019-06-25 23:14:07 925

原创 MyBatis学习笔记:Mybatis简介

MyBatis学习笔记1:Mybatis简介传统的JDBC编程流程缺点ExampleORM模型Mybatis起源ORM模型Example传统的JDBC编程流程1.加载数据库驱动2.通过DriverManager获取数据库连接Connection3.操作Connection打开Statement/PreparedStatement4.通过Statement执行SQL5.使用Result...

2019-06-09 21:21:37 252

原创 Spring学习笔记3:深入学习IOC

Spring学习笔记3:深入学习IOC本文将在Spring学习笔记2:Spring概述及IOC的基础上,继续对Spring进行学习。1.引用其他的bean在实际应用中,一个bean中包含其他bean的情况是经常会发生的,下面通过例子来对这种情况进行学习。//步骤1:在com.atguigu.ioc.bean包中添加,BookShop类package com.atguigu...

2018-02-15 12:02:24 260

原创 Spring学习笔记2:Spring概述及IOC

Spring概述及IOC本文将首先对Spring进行了简要的介绍,然后重点学习了SpringIOC,包括IOC基本概念、环境搭建、使用IOC容器创建对象,着重对获取bean的两种方式(id、Class)以及为属性赋值的三种方式(property属性、constructor-arg属性、p名称空间)进行了学习,同时也学习了对象的创建时机以及null值的使用。1.为什么要学习Spring因...

2018-02-11 23:10:15 373

原创 Spring学习笔记1:Spring插件的安装

Spring插件的安装步骤一:插件下载下载地址:http://spring.io/tools/sts/all,其中插件的eclipse版本(e4.7.2)需要和本地eclipse版本一致。 图1步骤二:插件安装启动eclipse->点击“Help”菜单下的“Install New Software…”。 图2 在弹出的“Install”页面中点击“Add...

2018-02-10 01:34:47 398

转载 【转载】Java并发编程17:线程间协作的两种方式:wait、notify、notifyAll和Condition

Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition  在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的

2018-01-30 18:37:24 214

转载 【转载】Java多线程和并发基础面试问答

JAVA多线程和并发基础面试问答  原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/  多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(

2018-01-30 11:31:52 237

转载 【转载】Java线程面试题 Top 50

Java线程面试题 Top 50       原文链接:http://www.importnew.com/12773.html       本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。  不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Jav

2018-01-30 10:40:41 393

转载 【转载】Java并发编程16:Timer和TimerTask

Java并发编程:Timer和TimerTask(转载)  下面内容转载自:  http://blog.csdn.net/xieyuooo/article/details/8607220  其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:Timer timer = new Ti

2018-01-30 10:04:15 285

转载 【转载】Java并发编程15:Callable、Future和FutureTask

Java并发编程:Callable、Future和FutureTask  在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,就提供了

2018-01-29 16:36:40 176

转载 【转载】Java并发编程14:CountDownLatch、CyclicBarrier和Semaphore

Java并发编程:CountDownLatch、CyclicBarrier和Semaphore  在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  二.CyclicBarrier用

2018-01-29 16:12:34 167

转载 【转载】Java并发编程13:线程池的使用

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Jav

2018-01-29 14:36:02 220

转载 【转载】Java并发编程12:阻塞队列

Java并发编程:阻塞队列  在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。  在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedL

2018-01-29 10:18:31 168

转载 【转载】Java并发编程11:并发容器之CopyOnWriteArrayList

Java并发编程:并发容器之CopyOnWriteArrayList  原文链接:  http://ifeve.com/java-copy-on-write/  Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1

2018-01-28 15:38:09 229

转载 【转载】Java并发编程10:并发容器之ConcurrentHashMap

Java并发编程:并发容器之ConcurrentHashMap  下面这部分内容转载自:  http://www.haogongju.net/art/2350374  JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容

2018-01-28 14:46:37 229

转载 【转载】Java并发编程9:Java ConcurrentModificationException异常原因和解决方法

Java ConcurrentModificationException异常原因和解决方法  在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。

2018-01-28 13:00:28 291

转载 【转载】Java并发编程8:同步容器

Java并发编程:同步容器  为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。

2018-01-28 11:55:23 185

转载 【转载】Java并发编程7:深入剖析ThreadLocal

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:  一.对ThreadLocal的理解  二.深入解析ThreadLocal类  三.Thread

2018-01-28 10:47:37 218

转载 【转载】Java并发编程6:volatile关键字解析

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。

2018-01-26 11:27:42 198

转载 【转载】Java并发编程5:Lock

Java并发编程:Lock  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。

2018-01-26 09:58:02 183

转载 【转载】Java并发编程4:synchronized

Java并发编程:synchronized  虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。

2018-01-20 17:03:15 191

转载 【转载】Java并发编程2.2:wait/notify

本文主要学习JAVA多线程中的 wait()方法 与 notify()/notifyAll()方法的用法。

2018-01-20 16:13:05 223

转载 【转载】Java并发编程3:Thread类的使用

Java并发编程:Thread类的使用

2018-01-20 14:54:14 221

转载 【转载】Java并发编程2.1:线程状态转换

Java中的线程的生命周期大体可分为5种状态。

2018-01-20 14:25:23 207

转载 【转载】Java并发编程1:进程和线程之由来

Java多线程基础:进程和线程之由来  在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一下进程和线程的由来,这对后面对并发编程的理解将会有很大的帮助。

2018-01-08 23:30:35 201

转载 【转载】Java并发编程2:如何创建线程与进程

Java并发编程:如何创建线程?  在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:  一.Java中关于应用程序和进程相关的概念  二.Java中如何创建线程  三.Java中如何创建进程

2018-01-08 23:24:40 197

转载 Google Guava官方教程转载

原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,*武祖 * 校对:方腾飞引言Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串

2018-01-02 13:30:22 387

转载 Java 设计模式之中介者模式

Java 设计模式之中介者模式标签: 设计模式java设计模式java2015-04-23 08:33 17324人阅读 评论(14)收藏举报分类: 设计模式(19) 作者同类文章X本文继续23种设计模式系列之中介者模式。定义用一个中介者对象封装一系列的对象交互,中介者使

2017-10-06 10:49:25 171

转载 Java设计模式之观察者模式

本文继续介绍23种设计模式系列之观察者模式。观察者模式中,一个被观察者管理所有相依于它的观察者物件,并且在本身的状态改变时主动发出通知。这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。角色抽象被观察者角色:把所有对观察者对象的引用保存在一个集合中,每个被观察者角色都可以有任意数量的观察者。被观察者提供一个接口,可以增加和删除观察者角色。

2017-08-15 20:52:25 317

转载 JAVA设计模式初探之装饰者模式

这个模式花费了挺长时间,开始有点难理解,其实就是定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。

2017-08-15 20:51:25 261

转载 Java设计模式之策略模式

Java设计模式之策略模式标签: 设计模式java设计模式2015-04-13 07:20 22058人阅读 评论(11)收藏举报分类: 设计模式(19) 作者同类文章X本文继续介绍23种设计模式系列之策略模式。背景在软件开发中常常遇到这种情况,实现某一个功能有多种算法或

2017-08-15 20:50:27 276

转载 Java设计模式之模板方法模式(Template Method)

Java设计模式之模板方法模式(Template Method)标签: java设计模式设计模式2015-04-15 08:37 20824人阅读 评论(5)收藏举报分类: 设计模式(19) 作者同类文章X本文继续介绍23种设计模式系列之模板方法模式。概述模板方法模式是类的行为模

2017-08-15 20:49:39 306

转载 JAVA设计模式之单例模式

JAVA设计模式之单例模式标签: java设计模式设计模式2014-04-16 06:51 481743人阅读 评论(87)收藏举报本文继续介绍23种设计模式系列之单例模式。概念:  Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:

2017-08-15 20:48:41 237

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

本文继续介绍23种设计模式系列之抽象工厂模式。前面已经介绍过简单工厂模式和工厂方法模式,这里继续介绍第三种工厂模式-抽象工厂模式,还是以汽车的制造为例。例子背景:随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件。于是这个工厂开始生产空调和发动机,用来组装汽车。这时候工厂有两个系列的产品:空调和发动机。宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B

2017-08-15 20:47:00 260

转载 JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)标签: 设计模式工厂模式java设计模式java2014-04-07 17:36 148195人阅读 评论(26)收藏举报分类: 设计模式(20) 作者同类文章X 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,ne

2017-08-13 20:11:15 212

空空如也

空空如也

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

TA关注的人

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