摘要:
Spring Security中关于BCryptPasswordEncoder的使用 加密算法和hash算法的区别 加密算法是一种可逆的算法,基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,但在用相应的密钥进行操作之后就可以得到原来的内容。 哈希算法是一种 阅读全文
摘要:
题目:151. 翻转字符串里的单词 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个单词 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个 输入:"the sky is blue" 输出:"b 阅读全文
摘要:
SpringBoot整合mybatis 添加依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency> < 阅读全文
摘要:
字符串:反转字符串 题目:541. 反转字符串 II 给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 阅读全文
摘要:
Java类加载机制 类是在运行期间第一次使用时动态加载的,而不是编译时期一次性加载。因为如果在编译时期一次性加载,那么会占用很多的内存。 类的生命周期 包括以下 7 个阶段: 加载(Loading) 验证(Verification) 准备(Preparation) 解析(Resolution) 初始 阅读全文
摘要:
JVM内存分配与回收策略 新生代划分为三个部分:分别为Eden、Survivor from、Survivor to,大小比例为8:1:1(为了防止复制收集算法的浪费内存过大)。每次只使用Eden和其中的一块Survivor,回收时将存活的对象复制到另一块Survivor中,这样就只有10%的内存被浪 阅读全文
摘要:
虚拟机垃圾收集器 概览 以上是 HotSpot 虚拟机中的 7 个垃圾收集器,连线表示垃圾收集器可以配合使用。 单线程与多线程:单线程指的是垃圾收集器只使用一个线程进行收集,而多线程使用多个线程 串行与并行:串行指的是垃圾收集器与用户程序交替执行,这意味着在执行垃圾收集的时候需要停顿用户程序;并行指 阅读全文
摘要:
虚拟机垃圾算法 脑图 判断一个对象是否可被回收 1. 引用计数算法 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数 器减 1。引用计数为 0 的对象可被回收。 两个对象出现循环引用的情况下,此时引用计数器永远不为 0,导致无法对它们进行回收。 正因为循环引用的存在,因此 阅读全文
摘要:
Java内存区域 Java虚拟机在运行时,会把内存空间分为若干个区域:程序计数器、虚拟机栈、本地方法栈、堆内存、方法区。 JDK1.8(含)之后: 1、程序计数器 程序计数器是用来指示执行哪条指令的,每个线程都有一个独立的程序计数器,因此程序计数器是线程私有的一块空间。 由于程序计数器中存储的数据所 阅读全文
摘要:
代理模式 意图 控制对其它对象的访问。 类图 代理有以下四类: 远程代理(Remote Proxy):控制对远程对象(不同地址空间)的访问,它负责将请求及其参数进行编码,并向不同地址空间中的对象发送已经编码的请求 虚拟代理(Virtual Proxy):根据需要创建开销很大的对象,它可以缓存实体的附 阅读全文