自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring

spring面试题

2023-02-28 09:51:43 113

原创 JVM面试题

jvm

2023-02-27 14:57:11 252

原创 Mysql

mysql

2023-02-27 14:56:19 242

原创 数据库mysql

mysql相关

2022-07-17 15:02:36 274

原创 spring

springioc就是控制反转,在不用ioc之前,对象需要我们自己去new和管理,村子啊耦合关系,对对象产生了依赖,使用ioc之后bean对象交给spring来创建个管理实现了解耦。ioc是个容器,用来创建和管理类。事务就是一组操作的集合。acid特性。...

2022-07-17 15:01:31 161

原创 jvm面试题

jvm面试题(通俗易懂)

2022-07-17 14:21:01 97

原创 垃圾清楚算法

复制算法标记 清除算法标记识别出想回收的对象清楚所有想回收的对象效率低 需要扫面所有对象 产生碎片复制 算法gc root留出空间存储存活对象减少可用内存空间 避免内存碎片标记 整理算法浪费时间不浪费空间 有空闲内存 不产生碎片分代收集算法新生代 老年代新生代 年龄小 垃圾回收频繁...

2021-12-09 22:29:20 72

原创 微服务架构原理

微服务架构原理面向SOA理念 更细拆分 将功能分解到各个服务当中 减低系统耦合性提供更灵活的服务支持

2021-12-09 22:28:32 664

原创 聚簇索引和非聚簇索引

聚簇索引和非聚簇索引数据库索引是存在磁盘中聚簇索引key value 放在一起非局聚簇索引 key value 分开存储innodb 都有myisam 只有非聚簇索引

2021-12-09 22:27:01 622

原创 源码角度分析SpringMVC

源码角度分析SpringMVCtomcat启动的时候 会通知Spring初始化容器 SpringMVC会遍历变量容器中的bean在IOC容器初始化的时候 会建立所有url和Controller的对应关系 保存到Map这样就可以根据request 快速定位到controller 因为最终处理request 的是controller 里的方法而Map中只有url和controller的对应关系 所以要根据request的url进一步确认controller中的method然后反射获取方法的注解和参数

2021-12-09 22:26:12 62

原创 整理面试题

一、基础篇Java 基础1.面向对象的特征可以说是三大特征,也可以说是四大特征①第一个是抽象:就是把有共同特征的一类事物,构造成类,只关注它的属性和行为,而不关注这些行为的细节②第二个是封装:就是把数据和操作数据的方法绑定起来,私有化,对外只提供一个最简单的方法③第三个是继承:子类继承父类的属性,比如说有多个类定义了共性的内容时,为了提高代码的复用性,就把这些类中的共性内容抽取出来,定义在一个独立的类中,然后再使用其他类去继承这个类中的共性部分,实现了复用,这就是继承④第四个是多态:顾名思义就

2021-12-09 22:25:40 1320

原创 SpringAop

SpringAopAOP面向切面编程 让开发人员只关注于开发核心功能的开发 不影响开发原有功能的情况下 添加额外的功能Aop相关概念连接点:封装了核心方法的信息切入点:被spring切入连接点通知:可以被添加进的额外功能引介:允许我们向类中添加新方法 属性目标:引介中提到的目标类 即和新方法中的类代理:被aop织入通知的集合切面:切入点和通知的集合织入:把切面应用到目标类的对象来创建新的代理对象的过程...

2021-12-08 18:59:36 150

原创 SpringMvc的工作流程

SpringMvc的工作流程客户端发送请求到DispatcherServletDispatcherServlet根据url向HandleMapping获取对应的Handle在HandleAdapter中处理Handle 将获取到的ModelAndView返回在ViewResolver中解析ModelAndView 并返回ViewDispatcherServlet根据返回的View进行渲染并返回给客户端...

2021-12-08 18:48:08 60

原创 Spring事务的传播行为 隔离级别

Spring事务的传播行为required:必须运行在事务中 有则加入 无则创建supports:无需在事务中 有则加入mandatory:必须在事务中required-new:必须在事务中 没有则抛异常not-supports:不应该在事务中 有则挂起never:不应该在事务 有则抛异常nested:有则嵌套,可单独回滚和抛异常 无则创建Spring事务的隔离级别default :使用数据库默认的隔离级别读未提交读已提交可重复读串行化...

2021-12-08 18:38:30 648

原创 Redis

Redis什么是redis一款告诉缓存数据库特点数据nosql数据库 非关系型内存存储 效率极高支持持久化 断电重启不会丢失支持主从模式key-value方式存储数据类型Stringhashlistsetzset缓存预热将热点数据 存到redis中 用户直接到redis中取数据 如果在redis中查询不到 再到数据库中查询两种方式数组json热点数据:访问频次高 数据量大的数据管道技术频繁多次向redis中写数据 运用管道 将管道积攒的命令一次性写入red

2021-12-08 16:29:44 584

原创 RabbitMQ

RabbitMQ消息队列生产者 消费者生产者 : 负责投递消息到消息队列中消费者 : 拉取消息队列中的消息并发量削锋消息队列原理交换机:生产者把消息写入队列的交换机中路由:交换机通过路由把消息写入到队列中队列:先进先出mq各种通信方式workQuere方式 设置每个消费者一次消费多少信息,手动进行ack更安全(手动进行消息确认)发布订阅(广播)在生产者微服务里 声明交换机为 广播类型,同时将同样的数据写道多个队列中路由发布:把消息存到符合规则的队列中增强路由:支持通配符 (不常

2021-12-07 19:21:03 935

原创 源码角度分析SpringMVC

源码角度分析SpringMVCtomcat启动的时候 会通知Spring初始化容器 SpringMVC会遍历变量容器中的bean在IOC容器初始化的时候 会建立所有url和Controller的对应关系 保存到Map这样就可以根据request 快速定位到controller 因为最终处理request 的是controller 里的方法而Map中只有url和controller的对应关系 所以要根据request的url进一步确认controller中的method然后反射获取方法的注解和参数

2021-12-07 17:04:29 155

原创 SpringCloud组件

SpringCloud注册中心Eureka各个微服务都需要到注册中心中注册 作用是控制各个微服务注册中心的工作原理:服务启动时候注册到注册中心map集合存放注册列表微服务定时给注册中心发送心跳包规定时间没有发送心跳包 注册中心就会移除该服务服务A调用服务B 先检查本地是否有服务列表 没有 就向注册中心拉取注册中心服务列表有变化 动态更新给服务调用者 增量更新负载均衡RobbinDubbo通过服务端对集群的监控 依据负载均衡算法 给出负载均衡建议Robbin帮助我们实现负载均衡(客

2021-12-05 14:06:32 70

原创 Redis(远程字典服务:内存存储)

Redis(远程字典服务:内存存储)问题:数据库压力过大 数据库查询属于磁盘文件读写 redis属于内存c’c数据不同步传统锁失效特点nosql数据库 没有sql语句数据库 非关系型数据库内存存储存储结构 key value支持持久化(内存中数据能够进行文件存储 防止服务器断电数据丢失 用于数据内容的恢复)支持集群 :高并发 高使用redis五种数据类型string 字符串 及其 数值​ 存储结构:字符串 “ ”list 有序可重复的列表格式 多个值h

2021-12-05 14:06:02 99

原创 JVM: java虚拟机

JVM: java虚拟机jvm运行我们编写的.java文件转换后的.class文件问题一 :Class在本地磁盘上 如何记载到jvm中问题二:jvm又是如何加载java程序所使用的系统类(系统jar 第三方jar)?解决方案 :使用java中的类加载器 类加载器是jvm的一部分类加载器不是一个 当jvm运行类加载器运行当jvm运行 先运行应用程序类加载器 判断是否有父加载器 有则启动父加载器启动扩展类加载器 启动后检测是否有 父加载器启动 启动类加载器(最上层的 父加载器

2021-12-05 14:05:31 78

原创 JVM: java虚拟机

JVM: java虚拟机jvm运行我们编写的.java文件转换后的.class文件问题一 :Class在本地磁盘上 如何记载到jvm中问题二:jvm又是如何加载java程序所使用的系统类(系统jar 第三方jar)?解决方案 :使用java中的类加载器 类加载器是jvm的一部分类加载器不是一个 当jvm运行运行当jvm运行 先运行应用程序类加载器 判断是否有父加载器 有则启动父加载器启动扩展类加载器 启动后检测是否有 父加载器启动 启动类加载器(最上层的 父加载器)加

2021-11-25 19:32:57 257

原创 SpringBoot创建 自用(仅供参考)

1.SpringBoot创建添加依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> <relativePath/> <!-- lookup p

2021-11-02 18:59:17 57

原创 Spring两种给代理模式

代理jdk代理被代理类必须实现接口incoke (第一个参数:。。。。。。。。​ 第二个参数 :method就是代理对象内部的方法,​ 第三个参数:方法的参数)public class TestZu { public static void main(String[] args) { //动态代理 //1..创建代理对象 FangDongImpl wangyan=new FangDongImpl(); wangy

2021-10-19 20:10:51 114

原创 德鲁伊连接池

晨考池化机制是为了解决什么问题资源的重复创建与销毁所带来的资源浪费问题jdbc的编写步骤注册驱动获取连接对象获取SQL句柄执行SQL语句处理结果集关闭资源jdbc如何控制事务try-catch控制事务在try代码块之外,开启事务(connection.setAutoCommit(false))在try代码块之内,执行事务的各个环节,并且提交(connection.commit())在catch代码块之内,回滚(connection.rollbac

2021-09-14 20:55:26 400

原创 反射---

反射概述:通过一个对象,表示一个类能表示类的名字,构造器,方法,成员变量(field,字段)获取类对象的三种方式对象.getClass()类型.classclass.forname(“包名.类名”)类对象的方法构造器Constructor成员变量Field方法Method名字Namepublic class ReflectPractice { public static void main(String[] args) throws

2021-08-24 19:02:54 101

原创 IO流part2字符流

字符流缓冲字符输出流public class BufferedWriterPractice { public static void main(String[] args) { try { Writer writer = new FileWriter("/Users/LEAF/Downloads/J2103-0823/buffered.txt"); BufferedWriter bw = new BufferedWriter(wri

2021-08-23 20:34:24 52

原创 IO流 part1

流的分类按方向【重点】输入流输出流按单位字节流:操作的是byte字符流:操作的是char按功能节点流缓冲流流的快速入门1.流的打开与关闭 try { // 读一个文件,将此文件标识为一个InputStream对象 // 输入一张图片 // /Users/LEAF/Pictures/搞笑图片/AE865FF6-8454-40F9-839F-7FD10BE94B5F.gif

2021-08-23 18:32:17 39

原创 Day19线程池

package com.qf.pro2103.day19;import java.lang.reflect.Executable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ThreadPoolDemo {public static void main(String[] args) { // TODO Auto-generated method stu

2021-08-19 21:24:52 42

原创 Day 19java线程开发

java线程开发一、内容回顾1、线程的实现方式2、线程的5种状态,及状态的转换3、线程安全问题:多个线程操作同一资源4、synchronized5、死锁二、今日内容1、生产者、消费者设计模式​ wait() notifyall()2、线程池3、Callable方式实现线程4、线程安全的集合1、生产者、消费者设计模式商店:货架—数组5面包商:有多个 多线程 要往数组里放面包顾客:买面包,只要买走了,唤醒面包商2、线程池package com.qf

2021-08-19 21:24:21 94

原创 Day18 线程

线程一、内容回顾1、java集合框架的组成2、ArrayList和LinkedList的区别是什么3、ArrayList是如何添加数据的4、HashMap是如何存放数据的5、如何给ArrayList中的对象按某个属性排序?6、java处理异常的方式有哪些?7、Throw和Throws的区别是什么?8、遍历Map集合有哪些方式?二、今日内容1、进程和线程的区别2、java的线程实现方式3、线程的状态及状态的转换4、后台线程、线程让步、线程优先级等1、进程和线程的区别进程:就是一

2021-08-19 21:23:34 59

原创 Day 17集合及异常处理

集合及异常处理一、内容回顾1、Collection—2、List—可重复、有序​ Set—无序、不可重复3、List的实现类​ ArrayList​ Vector​ LinkedList​ ArrayList、 Vector的异同点:都是数组的存储结构,遍历效率高、增删效率低​ ArrayList非线程安全(操作效率高)

2021-08-19 21:22:59 128

原创 Day16 java集合框架

java集合框架一、内容回顾1、面向对象的特征是什么?封装:多态的好处:减少代码,适用于程序的扩展2、实现多态的方式有哪些?有什么区别?有两种:方式1:方法重写—动态方式实现多态Pet wangcai=new Dog();wangcai.eat();方式2:方法重载—静态方式实现多态3、接口和抽象类有什么区别?创建对象:都不能被new 抽象类有构造方法 接口没有成员:接口继承:4、说一说final关键字的作用?5、String类有哪些方法,作用分别是什么,说出10个

2021-08-19 21:22:15 53

原创 常用类day 15

常用类数组:查重 排序 复制 查找内部类:成员内部类–和类中的属性,方法同级别 ,在内部类中不能声明static成员静态内部类–可以声明static成员局部内部类–在外部类的方法中生命的类,仅在方法内部使用匿名内部类–相当于接口的实现类public interface Usb{​ void service();}main(){​ Usb mouse=new Usb(){​ //匿名内部类,在声明的同时,直接创建对象,相当于此类实现Usb接口​ publ

2021-08-14 13:45:08 48

原创 Java Part1 Day14 成员内部类 Object类getClass() hashCode() toString() equals()

常用类一、内容回顾1、接口:interface 是一种规范,表示一种能力2、has-a的关系3、接口中的成员特点:​ 属性:public static final​ 方法:public abstrat4、作用:约束子类行为,用作引用,不能被new 无构造方法5、类单继承、多实现 接口之间多继承6、接口分离原则:接口中的方法尽可能少,放同类型/同方向的方法7、重要:接口和抽象类的区别?​ 创建:都不能被new,抽象类有构造方法的,接口无构

2021-08-12 18:11:52 89

原创 接口 面向对象综合应用

接口一、内容回顾1、类型转换:​ 装箱:向上类型转换、自动完成,把子类转换为父类的过程​ 问题:只能访问父类里的成员,不能访问子类成员​ Pet[] pets=new Pet[5];​ 体现了LSP原则:里氏代换原则,方便编码拆箱:向下类型转换、强制完成,把父类类型转换为子类类型的过程​ 遍历数组,需要强转​ 对象 instanceof 类型 判断该对象是

2021-08-12 18:09:23 73

原创 Java Part1 Day12 3个关键字 面向对象3大特征 类型转换

一、内容回顾1、方法重载和方法重写的区别?​ 1、发生的位置不同,重载是在同一个类中,重写发生在子类里,重写父类中的方法​ 2、重载是方法名相同、参数不同(个数、类型、顺序)​ 重写是方法名相同、参数要求相同​ 3、重载与返回值类型、访问修饰符无关​ 重写:重写方法的访问修饰符不能比父类中被重写方法更严格2、什么是多态?如何实现多态?​ 概念:父类的引用指向子类对象,同一父类类型,对同一行为表现出的不同状态​ .

2021-08-12 18:07:37 82

原创 Java Part1 Day11继承 方法重写 super多态

面向对象一.内容回顾封装;将类内部的属性隐藏private在类的内部,通过对外的公共接口(public setxxx getxxx)去操作,切薄数据的安全(合理)实现过程:1属性私有 2封装方法 3在setxxx方法中对值的范围进行判断继承:描述类和类之间的一种关系,通过这种关系子类就可以访问父类中可以访问的成员好处:代码复用 ,结构清晰(父类中存放公共的成员,子类存放独有成员)实现:子类extends父类特点:单继承 传递性子类继承了父类中的哪些成员:public在同一包中的父类的默

2021-08-10 19:26:11 139

原创 Java Part1 Day9,10 类 方法重载 构造方法 封装 继承

两日内容.类类的成员构造方法方法重载1.类文件的扩展名 . Java对象和类的关系:类是对象的统称,对象是类的具体实例对象:明确,具体的事物类:把具有相同属性、行为的事物归为一类通过 属性/特征,行为来描述对象属性/特征:名词,用来描述对象有什么类的修饰符:public(默认) 公共的 必须和类文件同名属性:语法上就是变量位置:类内部,方法的外部称呼:实例变量 成员变量2.方法的重载在同一个类中,方法名相同,参数不同(参数的个数,类型,顺序),称为

2021-08-07 13:33:08 96

原创 Java Part1 Day8 数组 数组的排序(重点) 二维数组

数组一、内容回顾1、数组的声明方式有哪些?​ 1、int[] ary;​ ary=new int[10];​ 2、int[] ary=new int[10] ; //长度必要的 否则报错​ 3、int[] ary=new int[]{12,23,34};​ 4、int[] ary={12,23,34};2、数组复制的方式有哪些?​ 强调:创建了长度更长的新数组,把原数组里的内容,复制到新数组中​ 方式

2021-08-05 07:48:41 129

原创 Java Part1 Day7 数组的概念及声明 数组的赋值及获取元素 数组的遍历 数组的应用之排序 数组的其他应用

方法及数组一、内容回顾1、break 跳出 switch 循环​ continue 用在循环中​ break如何跳出指定的循环: 使用标记2、什么是方法?完成特定功能的有名称的代码块​ 作用:代码复用3、声明的语法:public static void/数据类型 名(数据类型 参数名,数据类型 参数){​ //方法体​ return 变量}4、形参:声明方法时定义的参数​ 实参:调用方法时使用的参数

2021-08-03 18:48:07 110

空空如也

空空如也

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

TA关注的人

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