自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

紫焱

养得根深,方能叶茂

  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 博客文章目录

Java基础系列 Java环境配置 Java的命名规范与注释规范 Java数据类型 Java修饰符 Java运算符 Java语句 理解Java之IO流 理解Java序列化 理解Java线程 理解Java反射 理解Java异常 Java类的生命周期 Java的类加...

2018-12-09 01:39:59 813 1

原创 Java源码之ArrayList分析

文章目录一、ArrayList简介二、源码分析1、继承结构2、构造方法与属性3、核心方法3.1、插入数据方法1)、单个插入2)、批量插入3.2、删除数据方法1)、remove(int)2)、remove(Object)3)、removeAll(collection)3.3、查找数据方法3.4、modCount说明一、ArrayList简介ArrayList底层的数据结构是数组,数组元素类型为O...

2019-05-23 20:47:04 224

原创 ZAB协议

文章目录一、ZAB协议简介二、ZAB中的概念1、三类角色2、三种模式3、三个数据三、ZAB中的概念1、同步模式与广播模式初始化同步消息广播算法2、恢复模式的两个原则a、已被处理的消息不能丢b、被丢弃的消息不能重现四、Leader选举1、Leader选举的基本概念2、Leader选举算法A、集群启动的Leader选举B、断连后的Leader选举五、CAP原则一、ZAB协议简介ZAB协议是Fast...

2019-04-17 21:32:39 438

转载 Java日志框架

转载自:https://www.cnblogs.com/chenhongliang/p/5312517.html一、Java日志框架概述对于一个应用程序来说日志记录是必不可少的一部分。线上问题追踪,基于日志的业务逻辑统计分析等都离不日志。java领域存在多种日志框架,目前常用的日志框架包括Log4j 1,Log4j 2,Commons Logging,Slf4j,Logback,Jul。1、...

2019-04-17 21:24:34 262

原创 Paxos算法

Paxos算法是一种基于消息传递且具有高度容错特性的一致性算法,它于1990年由莱斯利·兰伯特提出。有名 的Paxos工程包括Google的Chubby、ZAB、微信的PhPaxos等。一般来说,分布式各个节点之间的通讯模型有两种:共享内存(Shared Memory)和消息传递(Message Passing),Paxos基于消息传递通讯模型的。一、Paxos简介Paxos角色Paxo...

2019-04-13 23:14:45 274

原创 MySQL索引

文章目录一、索引简介优势:劣势:二、索引分类单列索引组合索引全文索引空间索引三、索引使用创建索引删除索引查看索引一、索引简介索引是帮助MySQL高效获取数据的数据结构。数据库索引类似于一本书的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,...

2019-02-28 22:13:49 103

原创 MySQL事务

文章目录一、索引简介优势劣势二、索引分类单列索引组合索引全文索引空间索引三、索引使用创建索引删除索引查看索引一、事务介绍二、事务开启三、事务隔离级别1、MySQL并发问题2、事务隔离级别默认隔离级别隔离级别查看和设置一、索引简介索引是帮助MySQL高效获取数据的数据结构。数据库索引类似于一本书的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在...

2019-02-28 22:12:29 142

原创 MySQL基础

文章目录一、MySQL说明1、数据库概述2、MySQL简介3、SQL简介二、SQL语句1、DDL语句1.1、数据库操作创建数据库查看数据库删除数据库其他操作1.2、表操作字段类型创建表查看表删除表修改表2、DML语句插入记录更新记录删除记录3、DQL语句简单查询条件查询排序聚合函数分组其他一、MySQL说明1、数据库概述数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据...

2019-02-26 21:06:36 168

原创 设计模式之单例模式

文章目录一、单例模式实现二、单例模式说明1、单例模式的线程安全2、Java单例模式实现3、枚举单例模式实现三、单例模式总结1、适用场景2、模式优缺点在实际的项目开发中,常会用到配置文件,可在读取配置文件后将读取的内容放在数据对象中,但在使用时通过new的方式产生对象,在系统中会存在多个相同的配置文件,当配置文件过多时会极大的影响到系统的性能。我们是否能使得配置文件的实例对象在系统运行期间只有一个...

2019-01-31 22:09:59 125

原创 设计模式之适配器模式

文章目录前言一、适配器模式实现1、类适配器模式2、对象适配器模式3、接口适配器模式二、适配器模式说明三、适配器模式总结1、应用场景2、优缺点前言小六新买了一个小米6手机,它高高兴兴的拿到新手机,想要插上耳机听歌,但发现手机没有耳机孔,仔细查看说明书之后发现,小米6手机是充电孔耳机孔在一起,在插耳机时需要一个耳机转接器,才能插耳机。我们用程序员的眼观来看,这里相当于增加了一个转接器类用于适配耳机...

2019-01-31 21:44:52 176

原创 设计模式之外观模式

文章目录前言一、模式实现二、模式说明三、模式总结1、使用场景2、模式的优缺点前言日常生活中我们想买一台电脑,一般来说有两种方式,一是通过电子市场购买电脑的各个配件进行组装,但这需要我们对电脑配件及其了解。当然,也有第二种方案,就是直接购买已经由装机公司安装完毕的整机,这也是大多数人的选择。我们的进行软件开发过程中也会遇到类似的情况,在有A、B、C、D等多个模块的情况下,客户端需要与各个模块一...

2019-01-30 23:43:40 173

原创 设计模式之简单工厂模式

文章目录一、模式实现二、模式说明1、客户端传参2、配置文件传参三、模式总结1、使用场景2、模式优缺点简单工厂模式又叫做静态工厂方法模式,但不属于23种GOF设计模式,由于它太常用,因而将其放在首位,与后续的设计模式学习节奏保持一致。一、模式实现简单工厂将new对象的职责迁移到工厂中进行,通过传递的参数,在工厂中创建不同的实例化对象。下面通过具体的代码示例进行说明。**问题:**某公司有一种...

2019-01-30 21:58:05 184

原创 Spring容器的初始化流程

文章目录一、创建BeanFactory流程1、流程入口2、流程分析二、加载BeanDefeation流程1、流程入口2、流程图3、流程分析三、创建Bean流程1、流程入口2、流程图3、流程分析一、创建BeanFactory流程1、流程入口创建BeanFactory的流程是从refresh方法的第二步开始的,通过调用obtainFreshBeanFactory方法完成流程。Configura...

2019-01-19 10:12:33 835

原创 IOC容器的创建

文章目录一、IOC容器创建方式二、IOC容器创建入口1、Java中IOC容器创建2、Web中IOC容器创建2.1、创建上下文2.2、初始化根上下文3、refresh方法一、IOC容器创建方式Ioc容器的创建时通过ApplicationContext接口的相关实现类进行的。如上图所示:有三种创建IOC容器的方式。ClassPathXmlApplicationContext:从项目的根目录下...

2019-01-18 21:43:54 915

转载 Spring事务

转载自:http://www.codeceo.com/article/spring-transactions.html一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接 Connection con = DriverManager.getConne...

2019-01-05 21:27:20 193

原创 Spring之AOP

文章目录一、AOP介绍1、AOP理解2、AOP中的概念二、AOP之AspectJ1、织入介绍2、AspectJ切入点表达式3、AspectJ通知类型4、AspectJ的使用4.1、使用准备4.2、基于xml的方式4.3、基于注解的方式三、AOP之Spring AOP一、AOP介绍1、AOP理解OOP(Object Oriented Programming,面向对象编程)引入封装、继承、多态等...

2019-01-04 20:31:23 143

转载 对Spring中IOC和DI的理解

前几篇讲了Spring中IOC和DI的用法,本篇应该放到三篇之前,但一直没有想到好的讲解方式,后参考https://blog.csdn.net/luoyepiaoxue2014/article/details/72426666博客,对其中涉及到的进行了简单的总结。在学习Spring的过程中,总会涉及到两个概念—IOC和DI,即控制反转和依赖注入,而对这两个概念的理解也总是含糊不清的,下面就对自己...

2019-01-04 20:27:59 269

原创 Spring基于纯注解方式的使用

文章目录一、xml中遗留配置二、组件注册1、@Bean注解2、@ComponentScan注解2.1、将指定类添加到Spring容器中2.2、将指定类排除Spring容器外3、@Conditionnal注解4、@Import注解5、FactoryBean接口6、@PropertySource注解二、bean对象赋值1、@Value注解2、BeanPostProcessor三、Bean的生命周期1、...

2019-01-03 21:31:48 511 2

原创 Spring基于注解和XML混合方式的使用

文章目录一、IoC配置1、配置xml2、配置注解2.1、@Component注解2.2、@Component衍生注解二、DI注解配置1、按类型装配1.1、@Autowired1.2、@Inject2、按名称装配2.1、@Resource2.2、注解组合2.3、其他注解三、注解和xml两种配置方式对比首先要明白,基于注解和XML两种方式的实现功能是一样的,只是两种不同的配置方式。一、IoC配置...

2019-01-03 21:30:51 549 1

原创 Spring基于XML方式的使用

文章目录一、IoC配置1、bean标签介绍1.1、bean标签的作用1.2、bean标签属性1.3、bena标签作用范围2、bean的实例化2.1、无参构造2.2、静态工厂2.3、实例工厂二、DI配置1、依赖注入的方式1.1、构造方法注入1.2、set方法注入1.3、p空间名称注入2、不同属性依赖注入2.1、简单类型2.2、引用类型2.3、集合类型一、IoC配置IoC的配置是通过Spring的...

2019-01-03 21:29:14 1814

原创 Spring简介

Spring是一个分层的JavaEE/SE的一站式轻量级开源框架。Spring简介Spring的结构如下图所示:Spring核心概念介绍:**Spring容器:就是IoC容器。**Ioc容器就是BeanFactory工厂(DefaultListableBeanFactory)。BeanFactory有一个子接口叫ApplicationContext(应用上下文接口)。IoC(核...

2018-12-21 23:37:40 222

原创 Mybatis事务管理

文章目录1、Mybatis事务1.1、事务管理方式1.2、事务配置方式2、事务隔离级别3、事务工厂1、Mybatis事务1.1、事务管理方式Mybatis中的事务管理方式有两种:1、JDBC的事务管理机制,即使用JDBC事务管理机制进行事务管理2、MANAGED的事务管理机制,Mybatis没有实现对事务的管理,而是通过容器来实现对事务的管理其中,Mybatis提供了事务的接口:Tra...

2018-12-21 22:54:59 843

原创 Mybatis中的缓存

文章目录一级缓存二级缓存缓存相关属性开启/禁用二级缓存useCache属性刷新缓存clearCache()方法Mybatis提供缓存查询功能,用于减轻数据库压力,提升数据查询能力。Mybatis中定义了两级缓存:包括一级缓存与二级缓存。示意图如下所示:一级缓存一级缓存的特点:每一个SqlSession都有一个一级缓存,且它们的缓存数据区域之间互不影响。一级缓存是默认开启的,开发人员...

2018-12-10 21:34:47 174

原创 理解JVM之垃圾收集器详解

文章目录前言Serial收集器ParNew收集器Parallel Scavenge收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器垃圾收集器参数汇总前言垃圾收集器作为内存回收的具体表现,Java虚拟机规范并未对垃圾收集器的实现做规定,因而不同版本的虚拟机有很大区别,因而我们在这里主要讨论基于Sun HotSpot虚拟机1.6版本Update22,此虚拟机包含...

2018-12-09 11:52:21 380

原创 理解JVM之垃圾收集器概述

前言很多人将垃圾收集(Garbage Collection)视为Java的伴生产物,实际1960年诞生的Lisp是第一门真正使用内存动态分配与垃圾手机技术的语言。在目前看来,内存的动态分配与内存回收已经相当成熟,但了解GC与内存分配还是非常有必要的,当排查内存溢出、内存泄漏问题,当垃圾手机称为系统高并发的瓶颈时,就需要我们对其实施必要的监控与调节。在前面的篇章中我们了解到Java的运行时区域中...

2018-12-09 11:35:35 436

原创 理解JVM之Java内存区域

文章目录程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存Java虚拟机运行时数据区分为以下几个部分:方法区、虚拟机栈、本地方法栈、堆、程序计数器。如下图所示:程序计数器程序计数器可看作当前线程所执行的字节码行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。Java虚拟机的多线程是通过线程轮流切换以分配处理执行时间的方式进行的...

2018-12-09 11:24:05 180

原创 Mybatis插件开发

前面几篇文章介绍了Mybtis中四个重要的对象,其中提到它们都是在Configuration中被创建的,我们一起看一下创建四大对象的方法,代码如下所示:public ParameterHandler newParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql) { ...

2018-12-09 10:31:00 450

原创 SqlSession对象之ResultSetHandler

ResultSetHandler是Mybatis中的另一重要接口,它的代码如下所示:public interface ResultSetHandler { <E> List<E> handleResultSets(Statement stmt) throws SQLException; <E> Cursor<E> handleCurso...

2018-12-09 00:37:22 781

原创 SqlSession对象之ParameterHandler

上一篇讲了StatementHandler,其中有ParameterHandler(参数处理器)是在StatementHandler被创建时被创建的。下面对ParameterHandler进行说明。其代码如下:public interface ParameterHandler { Object getParameterObject(); void setParameters(Prepar...

2018-12-09 00:29:44 150

原创 双亲委派策略与自定义类加载器

文章目录类加载器双亲委派模型双亲委派模型的优点双亲委派模型的破坏第一次破坏第二次破坏第三次破坏自定义类加载器几个函数loadClassfindClassdefineClass函数调用过程简单示例类加载器类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编...

2018-12-08 10:49:08 299

原创 理解Java异常

文章目录Java异常的简介Java异常的体系结构Java异常的处理基本异常处理finally块异常的链化自定义异常异常注意事项Java异常的简介Java异常是Java提供的一种识别及响应错误的一致性机制。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅...

2018-12-08 10:44:15 191

原创 理解Java反射

反射简介Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息;另一种是反射机制,它允许我们在运行时发现和使用类的信息。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。...

2018-12-08 10:40:57 172

原创 虚拟机的生命周期

转载自:https://www.cnblogs.com/like-minded/p/5157667.html一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中...

2018-12-08 10:36:57 1232

原创 Java的类加载过程

文章目录加载连接初始化一个Java文件从编码完成到最终执行,一般主要包括两个过程:编译与运行。编译即将Java文件通过Javac命令生成.class文件的过程,运行就是将.class文件交给JVM进行执行。类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。JVM在执行某段代码时,遇到了class A,然而此时内存中并没有class A的...

2018-12-08 10:31:05 161

原创 理解Java线程

使用多线程的目的是更好的利用cpu资源,大部分多线程代码都可以用单线程来实现,但也有无法用单线程实现的,如:生产者消费者模型下面对一些常用的概念进行区分:多线程:指的是这个程序(一个进程)运行时产生了不止一个线程。并行与并发:并行:多个cpu实例或者多台机器同时执行一段处理逻辑,真正的同时。并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。线程安全:...

2018-12-08 10:25:34 205

转载 Java类的生命周期

文章目录加载连接初始化使用卸载结语本文转载自:https://blog.csdn.net/zhengzhb/article/details/7517213我们在编写好java文件后会对其进行编译,称为class字节码文件,而Java生命周期指的就是一个class文件从加载到卸载的全过程。一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段,如下图所示:下面,就针对几...

2018-12-08 10:17:53 231

原创 理解Java之IO流

流是一种抽象概念,它代表了数据的无结构化传递。用来进行输入输出操作的流就称为IO流。IO流结构流的分类方式按流向分:从文件/网络/内存等(数据源)到程序是输入流从程序到文件/网络/内存等(数据源)是输出流按数据处理单位分字节流:以字节为单位传输数据的流,以Stream结尾的都是字节流。字符流:以字符为单位传输数据的流,以Reader结尾的都是输入字符流,以Writer结尾的都是输出字...

2018-12-08 10:11:08 340

原创 理解Java序列化

前言Java对象是在JVM中产生的,若要将其进行传输或保存到硬盘,就要将对象转换为可传输的文件流。而目前Java对象的转换方式有:利用Java的序列化功能序列成字节(字节流),一般是需要加密传输时使用。将对象包装成JSON字符串(字符流),一般使用JSON工具进行转换 。protoBuf工具(二进制),性能好,效率高,字节数很小,网络传输节省IO。但二进制格式可读性差。序列化基础序...

2018-12-08 10:01:52 225

原创 SqlSession对象之StatementHandler

文章目录StatementHandler介绍RoutingStatementHandler类BaseStatementHandler抽象类StatementHandler接口方法介绍prepare方法parameterize方法query方法update方法StatementHandler对象创建上一篇讲了SqlSession对象中的Executor,接下来将对SqlSession的另一个对象S...

2018-12-07 21:41:25 539

原创 SqlSession对象之Executor

Executor是Mybatis的一个核心接口,每一个SqlSession对象都会拥有一个Executor(执行器对象);这个执行对象负责[增删改查]的具体操作,我们可以简单的将它理解为JDBC中Statement的封装版。它的代码如下:public interface Executor { ResultHandler NO_RESULT_HANDLER = null; int upda...

2018-12-07 21:35:50 829

逆向工程所需文件

针对在使用mybatis的过程中使用逆向工程,即根据数据库生成项目中的pojo层和mapper层

2018-01-08

dom4j jar包

xml dom4j解析所需jar包, 与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用的特点,进行dom4j解析需要的jar包也成为必不可少的资源之一

2017-07-10

空空如也

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

TA关注的人

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