自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (4)
  • 收藏
  • 关注

原创 【ZooKeeper】

zookeeper

2023-01-30 14:04:33 400

原创 redis

redis

2023-01-29 16:01:49 445

原创 day15反射

反射一、类加载 1.类加载的过程 //了解 (1)加载类进内存 对每一个class文件创建一个class文件对象,用来描述类的信息 (2)连接类 校验加载进来的东西是否符合语法的要求 (3)类的初始化 先初始化父类,再初始化子类 2.类的初始化时机 (1)创建类的实例 //Student s = new Student(); (2)调用类的类方法 //Student.show(); (3)访问类或者接口的类变量,或者为该类变量赋值

2022-05-05 23:32:51 410

原创 day14-函数式接口&Stream流

函数式接口一、函数式接口的概述1.概念有且仅有一个"抽象方法"的接口//jdk8以后是可以有非抽象方法的(比如默认方法) 2.如何检测一个接口是不是函数式接口? @FunctionalInterface //注解的功能:检测接口是否为函数式接口 3.注意事项 我们在定义函数式接口的时候,就算我们不写@FunctionalInterface注解,只要保证满足有且仅有一个抽象方法的条件,也照样是函数式接口。但是,建议我们加上二、函数式接口作为方法的参数 如果一个方法的参数是函数

2022-05-05 23:25:12 167

原创 day13_lambda表达式

Lambda表达式一、体验Lambda表达式1.为什么会存在lambda表达式?*匿名内部类是为了简化单个实现类而出现的*lambda表达式的出现就是为了简化匿名内部类二、Lambda表达式的标准格式 1.格式 (形式参数) -> {代码块} 2.格式分析 (形式参数):其实就是匿名内部类中重写抽象方法的形式参数 ->: 表明当前的这个表达式是一个lambda表达式 //也可以说小箭头是我们lambda表达式的标志 {代码块}:其实就是匿名内部类中重写抽象方法

2022-05-05 23:15:02 99

原创 day12网络编程

网络编程一、网络编程的概述1.什么是网络编程在网络"通信协议"下,实现"网络"互连的不同计算机上运行的"程序"间可以进行"数据交换"//飞秋 就相当于可以实现网络间的数据交换二、网络编程三要素 1.IP地址 *概念:"设备"在网络中的唯一标识 //只要是带网口的都可以称为设备 *分类 IPV4 和 IPV6 *常用命令 ipconfig:查看本机的IP地址 //192.168.0.2 ping + IPV地址 :查看本机和指定IP地址

2022-05-05 23:06:15 151

原创 day11-多线程

多线程一、相关概念1.程序、进程、线程三者的区别?程序:我们每天写的代码(代码是死的)//比如:没有运行的飞秋,它就是一个程序进程:运行起来的代码//比如:运行起来的飞秋,它就是一个进程 线程:是"进程"中的单个顺序控制流,是一条执行路径 //我们使用qq可以一边聊天、一边下载 聊天时一个线程、下载也是一个线程 2.进程和线程之间的关系 (1)线程是依赖于进程的 //我想和乔梦佳同学聊天,我就必须先起启动qq这个进程 (2)一个进程中可以有多个线程 //电脑管家

2022-05-04 00:01:06 134

原创 day10-IO流&Properties集合

一、关于案例的几个注意事项1.集合到文件数据排序改进版(1)键盘你录入(2)TreeSet集合根据学生的总成绩排序(3)将集合中的学生信息写到文件中 问题:为什么 Scanner sc = new Scanner(System.in);要放在循环的里面? //Scanner有一个小问题:先接受int类型的值,再接受String类型的值,会出问题 "\r\n"会占用String接受的数据2.复制单级文件夹 单级文件夹: 就是该文件夹里面都是文件,没有文件夹 (1)注意事

2022-05-03 23:48:57 156

原创 day09-字节缓冲流&字符流

一、字节缓冲流1.缓冲流就是在普通流上面添加一个大小为8192的数组缓冲区,用来提高效率2.字节缓冲流的构造方法 (1)BufferedInputStream​(InputStream in) 创建一个 BufferedInputStream并保存其参数,输入流 in供以后使用。 (2)BufferedInputStream​(InputStream in, int size) 创建具有指定缓冲区大小的 BufferedInputStream ,并保存其参数,输入流 in供以后使用。

2022-05-03 23:40:05 165

原创 day08 IO流

File类一、扩展1.在电脑中,什么是文件?什么是文件夹?一般情况下,带有后缀名的是文件,不带后缀名的是文件夹 2.文件或者文件夹存储在哪里? 存储在硬盘上 //C盘 D盘。。。。 3.我们怎么能知道文件的属性信息? 右键 ------ 属性 4.我们说万物皆对象,那么在Java中用哪个类来表示文件或者文件夹呢? File类二、File类的构造方法 1.File​(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。

2022-05-03 23:17:57 127

原创 day07 map

Map集合—双列集合一、map集合的概述和特点1.public interface Map<K,V>*map是一个接口,创建对象的时候需要使用接口多态*有两个泛型<K,V>,说明map集合是以"键值对"形式体现的,而且K和V之间是有"对应关系"的 2.遍历map集合的注意事项 map集合的最小单位是键值对,不能直接把K全部输出来,然后再把V输出来;因为这样就失去了K和V之间的对应关系 3.map集合的特点 key: (1)唯一 (2)存取无序 v

2022-05-03 23:07:13 185

原创 day06 set集合

Set集合一、Set集合的概述public interface Setextends Collection 1.Set集合是一个接口,所以就不能直接创建对象,只能使用多态的方式创建对象 2.set集合是一个单列集合二、特点 (1)无序:元素的存取顺序 (2)没有索引 //所以set集合不能使用普通for循环遍历 (3)唯一:集合中没有重复的元素 //既然set集合中的元素是唯一的,那么我向set集合中添加已有元素会报错吗? 不会报错三、哈希值 1.什么是哈希值

2022-05-03 23:00:05 211

原创 面试宝典新版

JAVA基础:1.JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果

2022-04-20 00:17:14 639

原创 day05 List集合

1.Collection集合1.1集合体系结构【记忆】集合类的特点​ 提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变集合类的体系图1.2Collection集合概述和基本使用【应用】Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现Collection集合基本使用public class CollectionD

2022-04-17 22:30:55 68

原创 day04常用API和异常

1.包装类1.1基本类型包装类(记忆)基本类型包装类的作用​ 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据​ 常用的操作之一:用于基本数据类型与字符串之间的转换基本类型对应的包装类基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean1.2

2022-04-17 22:15:06 470

原创 day03内部类

1. 参数传递1.1 类名作为形参和返回值(应用)1、类名作为方法的形参方法的形参是类名,其实需要的是该类的对象实际传递的是该对象的【地址值】2、类名作为方法的返回值方法的返回值是类名,其实返回的是该类的对象实际传递的,也是该对象的【地址值】示例代码:class Cat { public void eat() { System.out.println("猫吃鱼"); }}class CatOperator { public void

2022-04-17 21:55:59 240

原创 day02多态

1.多态1.1多态的概述(记忆)什么是多态​ 同一个对象,在不同时刻表现出来的不同形态多态的前提要有继承或实现关系要有方法的重写要有父类引用指向子类对象1.2多态中的成员访问特点(记忆)成员访问特点成员变量​ 编译看父类,运行看父类成员方法​ 编译看父类,运行看子类代码演示动物类public class Animal { public int age = 40; public void eat() {

2022-04-17 21:37:28 442

原创 面试框架题整理

面试题总结一基础部分1.1 集合1.1.1 fail-fast 与 fail-safe 机制有什么区别1.1.2 说出ArrayList,Vector, LinkedList的存储性能和特性ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始ArrayList和Vector都是用数组方

2022-04-15 07:55:12 23161 3

原创 华为机试汇总

https://blog.csdn.net/u013598405/article/details/114239804https://blog.csdn.net/weixin_41010318/article/details/120783984

2022-03-12 22:48:38 921

原创 Day11-ElasticSearch 集群搭建

一、ElasticSearch 集群1.1 搭建集群Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错,Kibana也无法启动,因为Kibana无法获取集群中的节点信息。由于,我们使用只有一台虚拟机,所以我们在虚拟机中安装三个ES实例,搭建伪集群,而ES启动比较耗内存,所以先设置虚拟机的内存3G和CPU个数4个

2021-04-16 00:24:19 120

原创 day01-继承&修饰符

1. 继承1.1 继承的实现(掌握)继承的概念继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法实现继承的格式继承通过extends实现格式:class 子类 extends 父类 { }举例:class Dog extends Animal { }继承带来的好处继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。示例代码public class Fu {

2020-12-15 23:07:03 143

原创 Day10-SpringBoot整合Spring Data Elasticsearch

SpringBoot整合Spring Data Elasticsearch1.1 简介Spring Data Elasticsearch是Spring Data项目下的一个子模块。查看 Spring Data的官网:http://projects.spring.io/spring-data/Spring Data 是的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch这样的索引数据库。从而简化开发人员的代

2020-07-29 10:36:24 181

原创 Day9-ElasticSearch高级

01-今日内容ElasticSearch 高级操作ElasticSearch 集群管理02-ElasticSearch高级操作2.1-bulk批量操作-脚本脚本:测试用的5号文档POST /person1/_doc/5{ "name":"张三5号", "age":18, "address":"北京海淀区"}批量操作文本#批量操作#1.删除5号#新增8号#更新2号 name为2号POST _bulk{"delete":{"_index":"person

2020-07-29 10:18:29 162

原创 Day08_ ElasticSearch基础

1-今日内容初识 ElasticSearch安装 ElasticSearchElasticSearch 核心概念操作 ElasticSearchElasticSearch JavaAPI2-初识ElasticSearch2.1-基于数据库查询的问题2.2-倒排索引倒排索引:将文档进行分词,形成词条和id的对应关系即为反向索引。以唐诗为例,所处包含“前”的诗句正向索引:由《静夜思》–>窗前明月光—>“前”字反向索引:“前”字–>《静夜思》–&

2020-07-28 21:30:57 208

原创 Day07-RabbitMQ高级

0. 学习目标掌握RabbitMQ 高级特性理解RabbitMQ 应用问题能够搭建RabbitMQ 集群1. RabbitMQ 高级特性1.1 消息可靠性投递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。confirm 确认模式return 退回模式rabbitmq 整个消息投递的路径为:​ producer —> rabbitmq broker

2020-07-23 10:18:37 214

原创 Day06-Ribbitmq基础

学习目标能够说出什么是消息中间件能够安装RabbitMQ能够编写RabbitMQ的入门程序能够说出RabbitMQ的5种模式特征能够使用Spring整合RabbitMQ1. 消息中间件概述1.1 什么是消息中间件MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。MQ,消息队列,存储消息的中间件向MQ中发送消息的一方为消息的生产者 , 从MQ中获取消息的一方为消费者1.2 MQ 的优势和劣势优势:

2020-07-22 19:34:19 125

原创 Day05_springcloud_config&bus&stream&sleuth和zipkin

1.今日内容Config 分布式配置中心Bus 消息总线Stream 消息驱动Sleuth+Zipkin 链路追踪2.config2.1-config-概述• Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护。• 好处:集中管理配置文件不同环境不同配置,动态化的配置更新配置信息改变时,不需要重启即可更新配置信息到服务2.2-config-快速入门2.2.1-gitee搭建远程仓库1.编写仓库名称、仓库路径、公开(公开的比较方便)2.

2020-07-15 21:31:15 141

原创 Day04_springcloud_feign&hysrix&Gateway

1.今日内容Feign 声明式服务调用Hystrix 熔断器Gateway 网关2.Feign2.1-Feign-概述• Feign 是一个声明式的 REST 客户端,它用了基于接口的注解方式,很方便实现客户端配置。• Feign 最初由 Netflix 公司提供,但不支持SpringMVC注解,后由 SpringCloud 对其封装,支持了SpringMVC注解,让使用者更易于接受2.2-Feign-快速入门在消费端引入 open-feign 依赖 <!--fe.

2020-07-15 21:06:35 247

原创 Day03-SpringCloud概述&Eureka&Consul&Nacos&Ribbon

1.今日内容初识 Spring CloudSpring Cloud 服务治理2.初识Spring Cloud2.1-微服架构微服务架构:"微服务”一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到http://martinfowler.com/articles/microservices.html微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一

2020-07-05 16:33:41 406

原创 Day02-SpringBoot自动化配置&事件监听&流程分析&健康监控&部署方式

02-SpringBoot自动配置-Condition-1Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean@Conditional要配和Condition的实现类(ClassCondition)进行使用ClassConditionpublic class ClassCondition implements Condition { /** * * @param context 上下文对象。.

2020-07-05 11:33:08 216

原创 Day01-Springboot及整合其他框架

SpringBoot概述SpringBoot 快速入门SpringBoot 起步依赖原理分析SpringBoot 配置SpringBoot整合其他框架02-SpringBoot概述Spring的缺点:配置繁琐虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全.

2020-07-05 10:55:21 290

原创 day11_Mybatis多表操作和注解开发

1.Mybatis多表查询1.1 一对一查询1.1.1 一对一查询的模型用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户1.1.2一对一查询的语句对应的sql语句:select * from orders o,user u where o.uid=u.id;查询的结果如下:1.1.3 创建Order和User实体public class Order { private int id;

2020-07-02 16:47:39 173

原创 day10_Mybatis代理方式&动态sql

1.Mybatis的Dao层实现1.1 传统开发方式1.1.1编写UserDao接口public interface UserDao { List<User> findAll() throws IOException;}1.1.2.编写UserDaoImpl实现public class UserDaoImpl implements UserDao { public List<User> findAll() throws IOException {

2020-05-24 21:35:01 147

原创 day09_Mybatis入门操作

1.Mybatis简介1.1原始jdbc操作(查询数据)1.2原始jdbc操作(插入数据)1.3 原始jdbc操作的分析原始jdbc开发存在的问题如下:①数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能②sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。③查询操作时,需要手动将结果集中的数据手动封装到实体中。插入操作时,需要手动将实体的数据设置到sql语句的占位符位置应对上述问题给出的解决方案:①使用数据库连接池初

2020-05-24 20:56:49 165

原创 day08_spring+springmvc综合练习.md

Spring练习01-Spring练习-环境搭建步骤分析(理解)案例环境搭建步骤:①创建工程(Project&Module)②导入静态页面(见资料jsp页面)③导入需要坐标(见资料中的pom.xml)④创建包结构(controller、service、dao、domain、utils)⑤导入数据库脚本(见资料test.sql)⑥创建POJO类(见资料User.java和Role.java)创建配置文件(applicationContext.xml,spring-mvc.xml,

2020-05-20 20:21:38 189

原创 day07_SpringMVC的文件上传、拦截器及异常处理

SpringMVC的文件上传1-SpringMVC的请求-文件上传-客户端表单实现(应用)文件上传客户端表单需要满足:表单项type=“file”表单的提交方式是post表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”<form action="${pageContext.request.contextPath}/user/quick22" method="post" enctype="multipart/form-data">

2020-05-17 21:13:49 181

原创 day06_SpringMVC的请求和响应

SpringMVC的请求和响应SpringMVC的数据响应01-SpringMVC的数据响应-数据响应方式(理解)页面跳转直接返回字符串通过ModelAndView对象返回2) 回写数据直接返回字符串返回对象或集合02-SpringMVC的数据响应-页面跳转-返回字符串形式(应用)03-SpringMVC的数据响应-页面跳转-返回ModelAndView形式1(应用)在Controller中方法返回ModelAndView对象,并且设置视图名称@RequestMapping(

2020-05-14 21:32:47 160

原创 day05-springmvc快速入门、组件解析

1. Spring与Web环境集成1.1 ApplicationContext应用上下文获取方式应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们

2020-05-13 20:15:44 195

原创 day04_Spring JdbcTemplate&声明式事务

##一.jdbcTemplate的使用1、jdbcTemplate的介绍jdbc — dbutils – jdbcTemplate(spring 提供) – mybatis(主流) – spring data jpa(趋势)2、数据源配置jdbc.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/spring331jdbc.username=rootjdbc.password=ro.

2020-05-12 20:20:55 166

原创 day03-Spring-AOP

1.Spring 的 AOP 简介1.1 什么是 AOPAOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。1.2 AOP 的作用及其优势作用:在程

2020-05-10 21:53:55 163

ApiResponseVo.java

public class ApiResponseVo { //响应的业务的状态码, SUCCESS 表示成功, ERROR 表示业务失败 private String code = ""; //状态码的描述 private String codeDesc = ""; //用来装具体数据 private Object data = "";

2020-04-15

DruidUtils.java

/** * Druid连接池工具类 * */ // 1 定义成员变量 DataSource private static DataSource ds; static{ // 2 加载配置文件 获得连接池 Properties p = new Properties(); try { p.load(DruidUtils.class.getClassLoader().getResourceAsStream("druid.properties")); ds = DruidDataSourceFactory.createDataSource(p); } catch (Exception e) { e.printStackTrace(); } }

2020-03-31

DownLoadUtil.java

public class DownLoadUtil { public static String getFileName(String agent, String filename) throws UnsupportedEncodingException { if (agent.contains("MSIE")) { // IE浏览器 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+", " "); } else if (agent.contains("Firefox")) { // 火狐浏览器 //java 9和以上版本已经处理掉了 BASE64Encoder类 /*BASE64Encoder base64Encoder = new BASE64Encoder(); filename = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?=";*/ //java9 版本使用如下base64方式进行编码 filename = "=?utf-8?B?" + Base64.getEncoder().encodeToString(filename.getBytes("utf-8")) + "?="; } else { // 其它浏览器 filename = URLEncoder.encode(filename, "utf-8"); } return filename; } }

2020-03-31

YzmUtil.java

//获取制作好的验证码图片对象 BufferedImage image = YzmUtil.getBufferedImage(request); //将图片响应给客户端 ImageIO.write(image, "JPEG", response.getOutputStream());

2020-03-31

空空如也

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

TA关注的人

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