自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Springboot使用swagger

总结起来:1.导入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependenc

2021-01-26 15:39:45 104

原创 Java基础—反射

反射反射教程1.1 反射的定义1.2 反射的Java demo1.3 反射的原理1.3.1 JVM的类加载过程1.3.2 反射的原理1.4 动态代理1.5反射教程1.1 反射的定义动态的获取类的成员变量和方法的机制1.2 反射的Java demoublic class Reflact { public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAc

2021-01-13 20:31:29 162

原创 Java虚拟机

这里写目录标题Java内存区域与内存溢出异常运行时数据区域程序三级目录Java内存区域与内存溢出异常运行时数据区域程序三级目录

2021-01-05 21:57:09 240

原创 Tomcat之概述

Tomcat概述一级目录二级目录三级目录一级目录Servlet容器如何工作?Catalina的设计和实现?二级目录三级目录

2021-01-05 21:55:30 221

原创 监听者模式

监听者模式监听者模式监听者模式监听者模式有三大组成部分:事件源 EventSource 具有注册监听器的方法事件对象 EventObject 事件监听器 Listener 有callback(EventObject)方法,当收到事件发生后的处理。事件对象:主要目的是包装事件源,然后将本身(事件对象)交给监听器。public class EventObject { public EventSource source; public EventObject(

2020-11-15 17:15:56 2246

原创 HTTP各版本比较

HTTP各版本比较HTTP协议1.1 HTTP1.01.2 HTTP1.11.2.1 三大特性1.2.2 HTTP2.0想深入了解Http,奈何每个书籍都是三四百页。HTTP协议1.1 HTTP1.01.2 HTTP1.11.2.1 三大特性持久连接块编码状态码100的使用持久连接:connection:keep-alive块编码:发送方必须告诉接收方必须在不知道发送内容长度的情况下如何解析transfer-encoding的特殊请求头,指明字节流块发送1D\r\nI`m a

2020-11-13 14:48:10 346

原创 HttpProcessor

HttpProcessor内幕1. HttpProcessorHttpProcessor是什么HttpConnector中创建HttpProcessor的方法1. HttpProcessorHttpProcessor是什么HttpConnector中创建HttpProcessor的方法// 创建Processor// 不超过 private HttpProcessor createProcessor() { synchronized (processors) {

2020-11-13 11:04:28 448

原创 StringManager与ResourceBundle

StringManager与ResourceBundleStringManager与ResourceBundle1. StringManager2. ResourceBundle类2.1 作用StringManager与ResourceBundle1. StringManager位于org.apache.catalina.util下,使用单例模式只含有一个对象,内部含有Hashtable的managers,用于存储(key,value),key为包名private StringManager(St

2020-11-12 15:17:46 559 1

原创 输入与输出

输入与输出输入与输出1.输入/输出流1.1 输入/输出流概念1.2 读写字节1.3 组合输入/输出过滤器文本输入与输出读写二进制数据对象序列化/反序列化操作文件内存映射文件输入与输出1.输入/输出流1.1 输入/输出流概念输入流:输出流:InputStream/OutputStream:read(),write(int b)均为阻塞方法 应该被正确关闭。注意:close()/flush()均会冲刷输出流的缓冲区,如果不正确关闭将造成写入字节的最后一个包无法得到传递。扩展阅读:read()/re

2020-11-11 17:29:48 245

原创 Mybatis-Plus教程

Mybatis-Plus教程1.Mybatis-Plus的简介MybatisPlus是一种为了简化开发,提高效率而制作的Mybatis的插件。主要用来屏蔽重复的Sql语句编写,使得开发人员可以使用编程(调方法)的方式来完成数据库中数据的CRUD操作。// 查询表中一个信息User user = userMapper.selectOne(new QueryWrapper<User>( User.builder().id(6l).build()

2020-11-06 11:28:20 1514

原创 Apollo系列入门

Apollo系列Apollo配置中心总体设计What is ApolloApollo设计模型Apollo重要概念1.namespace2.cluster3.appid4.meta.server5.configService6.Admin Service7.PortalApollo实战Quick Start1.下载JDK1.8+2.部署Mysql3.下载QuickStart示例代码4.创建表5.启动配置中心6.编写Idea源码ApolloUtill的设计其它知识Apollo配置中心总体设计What is

2020-09-05 17:15:46 371

原创 RocketMQ系列之基础入门

RocketMQ系列之基础入门1:MQ介绍和几大产品对比1.1:MQ介绍1.2:常见MQ产品对比2:RocketMQ基础概念2.1:模型介绍2.2:部署模式3:RocketMQ基础实战篇3.1:RocketMQ常见命令3.2:RocketMQ-console介绍搭建3.2:RocketMQ与SpringBoot的结合1:MQ介绍和几大产品对比1.1:MQ介绍MQ:消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性

2020-08-04 14:09:31 486

原创 单元测试之SpringBoot

SpringBoot单元测试一:Service层测试二:Controller层测试在阅读本文前,建议先阅读JUnit4教程+实践具备Junit4的知识点。一:Service层测试导入jar包 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

2020-07-22 19:59:21 121

原创 JUnit4基础&实战

一、什么是JUnit?JUint是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试。二、JUnit特点:JUnit 是一个开放的资源框架,用于编写和运行测试。提供注解来识别测试方法。提供断言来测试预期结果。JUnit 测试允许你编写代码更快,并能提高质量。JUnit 优雅简洁。没那么复杂,花费时间较少。JUnit测试可以自动运行并且检查自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。JUnit测试可以被组织为测试套件,包含测试用例,甚至其他的测试套件。JUn

2020-07-22 09:55:23 261

原创 单例模式中的volatile

单例模式中的volatile背景:在早期的JVM中,synchronized存在巨大的性能开销。因此,有人想出了一个“聪明”的技巧:双重检查锁定(Double-Checked Locking)。人们想通过双重检查锁定来降低同步的开销。下面是使用双重检查锁定来实现延迟初始化的示例代码。public class DoubleCheckedLocking { // 1 private sta...

2019-10-18 18:41:32 657

原创 1.JVM运行时数据区

JVM运行时数据区概述:本文为JVM系列教程的第一课,主要陈述Java运行时数据区模型,及各个部分的作用。附加知识点intern()方法讲解String,Integer,int的==问题在我第一次实习面试腾讯时,面试官问的问题就有JVM,在那时,我想学这个有什么用,后面我一步步了解了JVM,仍然感觉这东西很虚,但是,现在,我想我们需要改变态度,因为JVM真的有很多的使用价值,比如线上排...

2019-09-24 03:03:47 106

原创 6.观察者模式

观察者模式观察者模式也叫发布订阅模式组成:Observer(主动观察者),被订阅者(Observable)当被订阅者发生状态更新时,会提醒

2019-09-19 02:01:16 111

原创 5.策略模式

策略模式什么是策略模式????背景:博主我明天要去远方流浪(GoFarAway),我需要乘坐交通工具(TransportStrategy)到达目的地,有两种方式:1.自行车2.的士**策略模式:**我选择自行车或者的士就是一种策略**策略模式组成:**抽象策略模式(TransportStrategy),具体策略模式(TaxiStrategyImpl,BikeStrategyImpl),环境...

2019-09-19 01:25:44 94

原创 4.适配器模式

适配器模式说起适配器你想到了什么???220V转换为5V,110V还有呢。。。没错适配器模式的定义:使得现有的接口或类能适应新的业务需求优点:提高类的透明性,现有的类服用但不需要改变不需要修改原有类缺点:增加代码可读难度分类:对象适配器 (组合实现) 类适配器 (继承实现)举例:...

2019-09-18 02:25:57 136

原创 3.装饰模式

装饰模式

2019-09-17 23:41:05 163

原创 Java8最全学习教程

Java8学习最全教程Java8新特性简介其它知识点ObjectsArrays.asListLambda表达式lambda应用Java8新特性简介HashMap:采用Hash算法求索引 数组+链表 Java8:数组+链表+红黑树红黑树:除了添加之外其它效率更高其它知识点ObjectsObjects.requireNonNull(Object object);检查对象是否为空,若为...

2019-09-15 16:16:17 1705 1

原创 1.单例模式

单例模式单例模式的演化/** * Created with IntelliJ IDEA. * * @author: mason * @date: 2019-09-13 * Time: 20:57 * Description: */public class Singleton { //饿汉式 线程安全 /*private static Singleton sing...

2019-09-13 21:28:45 76

原创 java复习9 函数式编程

函数式编程的入门,java8新特性,lambda;c语言也是函数式编程

2018-10-15 00:14:36 120

原创 java基础8 线程详解

线程:并行:同一时间点发生并发:同一时间段发生进程:内存中运行的程序线程:进程中的一个执行单元 一个进程至少需要一个线程java操作进程:创建进程:两个方法: exec start方法...

2018-10-14 18:26:36 747

转载 基础复习5-try(新特性)

java7增强的try语句关闭资源传统的关闭资源方式import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;class Student implements Serializable...

2018-10-14 10:37:50 203

原创 java基础复习4-日期类

Date类中大量方法已经过时官方建议我们使用Calendar类import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateUt...

2018-10-14 10:25:39 145

原创 java基础复习4

String底层皆是字符数组StringBuffer可变字符串:内容改变,对象不变案例:使用String,stringBUFFER,StringBuilder拼接三万次字符串,对比各自损耗的时间public class CharSectionDemo { public static void main(String[] args) { // TODO Auto-generated ...

2018-10-14 09:00:46 79

原创 java基础复习3

单例模式 包装类:注意源码中的缓存设计枚举:底层使用的是常量属性,有序号ordinary和名字name枚举:底层使用的是常量属性,有序号ordinary和名字name 模板方法设计模式:模板方法设计模式:枚举:底层使用的是常量属性,有序号ordinary和名字name枚举:底层使用的是常量属性,有序号ordinary和名字name 模板方法设计模式:模板方法设计模式:枚举:底层使用的是常量属...

2018-10-14 07:57:49 76

原创 java基础复习(二)

基本数据类型:

2018-10-12 10:49:59 92

原创 java基础复习

1. 源码,反码和补码 2. java入门前必须了解的内容 JDK,JRE,JVM 3. java环境变量,eclipse安装配置

2018-10-12 10:23:35 139

空空如也

空空如也

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

TA关注的人

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