自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode200:岛屿数量

LeetCode200:岛屿数量

2022-08-19 17:20:49 328 1

原创  LeetCode199:二叉树的右视图

LeetCode199:二叉树的右视图给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

2022-08-17 13:52:58 524

原创 LeetCode42:接雨水

LeetCode42:接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

2022-08-16 19:07:09 627

原创 LeetCode46:全排列

LeetCode46:全排列

2022-08-15 16:38:23 287

原创 LeetCode力扣题目总结(题目编号:53、3、141、面试题022、剑指offer链表中环的入口节点、20、19、牛客NC1、103、1143、牛客127)

LeetCode力扣题目总结(题目编号:53、3、141、面试题022、剑指offer链表中环的入口节点、20、19、牛客NC1、103、1143、牛客127)

2022-07-19 22:17:03 369

原创 LeetCode力扣刷题回顾(题目编号:94、17、面试题17、102、215、1、21)

LeetCode刷题回顾(题目编号:94、17、面试题17、102、215、1、21)链表,快速排序,Java优先队列,树的遍历

2022-07-10 01:26:19 226 1

原创 Java中的引用类型有哪些?强引用、软引用和弱引用简单介绍

Java中的引用类型有哪些?强引用、软引用和弱引用简单介绍

2022-07-07 17:05:35 301

原创 Spring 使用AspectJ实现AOP前置通知

什么是AOP?AOP面向切面编程,是基于动态代理的。AOP就是动态代理的规范化,把动态代理的实习按步骤和方式都定义好了,让开发人员用一种统一的方式使用动态代理。Aspect Orient Programming:面向切面编程Aspect:切面。给目标类增加的功能就是切面。添加的日志信息和事务都是切面。切面的最大特点就是:非业务方法,和我们的业务功能没有关系,可以独立使用的。怎么理解面向切面编程:(1)需要在分析项目时,找出切面。(2)合理的安排切面的执行时间(是在目标方法前执行,还是在目标方.

2022-01-13 16:44:05 573

原创 Spring的事务处理

方便使用的IDEA设置-b站主要内容:背景主题、鼠标修改代码字体大小设置、鼠标悬浮提示(关于类的介绍)、自动导包设置、方法间分隔符、忽略大小写提示、取消单行显示tabs(类文件太多文件被隐藏,多行显示)、设置字体行间距、file header头部信息、设置项目文件编码、设置自动编译、版本控制、插件、快捷键等。...

2022-01-10 17:34:09 1084 2

转载 IDEA快捷键大全

1.Ctrl快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 删除选中的行 (必备) Ctrl + X 剪切光标所在行 或 剪切选择内容 Ctrl + C 复制光标所在行 或 复制选择内容 Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备) Ctr

2022-01-02 18:26:03 289

原创 Spring5事务操作

什么是事务?事务是数据库操作的最基本单元,是逻辑上的一组操作,要么都成功,如果有一个失败,所有都失败。银行转账例子就是一个典型的事务场景。lucy转账100给marry。lucy少100,marry多100,这叫做逻辑上的一组操作,当两个操作都完成后才构成我们的转账。如果过程中出现了异常,转给marry的钱还没有转过去,要保证此时lucy的钱不会少,marry的钱也不会多,即要么都成功,要么都失败。事务的4大特性(ACID)原子性:值得是转账这个过程不可分割,要么都成功(lucy...

2021-12-28 16:27:26 686

原创 Spring JdbcTemplate模板介绍和准备工作以及使用JdbcTemplate操作数据库

什么是JdbcTemplate Spring对JDBC进行了封装——JDBC模板,通过它实现对数据库的增删改操作。 准备工作 引入jar包:(1)mysql依赖:在哪下载Mysql数据库的JDBC驱动jar包__清风明月的博客-CSDN博客_mysql驱动jar包在哪(2)德鲁伊druid连接池:Central Repository: com/alibaba/druid(3)spring jdbc(4)spring tx(事务)(5)spring orm(整合Mybatis操作数据库需..

2021-12-23 21:23:57 724

原创 Spring IOC底层原理

IOC底层原理:xml解析、工厂模式、反射(通过操作类的字节码文件操作类中所有内容)1.使用工厂模式完成解耦操作:原始方式耦合度太高了,使用工厂模式降低了Dao和Service之间的耦合度。2.IOC过程xml配置文件,配置创建的对象 有service类和dao类,创建工厂类 class UserFactory { public classValue = class属性值;//1.xml解析 Class clazz = Class.fo.

2021-12-23 17:19:49 292

原创 Spring5框架入门案例

Spring框架概述:轻量级(相比于引入很多jar包的情况)开源(免费提供源代码)的J2EE应用程序框架(让开发更简洁)。 Spring框架解决企业应用开发的复杂性。 Spring有两个核心部分:IOC和AOP。 IOC:控制反转,之前原始方式创建对象要new一个对象,现在让Spring帮我们创建对象,进行对象的实例化。 AOP:面向切面,在不修改源代码的情况下实现功能的添加或者功能的增强。 Spring框架特点: 方便解耦,简化开发。 AOP编程的支持。 方便程序的测试,整合

2021-12-22 21:47:24 142

原创 回溯算法模板

class Solution { //1.全局变量 List<List<Integer>> lists=new ArrayList<>(); List<Integer> list= new ArrayList<>(); public List<List<Integer>> combinationSum2(int[] candidates, int target) { //2.

2021-07-22 10:51:52 107

原创 Java实现归并排序(非递归)

public class Main{ //归并排序的非递归实现 public static void main (String[] args) { System.out.println("this is java test"); int[] array = {6,5,3,8,1,7,2,9,4}; for (int i = 0; i < array.length; ++i) { System.out.println(array[i] + " "); } .

2021-07-13 15:36:35 395 1

原创 Java实现快速排序

public class Main{ public static void main (String[] args) { System.out.println("this is java test"); int[] array = {19,97,9,17,1,8}; int L = 0; int R = array.length - 1; quickSort(array, L, R); for (int i = 0; i < array.length; ++i) {...

2021-07-12 15:56:48 103

原创 Java递归实现归并排序

public class Main{ public static void main (String[] args) { int[] array = {2,5,6,1,4,3,9,6}; int L = 0; int R = array.length - 1; //int M = L + (R - L) / 2; mergeSort(array, L, R); for(int i = 0; i < array.length; ++i) { System.ou.

2021-07-12 10:39:21 156

原创 Spring

Spring优点Spring 7大功能模块IOC原型

2021-06-28 22:18:04 131

原创 GC介绍之垃圾回收算法

复制算法如下:动态理解:标记压缩清除算法如下:

2021-06-27 15:02:55 118

原创 新生区、永久区、堆内存调优

JProfiler工具分析OOM原因OOM错误:堆内存满了

2021-06-27 12:04:35 80

原创 Native关键字

栈和栈帧

2021-06-24 20:46:55 88

转载 JVM类加载器的双亲委派机制

相关视频链接:类加载器及双亲委派机制JVM体系结构JVM结构图类加载器双亲委派机制Java是运行在Java的虚拟机(JVM)中的,但是它是如何运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得ClassLoader负责将这些class文件给加载到JVM中去执行。 JVM中提供了三层的ClassLoader: Bootstrap classLoader:主要负责加载核心的类库(java.la...

2021-06-23 15:36:53 104

转载 大顶堆的构造过程

转载????:大顶堆的构造过程堆是一种特殊的完全二叉树,使用数组存储二叉树时,若某个非叶子节点存储在下标为i的位置,其左右孩子节点分别存储在下标为2i+1和2i+2的位置。堆可以分为大顶堆和小顶堆,对大顶堆来说,任意非叶子节点不小于其左右孩子节点,对于小顶堆来说,任意非叶子节点不大于其左右孩子节点。若使用数组存储大顶堆,则满足:arr[i] >= arr[2i+1] && arr[i] >=arr[2i+2](i为非叶子节点的在数组中的下标)构造大顶堆基本思想:

2021-06-22 17:08:03 6300 1

原创 事务的隔离级别

相关视频链接:事务的隔离级别事务的隔离级别2不可重复读:例子幻读:事务丢失(回滚丢失)

2021-06-21 15:32:56 78

原创 事务的基本概念

2021-06-21 15:14:34 71

原创 【MySQL】事务与隔离级别

相关视频链接:事物与隔离级别

2021-06-21 13:10:22 84

原创 数据库中的锁及数据库事务的四大特性:原子性、隔离性、一致性、

b站????:数据库事务基本概念和4大特性一致性

2021-06-20 13:32:31 99

转载 彻底理解数据库事务

转载????:事务事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中,事务通常就是指数据库事务。概念一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的:1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止

2021-06-20 12:23:19 161

转载 什么是存储引擎以及MySQL常见的三种数据库存储引擎

转载????:什么是存储引擎(Save Engines)?

2021-06-19 21:49:27 17103 1

原创 什么是数据持久化?

1.什么是持久化?  狭义的理解:“持久化”仅仅指把域对象永久保存到数据库中;  广义的理解,“持久化”包括和数据库相关的各种操作。    ● 保存:把域对象永久保存到数据库。    ● 更新:更新数据库中域对象的状态。    ● 删除:从数据库中删除一个域对象。    ● 加载:根据特定的OID,把一个域对象从数据库加载到内存。    ● 查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。2.为什么要持久化?  持久化技术封装了数据访问细节

2021-06-19 21:30:09 1598

原创 使用JAVA8 filter对List多条件筛选

//查找身高在1.6米及以上的女生List<StudentInfo> boys = studentList.stream().filter(s->s.getGender() && s.getHeight() >= 1.6).collect(Collectors.toList());//输出查找结果StudentInfo.printStudents(girls);

2021-06-03 16:33:03 1718

转载 java 8 流处理字符串之分割字符串str.chars()

public static List<Character> splitToListOfChar(String str) { return str.chars() .mapToObj(item -> (char) item) .collect(Collectors.toList());}chars()方法转换字符串至Integer流,每个Integer值代表字符序列的ASCII值。所以我们需要显示使用mapToObj()方法进行类型转换。...

2021-06-03 16:28:01 911

原创 Java 中>>和>>>的区别

Java中的位运算符:>> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1;>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。表达式为:result = exp1 >> exp2;result = exp2 >>> exp2;表示把数exp1向右移动exp2位。例如:res = 20 >> 2;20的二进制为 0001 0100,右移2位后.

2021-05-28 12:48:46 1978 2

原创 什么是持久化?redis 持久化中的RDB和AOF是什么?

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。持久化是将程序数据在持久状态和瞬时状态间转换的机制。JDBC就是一种持久化机制。文件IO也是一种持久化机制。我们这样理解:在一定周期内保持不变就是持久化,持久化是针对时间来说的。数据库中的数据就是持久化了的数据,只要你不去删除或修改。比如在IE浏览器中一次Session会话中Session对象变量也是不变

2021-05-11 10:35:33 270

转载 SQL注入详解

一:什么是sql注入SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息二:SQL注入攻击的总体思路   1:寻找到SQL注入的位置  2:判断服务器类型和后台数据库类型  3:针对不同的服务器和数据库特点进行SQL注入攻击三:SQL注入攻击实例String sql ..

2021-05-11 10:03:39 255

转载 Java DAO 模式

Java DAO 模式原文:Java MySQL 连接参考文章DAO 模式DAO (DataAccessobjects 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。对外提供相应的接口在面向对象设计过程中,有一些"套路”用于解决特定问题称为模式。DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接口。从以上 DAO 模式使用可以看出,DAO 模式的优势就在..

2021-05-08 21:15:24 105

原创 关于TCP连接四次握手(或者叫四次挥手)的详细总结

四次挥手的过程:(客户端 || 服务器均可主动发起挥手动作。 假设客户端先发起挥手动作(关闭请求)。假设将客户端视为主动方,服务器视为被动方。) 第一次挥手 第一次挥手 第一次挥手 第一次挥手 From A to B 客户端 → 服务器 服务器 → 客户端 服务器 → 客户端 客户端 → 服务器.

2021-04-20 21:08:51 3792

原创 关于TCP连接三次握手的详细总结

三次握手的过程: 开始时客户端状态:CLOSED 开始时服务器状态:LISTEN 第一次握手 第二次握手 第三次握手 From A to B 客户端 → 服务器 服务器 → 客户端 客户端 → 服务器 状态 客户端: CLOSED → SYN_SENT 服务器:

2021-04-19 16:22:58 696

原创 Java集合中List,Set以及Map等集合体系梳理

1.Map接口1.1Map下面的子接口:1.1.1接口 ConcurrentMap<K,V>public interface ConcurrentMap<K,V> extends Map<K,V>实现类:类 ConcurrentHashMap<K,V>1.1.2接口 SortedMap<K,V>public interface SortedMap<K,V> extends Map<K,V>实...

2021-04-06 12:10:42 100

空空如也

空空如也

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

TA关注的人

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