自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白初见

刚开始学习写博客,希望大佬多多指正错误

  • 博客(35)
  • 收藏
  • 关注

原创 工厂模式

工厂模式简介工厂模式的核心在于,客户不需要知道实体的创建过程,只注重于得到实体。以下面的实例简单来说就是,客户去工厂说我要某某交通工具,工厂就开始制造,制造好之后交给客户。模型图代码实现Transportation交通工具接口:public interface Transportation { void cast();}具体交通工具实体类public class ...

2020-01-03 15:23:38 164

原创 Spring Cloud Alibaba上手实践

简介安装Nacos访问官网下载相应依赖(中文社区真好!)下载安装JDK1.8版本或以上下载安装Maven3.2版本以上下载安装Nacos执行启动命令 sh startup.sh -m standalone启动完成本地访问Nacos,服务器IP地址:8848(服务器记得开放端口!),用户名密码默认都是nacos项目Demo创建一个父工程,管理...

2020-01-03 14:26:24 332

原创 消息队列——JMS与AMQP

消息队列 —— JMS与AMQP 在初学习消息队列的过程中,我经常发现很多专业术语。尤其是今天要提及的JMS和AMQP,所以在此特地将这两个概念提出来总结一波。 既然是消息队列中的内容,那么我们肯定要先去了解何为消息。消息这里的消息简单的理解就是通信信息。类似于我们需要某个人帮我们去做一些事情,那么我们需要告诉他,我们需要他去做事,这个就是一条消息。在程序开发中,前端输入用户名密码请求...

2019-12-26 17:21:51 354

原创 ES搜索引擎

ES搜索引擎(ElasticSearch)简介ES是一个开源的高扩展的分布式全文搜索引擎。他可以提供实施存储,检索数据。可以配置到多台服务器上,最大可处理PB级别的数据。ES也是用Java开发,以Lucene作为核心来实现索引和搜索功能。目前,很多知名的互联网厂商如阿里、新浪、百度等,都在使用ES搜索引擎ElasticSearch与SolrElasticSearch自身内带了分布式管理功能...

2019-12-25 16:07:49 4040

原创 缓存中的问题

缓存中的问题缓存穿透原因:查询数据库中肯定不存在的数据,多次查询造成数据库压力过大。一般我们一次查询的请求流程是,先去查询缓存中是否有数据,如果没有就去数据库中查,然后将查询的数据写到缓存中。如果有人恶意查询,比如像id=-1的数据库中肯定不存在。那么在大量请求查询id=-1的情况下,就会给数据库造成巨大的压力,甚至可能崩溃,这就是缓存穿透带来的问题。简单说就是查询数据库中肯定没有的数据...

2019-12-23 16:52:28 189

原创 数据库

数据库基础在我们目前的开发过程中,使用最多的就是关系型数据库(Oracle、MySQL、SQL Server、DB2等)。在这里我们先主要讨论下MySQLMySQL的优点:开源、可供用户免费使用MySQL支持TCP/IP协议、ODBC和JDBC等数据库连接途径支持多线程可以更好的支持PHPSQL语句这是在数据库中通用的语言,所有的数据库都支持这些语句。DDL:对数据库、数据...

2019-12-23 14:44:52 167

原创 POI导出数据到Excel

POI导出数据到Excel简介自定义工具类源码:/** * @author zhangziheng * @version 1.0 * @date 2019/12/18 13:49 */public class WriterExcelUtils{ private WriterExcelUtils(){} /** * 根据需要的文档类型不同,创建不同的工作...

2019-12-19 18:29:44 173

原创 POI导入Excel文档

使用POI导入Excel文档简介实现输入文件路径,获取文件对象 Scanner sc = new Scanner(System.in); String path = sc.next(); File file = new File(path);导入文件,判断文件是否是Excel文件 String fileName = file.getName(); //判断文件名结尾是否...

2019-12-18 10:51:52 282

原创 JVM分析

JVM(Java虚拟机)JMM(内存模型)堆栈(线程栈):用来存储线程在运行过程中产生的局部变量的存储区域。本地方法栈方法区程序计数器

2019-11-14 19:58:32 228

原创 双亲委派机制

双亲委派机制类加载器(ClassLoader)在Java中已经定义好了三种类加载器,分别是:启动类加载器(bootstrap class loader)、扩展类加载器(extensions class loader)和系统类加载器(system class loader)。在类加载器加载类时,为了确保类加载的唯一性,就会用类加载器与ClassPath来确定唯一的类进行加载。注意:因为是使用类...

2019-10-28 14:31:03 163

原创 数据库结构

数据库索引索引的数据结构二叉树红黑树Hash表B-Tree二叉树(mysql中并不使用该数据结构)每个节点不仅存储数据,还会存储该数据所在的磁盘地址。优点:若数据在二叉树中存储结构平衡时,性能会大幅提高。缺点:若数据在二叉树中是单边增长,那么查询性能并不会有所提升红黑树(是一种平衡二叉树,mysql同样不使用该数据结构)当二叉树不平衡时,会自动平衡二叉树。优点:能提高查...

2019-10-25 13:13:13 493

原创 MongoDB基础命令

基本概念数据库 database集合 collection文档 document(为了确保文档的唯一性会用时间戳自动生成一个ObjectId)不需要用户去创建,直接使用会自动创建数据库基本命令显示数据库show databases进入数据库use 数据库名显示当前数据库db显示当前数据库中所有的集合show collections数据库CRUD操...

2019-10-24 19:26:57 96

原创 安装MongoDB

MongoDB简介存储格式:数据模型是面向文档的,存储的文档类似于JSON结构,但功能强于JSON,是一种二进制的存储格式,命名为BSON。特点:轻量、可遍历、高效安装(64位,版本号双数为稳定版):下载安装包安装MongoDB复制MongoDB安装路径下的bin目录路径,配置环境变量在C盘根目录下,创建data文件夹,在data文件夹中创建db文件夹打开cmd,运行mong...

2019-10-24 19:16:16 90

原创 代理设计模式

静态代理:先画一个静态代理的类图。从上图我们可以看出,静态代理主要有3个部分实现。首先,需要一个接口,这个接口拥有一个代理类与被代理类的共有的一个方法。然后需要一个被代理类,实现定义的接口。再定义一个代理类,实现接口并且依赖被代理的对象。这样一个静态代理的过程就实现了。当客户端调用的时候,调用的就是代理类的实例,调用的方法就是被代理类实例增强后的被代理类的方法。SellCar接口:pub...

2019-09-21 11:53:56 145

原创 MyBatis框架

搭建MyBatis框架创建Maven项目在pom.xml配置文件中添加MyBatis框架需要的依赖``<dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifac...

2019-09-12 12:22:07 137

原创 多线程

多线程的生命周期:新建态:创建一个线程对象。 就绪态:线程对象创建完成之后,加入到可运行的线程池中,等待系统调用,获取cpu的使用权。 运行态:获取了cpu的使用权,执行代码。 阻塞态:在运行的过程中,由于某些原因放弃了cpu的使用权,停止运行,直到回到就绪态。 死亡态:线程执行完毕,或因为异常结束运行,即退出run()。多线程的四种创建方式 继承Thread类 创建一...

2019-09-10 10:16:59 115

原创 IO流

IO流分类:按流向分:输入流:向内存中输入数据。输出流:从内存中输出数据。按操作类型分:字节流:以byte为单位进行操作,通常操作的是非文本文件。字符流:以char为单位进行操作,通常操作的是文本文件。按角色分:节点流:数据不经过处理直接来往于数据源和内存中。处理流:数据在传输的过程中将会先进入缓存中保留,然后一次性输入或者输出,提高了读写的效率。字节输入流:InputSt...

2019-08-31 10:51:26 100

原创 集合扩容

集合底层扩容机制:ArrayList和Vector:ArrayList:默认初始长度为10,当元素个数超过ArrayList容量时,ArrayList扩容为原容量的1.5倍。Vector:默认初始长度为10,当元素个数超过Vector容量时,Vector扩容为原容量的2倍。Set和Map:Set:与Map扩容机制一致,因为Map是一个双列集合,key列是Set集合实现。Map:...

2019-08-30 20:15:33 1275

原创 原生Ajax实现的5个步骤

原生Ajax实现的5个步骤1.创建对象首先我们需要一个Ajax的对象。在这里我们需要注意的是,由于不同的浏览器内核问题,部分浏览器对Ajax对象的创建方式不一样。在以IE7以下版本为内核的浏览器中,没有提供XMLHttpRequest对象。目前,浏览器基本都是支持XMLHttpRequest对象,所以不再考虑版本问题。(浏览器版本的不同,区别仅仅是创建对象的不同,其他都是一样的)var xm...

2019-08-21 09:30:30 11079 1

原创 HTML5简单介绍

HTML5部分基础标签< head > < /head >定义了文档的各种属性和信息< body >< /body >负责页面显示的内容< h > < /h >标题标签:标题标签一共有六级,分别为:h1,h2,h3,h4,h5,h6。字体大小从大到小依次减少。在使用标题标签的时候,我们可以声0明一个h7标签,但是因...

2019-08-05 20:23:39 397

原创 JAVA集合

JAVA——集合集合是Java中用来存放对象的容器,且只能存放对象。相比较数组而言,数组只能存储基本类型,而且数组定义之后长度不可变。集合是一个可变的容器,但是只能用于存储引用类型的数据。集合类全部都支持泛型,是一种数据安全的用法。Connection接口:在此接口中定义了两个非常常用的子接口:List接口和Set接口。List接口: 中的元素可重复存储,并且元素的存储是有序的。Set...

2019-07-30 22:32:42 97

原创 面向对象的三大特性

面向对象的三大特性继承:作为面向对象三大特性之一的继承特点,就好像是我们现实生活中父与子的关系,使用关键字extends来标识两个类之间的关系。public class Son extends Father{}简单来说一下,JAVA是一门单根继承的语言,所有的类追踪下去都会寻找到一个最终的父类——Object。要注意子类只能继承一个父类,但是一个父类可以有多个子类。当子类继承了父类之...

2019-07-26 20:45:35 82

原创 访问修饰符

访问修饰符:public:共享修饰符,所有的类都可以访问public修饰符修饰的资源。protected:受保护的修饰符,同一个包或继承的子类可以访问由protected修饰符修饰的资源default:默认修饰符,在定义时不使用修饰符时,系统就会默认当前资源是被默认修饰符修饰,该资源可以被同一个包中的其他类访问private:私有修饰符,由private关键字修饰的资源只能被当前类...

2019-07-26 17:43:21 124

原创 JAVA中的超类Object

Object(超类):JAVA中的所有继承关系都是单根继承,而这个最终的根节点也就是所有类的父类——Object类。虽然我们经常在定义类的时候只是编写了访问权限 + class关键字 + 类名,而不加继承、实现等。但是系统都会默认该类继承Object父类,这也是我们在不使用继承关系的时候,也可以通过Object类的对象对Object提供的方法进行调用。Object中的方法:equals(...

2019-07-25 19:55:30 836 1

原创 JAVA的String类

String类的使用:定义方式:第一种定义方式:直接使用String 引用名 = “字符串”;创建顺序:先在栈空间开辟一个区域,存放String类型的引用str去常量池查找是否存在字符串“abc”。如果常量池中存在“abc”这个字面值常量,就将该字面值常量的地址指向str引用。如果常量池中没有“abc”这个字面值常量,则在常量池开辟一个空间存储“abc”这个字面值常量,然后将这个字面...

2019-07-25 17:52:18 108

原创 JAVA中简单的内存分析

JAVA中简单的内存问题栈空间:用来为调用的方法开辟空间,局部变量会存储在栈空间中。当方法结束时,垃圾回收器会回收方法所占有的内存空间,销毁方法体中的局部变量。它有一个特点,就是存储在栈中的数据可以被共享 ,并且在栈中的元素会服从先进后出规则。堆空间:为创建的对象开辟空间,保存对象的属性。当对象不再被任何一个强引用持有,垃圾回收器便会对该对象进行回收,执行finalize()方法,当垃圾...

2019-07-25 16:48:47 103

原创 static关键字

static关键字当使用static关键字修饰之后,成员变量和方法都可以直接使用类名进行调用,非静态的成员变量和方法需要实例化一个本类的对象,通过对象进行调用。static属性:当一个成员变量使用static标识符进行修饰之后,该成员变量就成为了一个静态的成员变量。静态成员变量跟非静态成员变量最大的区别就是,静态成员变量存储在静态常量区中,而非静态的成员变量则存储在栈或者堆空间中。注意:...

2019-07-24 20:09:22 102

原创 this关键字

this关键字作用:用来访问本类中的成员变量和成员方法。public class test { String str; public test(String str) { this.str = str; } }分析:在构造方法里的this指的是当前类的对象,当前类中有一个成员变量str,没有初始化。构造方法的参数列表中存在着一个String类型的变...

2019-07-24 19:16:06 110

原创 面向对象初见

面向对象基础什么是面向对象?面向对象是一种思想,我们可以将世界万物都归为一个类、一个对象。就好比哈士奇,它属于雪橇犬这一类,而雪橇犬也属于犬科。犬科类动物都具有吃、喝、睡觉、叫等功能;雪橇犬不仅具有这些功能,还具有御寒的功能;哈士奇具有了犬科、雪橇犬科等共有的特性,还具有了傻的特性。而在面向对象中,犬科、雪橇犬科都是一个抽象类,是看不见摸不着的。而哈士奇是一个具体的实例对象,我们可以看得...

2019-07-24 08:43:46 116

原创 二维数组

二维数组:二维数组,指的是以数组作为元素的数组。可以将其看做为一个矩阵,定义方式为与一维数组定义方式大体相似,都分为静态初始化和动态初始化:数据类型[][] 数组名 = new 数据类型[行数][列数];数据类型[][] 数组名 = { {" ”, " ", " "}, {" ", " ", " "} };数据类型[][] 数组名 = new...

2019-07-23 23:16:47 270

转载 JAVA对象的生命周期

JAVA对象的生命周期1.创建阶段:为对象分配存储空间开始构造一个对象从超类到子类对static成员进行初始化超类成员变量按顺序初始化,递归调用超类的构造方法子类成员变量按顺序初始化,子类构造方法调用2.应用阶段:对象至少被一个强引用持有 String str = new String();3.不可见阶段:程序本身不再持有对该对象的任何强引用,但引用仍然存在。 pub...

2019-07-23 19:02:00 185

原创 JAVA的四种引用

JAVA的四种引用强引用:一个对象被一个强引用所持有,那么这个对象便不会被垃圾回收器回收。这也是我们最常用的引用方式。特点:可以直接访问目标对象不会被垃圾回收器回收可能会导致内存泄漏举例: //这里Object便是被一个强引用所持有 Object oj = new Object();软引用:一个对象若是具有软引用。那么,当内存足够时,及时垃圾回收器扫描到该对象,垃圾回收...

2019-07-23 17:43:20 72

原创 抽象工厂模式

二十三种设计模式之抽象工厂模式抽象工厂模式通过一个抽象的工厂类,提供一个抽象的工厂方法来为客户端提供一个创建对应实例的方法。这里抽象工厂模式和工厂模式有一个很大的区别:抽象工厂----->抽象工厂在此定义为一个接口,提供了一个可以对外创建对应工厂实例的方法,这个方法也是抽象的,抽象工厂模式将创建对应工厂实例的具体实现下放到了实现类中。工厂模式----->工厂模式中的工厂不再是...

2019-07-23 11:37:40 105

原创 原型模式

二十三种设计模式之原型模式原型模式:通过已拥有的一个原型类,实现Cloneable接口中的clone()方法,完成原型模式的创建。在此模式中,我们可以通过已有的一个对象实例,调用clone()方法,直接复制对象实例,就不用再重新创建对象,对对象重新进行设置,提高了效率。注意:通过实现clone()方法,直接复制对象的实例是属于浅拷贝。在这里说一下:浅拷贝----->复制当前对象所有...

2019-07-22 23:55:16 81

原创 单例模式

二十三种设计模式之单例模式饿汉式:对象在类加载的时候就创建好 优点:这种创建模式编写简单,该类在加载的时候就会创建好对象的实例,所以不用考虑线程同步的问题 缺点:如果从始至终就没有使用该对象,则会浪费内存空间 //1.创建私有化构造器,防止用户在其他类中通过new关键字实例化本类的对象 private singleton() {} //2.在本类中实例化一个对外提供的对象,使用...

2019-07-22 23:46:02 114

空空如也

空空如也

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

TA关注的人

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