自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python中Django连接mysql数据库配置

需要注意的是:python中首先需要创建一个app,在程序终端打开,输入执行python manage.py startapp AppName用于创建一个app。例如:python manage.py startapp Blog完成后,相应的工程目录下回生成对应的Blog目录。其中Blog目录下对应的__init__和migrations(数据库同步记录)目录下对应的__init__分别是其包...

2020-04-17 10:17:15 174

原创 分布式环境下,thymeleaf前端无法获取到session域中的数据,解决方法

1.问题描述使用spring cloud进行项目编写的时候,我们在一个工程中将登录的信息存到session域中,并且时候spring session实现各个工程之间的session共享,但是发现在thymeleaf的前端无法获取到session中的数据,并出现错误:这是因为我们在zuul那里配置的时候少配置了一个项,导致在进行请求重定向的时候,后端放在session域中的数据会传不到前端页面。2.解决方法在zuul的配置文件中添加配置项:...

2022-03-31 17:04:27 1205

原创 Spring Security在web.xml文件中配置了springSecurityFilterChain过滤器链之后报错(已解决)

1、问题描述在web项目的web.xml文件中配置了springSecurity中的关键bean对象springSecurityFilterChain之后,启动服务器运行的时候报错如下:09-Mar-2022 10:20:39.888 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到09-Mar-20

2022-03-09 11:01:26 2125

原创 jsp页面中引用外部的js文件导致页面中的中英文乱码的问题

1、问题描述在学习的过程中,自己写了一个外部的js文件,并在一个jsp页面中引用这个js文件,但是在浏览器前端显示的时候却发现js文件中待显示的中英文消息都乱码了,经过自己一通倒腾,解决了,却不知道到底是哪个环节解决的。2、解决的尝试2.1 改变js文件的编码格式看了网上的博客说,js新建文件默认的编码格式是ANSI,因此需要将js文件用notepad打开并更改编码方式为utf-8,尝试了但是没有成功(不过这里并没有清除浏览器缓存,因此不知道是因为编码原因还是浏览器缓存的原因)2.2 改变js文

2022-02-28 14:20:45 672

原创 Kafka

第一章:Kafka的概述1.1、kafka是一个分布式的基于发布/订阅模型的消息队列,主要用于大数据实时处理领域。有了kafka之后,我们可以实现消息的异步处理,可以达到以下的几点好处:(1)系统解耦:因为采用一个中间消息处理组件,可以实现消息的生产端和消费端之间的解耦;(2)可恢复性:kafka会将消息保存在相应的文件中,因此在系统宕机之后,还可以从文件中恢复消息数据,具备可恢复性;(3)缓冲:消息的生产者和消息的消费者之间的速度有可能是不匹配的,通过使用消息队列可以实现穿冲的效果。(4)异步通

2021-09-06 22:31:47 4420

原创 Mysql的索引结构——B+树

1.B树和B+树的基本结构和区别1.1 B树的结构B树的特点:(1)每个节点可以存储多个数据;(2)节点中的多个数据是排好序的;(3)B树的中间节点也可以存储数据。1.2 B+树的结构B+树的特点:(1)B+树的叶子节点才会存储数据,中间节点存储的是指向数据的中间索引值;(2)B+树的叶子节点之间是由**双向指针(这个图中的B+树是单向的,因为这个是学术上的B+树,mysql中的B+树使用的是双向指针)**相连的;(3)B+树的每个节点内可以存储多个元素,并且每个元组在节点内部是排好

2021-07-07 11:10:54 1841 2

原创 Java后端开发面试知识总结——JavaSE部分

1.Java中是如何支持正则表达式操作的?java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作,如:import java.util.regex.Matcher;import java.util.regex.Pattern;class RegExpTest { public static void

2021-06-30 11:10:49 313

原创 MyISM和InnoDB数据库引擎的区别

1.InnoDB支持事务,MyISM不支持事务,对于InnoDB而言,每一条SQL语句都会被封装成一个事务之后再进行自动提交,这样会影响速度,因此,在实际的开发中最好将多条语句放在begin和commit之间,实现手动的提交。2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;3. InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要有主键,通过主键索引效

2021-06-20 11:30:57 170

原创 mysql常见问题总结

一、mysql为什么要做主从复制二、如何设置mysql的主从复制三、mysql主从复制的原理是什么?四、mysql为什么要做读写分离五、如何设置mysql的读写分离六、mysql读写分离的原理是什么?七、使用读写分离后有什么问题,该如何解决?...

2021-06-17 15:08:28 481

原创 Maven学习笔记

5.Maven中的dependency和dependencyManagement之间的区别:dependencyManagement和dependency都是属于pom文件中的标签,而dependencyManagement一般值出现在父工程中,作用就是用于总的工程的jar包版本控制,例如在父工程中的dependencyManagement下面定义了mysql的版本之后,子工程的dependency中在指定jar包的时候就不用给出版本号,会自动采用父工程的版本进行导入,当然也...

2021-06-13 09:43:33 95 1

原创 JVM学习总结——垃圾回收器(博客资料来源于尚硅谷,感谢!)

一、GC分类与性能指标二、不同的垃圾回收器概述三、Serial回收器:串行回收四、ParNew回收器:并行回收五、Parallel回收器:吞吐量优先六、CMS回收器:低延迟七、G1回收器(Java采用的回收器):区域化分代式八、垃圾回收器总结...

2021-06-08 16:53:06 74

原创 JVM学习总结——垃圾回收相关概念(博客资料来源于尚硅谷,感谢!)

一、System.gc()的理解二、内存溢出和内存泄露三、Stop The World四、垃圾回收的并行和并发五、安全点与安全区域六、引用的知识

2021-06-08 16:45:36 74

原创 JVM学习总结——垃圾回收概述(博客资料来源于尚硅谷,感谢!)

一、垃圾回收的概述1、什么是垃圾2、早期的垃圾回收3、Java垃圾回收机制

2021-06-08 14:21:07 78

原创 JVM学习总结——垃圾回收相关算法(博客资料来源于尚硅谷,感谢!)

一、垃圾回收的概述1、什么是垃圾2、早期的垃圾回收3、Java垃圾回收机制二、垃圾回收相关算法

2021-06-07 22:10:51 86

原创 JVM学习总结——执行引擎(博客资料来源于尚硅谷,感谢!)

1、执行引擎概述2、java代码编译和执行过程3、机器码、指令和汇编语言4、解释器5、JIT即时编译器

2021-06-07 17:42:32 89

原创 JVM学习总结——直接内存(不属于JVM规范中的运行时数据区)(博客资料来源于尚硅谷,感谢!)

2021-06-07 17:06:08 108

原创 JVM学习总结——对象的实例化内存布局和访问定位(博客资料来源于尚硅谷,感谢!)

1、对象的实例化(1)步骤1:判断对象对应的类是否加载、连接、初始化(2)为对象分配内存空间如果内存规整:如果内存不规整:虚拟机需要维护一个空闲列表(3)处理并发问题:预先为每个线程分配一块TLAB(4)对对象的属性进行默认初始化值,保证对象的实例字段在不赋值的时候也可以使用(5)设置对象的对象头(6)执行init方法进行初始化2、对象的内存布局...

2021-06-07 16:12:06 92

原创 JVM学习总结——JVM的运行时数据区(方法区)(博客资料来源于尚硅谷,感谢!)

1、栈、堆、方法区之间的配合关系2、方法区的理解3、设置方法区的大小与OOM(OutOfMemory:Metaspace)4、方法区的内部结构5、方法区的演进细节6、方法区的垃圾回收7、常见面试题...

2021-06-07 15:26:40 77

原创 JVM学习总结——JVM的运行时数据区(堆)(博客资料来源于尚硅谷,感谢!)

1、堆空间的核心概述分析演示实例:代码块:public class SimpleHeap { private int id; public SimpleHeap(int id) { this.id = id; } public void show(){ System.out.println("my id is "+id); } public static void main(String[] args) {

2021-06-06 12:10:32 108

原创 JVM学习总结——JVM的运行时数据区(本地方法栈)及本地方法接口(博客资料来源于尚硅谷,感谢!)

1、本地方法接口关于什么是本地方法:实际上就可以理解为一个用native关键字修饰的一个java方法,但是方法没有具体的实现,实现部分由其他语言完成。本地方法展示:

2021-06-04 15:26:51 67

原创 JVM学习总结——JVM的运行时数据区(整体结构)(博客资料来源于尚硅谷,感谢!)

1.运行时数据区的整体结构2. JVM中线程的说明

2021-06-04 15:06:38 62

原创 JVM学习总结——JVM的运行时数据区(PC寄存器/程序计数器)(博客资料来源于尚硅谷,感谢!)

3.程序计数器(PC寄存器)3.1 程序计数器介绍3.2 PC寄存器的举例说明main方法:经过将字节码进行反编译之后的结果:3.3 程序计数器的常见面试题问题一:问题二:

2021-06-04 15:05:36 71

原创 JVM学习总结——JVM的运行时数据区(虚拟机栈)(博客资料来源于尚硅谷,感谢!)

三、JVM的运行时数据区1.运行时数据区的整体结构2. JVM中线程的说明3.程序计数器(PC寄存器)3.1 程序计数器介绍3.2 PC寄存器的举例说明main方法:经过将字节码进行反编译之后的结果:3.3 程序计数器的常见面试题问题一:问题二:4.虚拟机栈...

2021-06-03 18:54:45 133

原创 JVM学习总结——JVM的类加载子系统(博客资料来源于尚硅谷,感谢!)

二、JVM的类加载子系统类加载子系统的总体架构:1.类加载子系统的作用2.类的加载过程一个简单的包含main方法的类的字节码文件加载过程:2.1 加载阶段2.2 链接阶段2.3 初始化阶段一个类加载过程的案例分析:首先JVM要调用main方法,就会先加载ClinitTest1这个类,执行打印的方法时,发现需要使用到Son这个类,就会去加载Son这个类,加载Son这个类的时候,会去加载Son的父类Father类,在加载Father这个类的时候,在链接的准备阶段将A初始化为0,

2021-06-03 15:55:01 77

原创 Spring考点总结

1、使用aop的好处(1)降低代码的耦合度;(2)增强系统的可扩展性能;(3)提高代码的可复用性。2、aop中的基本概念(1)连接点:需要被增强的点,比如一个类中的方法就可以被作为连接点。(2)切入点:具体被增强的那个方法就称为切入点。(3)通知:当我们需要对一个类中的某个方法(连接点)进行增强的时候,我们增强部分的代码就作为通知,其中通知的类型有:前置通知、后置通知、返回通知、异常通知、环绕通知。3、Aop代理的两种方式:JDK动态代理和CGLIB代理(1)、要实现JDK代理需要有两个关

2021-06-02 19:36:53 198

原创 4大GC垃圾回收算法

一、GC垃圾回收算法1、引用计数法2、复制算法这个算法是新生代中常用的GC算法3、标记清除算法标记清除算法应用在老年代的GC算法。4、标记压缩算法标记压缩算法全称是:标记清除整理算法,其算法的过程是:标记可被回收的对象->将被标记的对象进行垃圾回收(会产生内存碎片)->整理内存空间,解决内存碎片二、JMM(Java内存模型)...

2021-06-01 21:14:34 1398

原创 java设计模式

1、设计模式的七大原则(1)开闭原则:我们在设计软件系统时,考虑到后续功能的扩展和维护,需要使得设计的系统对扩展开放,对修改关闭,也就是在不修改原有软件的基础上可以轻松实现功能的扩展。(2)接口隔离原则:我们在设计一个接口的时候,如果发现接口中的方法要么被同时使用,要么就同时不被使用,就需要考虑使用子接口去拆分这些接口,采用多个隔离的子接口去取代一个统一的接口,这样可以降低类与类之间的耦合度。(3)单一职责原则:即一个类应该只负责一个功能职责,如果一个类A中有两种不同的职责,当一个职责需求改变的时候,

2021-05-31 16:23:29 70

原创 ConcurrentHashMap实现原理及源码分析

一、ConcurrentHashMap跟HashMap,HashTable的对比1、 HashMap不是线程安全:在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是非常危险的。2、HashTable是线程安全的:HashTable和HashMap的底层实现原理几乎一致。主要的区别在于HashTable中的键值对都不允许为null,而HashMap中允许键值对为null。除此之外,Hash

2021-05-31 16:21:25 85

原创 LinkedHashMap底层源码分析

1、LinkedHashMap的继承和实现结构(1)从源码可以看出,LinkedHashMap实际上是HashMap的一个子类,继承自HashMap这个类,因此LinkedHashMap具备HashMap中的一些基本操作;(2)LinkedHashMap实现了Map接口。public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>2、LinkedHashMap底层

2021-05-31 15:25:35 152

原创 ArrayList源码分析

1、ArrayList继承和实现结构

2021-05-31 11:43:23 119

原创 LinkedList源码分析

1、继承和实现结构LinkedList继承了AbstractSequentialList抽象类,实现了List接口、Deque接口和Serializable接口,这里着重注意:实现了Deque接口,说明LinkedList是一个Deque的实现类,因此LinkedList也可以被看为一个双端队列,具备双端队列的特性。2、底层变量定义和说明(1)size:用于记录这个链表中的元素(在linkedlist中,元素实际上是以节点的形式存在的,因此也可以叫做节点的个数)的个数。因为linkedlist是采用

2021-05-31 10:31:29 42

原创 HashSet源码分析

1、HashSet继承和实现结构分析答:从源码中可以看出,HashSet继承了AbstractSet这个抽象类,并且实现了Set接口、Serializable可序列化接口。2、HashSet底层的数据结构是什么?答:从源码中可以看出,HashSet底层采用了HashMap进行数据的存放,具体的HashMap方面的知识,参加另一篇文章。HashMap源码分析3、HashSet提供了许多的构造器(1)空参构造器,底层会默认创建一个HashMap进行数据的存放。(2)构造一个set,传入的参数

2021-05-31 09:54:54 62

原创 HashMap底层原理分析(结合面试问题分析)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-05-31 09:23:46 320

空空如也

空空如也

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

TA关注的人

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