note
文章平均质量分 53
生活甜甜好运连连
这个作者很懒,什么都没留下…
展开
-
LeetCode200:岛屿数量
LeetCode200:岛屿数量原创 2022-08-19 17:20:49 · 344 阅读 · 1 评论 -
LeetCode199:二叉树的右视图
LeetCode199:二叉树的右视图给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2022-08-17 13:52:58 · 537 阅读 · 0 评论 -
LeetCode42:接雨水
LeetCode42:接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。原创 2022-08-16 19:07:09 · 648 阅读 · 0 评论 -
LeetCode46:全排列
LeetCode46:全排列原创 2022-08-15 16:38:23 · 301 阅读 · 0 评论 -
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 · 383 阅读 · 0 评论 -
LeetCode力扣刷题回顾(题目编号:94、17、面试题17、102、215、1、21)
LeetCode刷题回顾(题目编号:94、17、面试题17、102、215、1、21)链表,快速排序,Java优先队列,树的遍历原创 2022-07-10 01:26:19 · 229 阅读 · 1 评论 -
Java中的引用类型有哪些?强引用、软引用和弱引用简单介绍
Java中的引用类型有哪些?强引用、软引用和弱引用简单介绍原创 2022-07-07 17:05:35 · 306 阅读 · 0 评论 -
Spring 使用AspectJ实现AOP前置通知
什么是AOP?AOP面向切面编程,是基于动态代理的。AOP就是动态代理的规范化,把动态代理的实习按步骤和方式都定义好了,让开发人员用一种统一的方式使用动态代理。Aspect Orient Programming:面向切面编程Aspect:切面。给目标类增加的功能就是切面。添加的日志信息和事务都是切面。切面的最大特点就是:非业务方法,和我们的业务功能没有关系,可以独立使用的。怎么理解面向切面编程:(1)需要在分析项目时,找出切面。(2)合理的安排切面的执行时间(是在目标方法前执行,还是在目标方.原创 2022-01-13 16:44:05 · 576 阅读 · 0 评论 -
Spring的事务处理
方便使用的IDEA设置-b站主要内容:背景主题、鼠标修改代码字体大小设置、鼠标悬浮提示(关于类的介绍)、自动导包设置、方法间分隔符、忽略大小写提示、取消单行显示tabs(类文件太多文件被隐藏,多行显示)、设置字体行间距、file header头部信息、设置项目文件编码、设置自动编译、版本控制、插件、快捷键等。...原创 2022-01-10 17:34:09 · 1090 阅读 · 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 · 293 阅读 · 0 评论 -
Spring5事务操作
什么是事务?事务是数据库操作的最基本单元,是逻辑上的一组操作,要么都成功,如果有一个失败,所有都失败。银行转账例子就是一个典型的事务场景。lucy转账100给marry。lucy少100,marry多100,这叫做逻辑上的一组操作,当两个操作都完成后才构成我们的转账。如果过程中出现了异常,转给marry的钱还没有转过去,要保证此时lucy的钱不会少,marry的钱也不会多,即要么都成功,要么都失败。事务的4大特性(ACID)原子性:值得是转账这个过程不可分割,要么都成功(lucy...原创 2021-12-28 16:27:26 · 688 阅读 · 0 评论 -
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 · 729 阅读 · 0 评论 -
回溯算法模板
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 · 111 阅读 · 0 评论 -
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 · 401 阅读 · 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 · 106 阅读 · 0 评论 -
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 · 162 阅读 · 0 评论 -
Spring
Spring优点Spring 7大功能模块IOC原型原创 2021-06-28 22:18:04 · 134 阅读 · 0 评论 -
Spring5框架入门案例
Spring框架概述:轻量级(相比于引入很多jar包的情况)开源(免费提供源代码)的J2EE应用程序框架(让开发更简洁)。 Spring框架解决企业应用开发的复杂性。 Spring有两个核心部分:IOC和AOP。 IOC:控制反转,之前原始方式创建对象要new一个对象,现在让Spring帮我们创建对象,进行对象的实例化。 AOP:面向切面,在不修改源代码的情况下实现功能的添加或者功能的增强。 Spring框架特点: 方便解耦,简化开发。 AOP编程的支持。 方便程序的测试,整合原创 2021-12-22 21:47:24 · 144 阅读 · 0 评论 -
GC介绍之垃圾回收算法
复制算法如下:动态理解:标记压缩清除算法如下:原创 2021-06-27 15:02:55 · 120 阅读 · 0 评论 -
新生区、永久区、堆内存调优
JProfiler工具分析OOM原因OOM错误:堆内存满了原创 2021-06-27 12:04:35 · 82 阅读 · 0 评论 -
Native关键字
栈和栈帧原创 2021-06-24 20:46:55 · 90 阅读 · 0 评论 -
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 · 109 阅读 · 0 评论 -
大顶堆的构造过程
转载????:大顶堆的构造过程堆是一种特殊的完全二叉树,使用数组存储二叉树时,若某个非叶子节点存储在下标为i的位置,其左右孩子节点分别存储在下标为2i+1和2i+2的位置。堆可以分为大顶堆和小顶堆,对大顶堆来说,任意非叶子节点不小于其左右孩子节点,对于小顶堆来说,任意非叶子节点不大于其左右孩子节点。若使用数组存储大顶堆,则满足:arr[i] >= arr[2i+1] && arr[i] >=arr[2i+2](i为非叶子节点的在数组中的下标)构造大顶堆基本思想:转载 2021-06-22 17:08:03 · 6308 阅读 · 1 评论 -
事务的隔离级别
相关视频链接:事务的隔离级别事务的隔离级别2不可重复读:例子幻读:事务丢失(回滚丢失)原创 2021-06-21 15:32:56 · 81 阅读 · 0 评论 -
事务的基本概念
原创 2021-06-21 15:14:34 · 72 阅读 · 0 评论 -
【MySQL】事务与隔离级别
相关视频链接:事物与隔离级别原创 2021-06-21 13:10:22 · 86 阅读 · 0 评论 -
数据库中的锁及数据库事务的四大特性:原子性、隔离性、一致性、
b站????:数据库事务基本概念和4大特性一致性原创 2021-06-20 13:32:31 · 103 阅读 · 0 评论 -
彻底理解数据库事务
转载????:事务事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中,事务通常就是指数据库事务。概念一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的:1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止转载 2021-06-20 12:23:19 · 163 阅读 · 0 评论 -
什么是存储引擎以及MySQL常见的三种数据库存储引擎
转载????:什么是存储引擎(Save Engines)?转载 2021-06-19 21:49:27 · 17564 阅读 · 1 评论 -
什么是数据持久化?
1.什么是持久化? 狭义的理解:“持久化”仅仅指把域对象永久保存到数据库中; 广义的理解,“持久化”包括和数据库相关的各种操作。 ● 保存:把域对象永久保存到数据库。 ● 更新:更新数据库中域对象的状态。 ● 删除:从数据库中删除一个域对象。 ● 加载:根据特定的OID,把一个域对象从数据库加载到内存。 ● 查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。2.为什么要持久化? 持久化技术封装了数据访问细节原创 2021-06-19 21:30:09 · 1599 阅读 · 0 评论 -
使用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 · 1721 阅读 · 0 评论 -
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 · 912 阅读 · 0 评论 -
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 · 1988 阅读 · 2 评论 -
什么是持久化?redis 持久化中的RDB和AOF是什么?
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。持久化是将程序数据在持久状态和瞬时状态间转换的机制。JDBC就是一种持久化机制。文件IO也是一种持久化机制。我们这样理解:在一定周期内保持不变就是持久化,持久化是针对时间来说的。数据库中的数据就是持久化了的数据,只要你不去删除或修改。比如在IE浏览器中一次Session会话中Session对象变量也是不变原创 2021-05-11 10:35:33 · 277 阅读 · 0 评论 -
SQL注入详解
一:什么是sql注入SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息二:SQL注入攻击的总体思路 1:寻找到SQL注入的位置 2:判断服务器类型和后台数据库类型 3:针对不同的服务器和数据库特点进行SQL注入攻击三:SQL注入攻击实例String sql ..转载 2021-05-11 10:03:39 · 256 阅读 · 0 评论 -
Java DAO 模式
Java DAO 模式原文:Java MySQL 连接参考文章DAO 模式DAO (DataAccessobjects 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。对外提供相应的接口在面向对象设计过程中,有一些"套路”用于解决特定问题称为模式。DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接口。从以上 DAO 模式使用可以看出,DAO 模式的优势就在..转载 2021-05-08 21:15:24 · 108 阅读 · 0 评论 -
关于TCP连接四次握手(或者叫四次挥手)的详细总结
四次挥手的过程:(客户端 || 服务器均可主动发起挥手动作。 假设客户端先发起挥手动作(关闭请求)。假设将客户端视为主动方,服务器视为被动方。) 第一次挥手 第一次挥手 第一次挥手 第一次挥手 From A to B 客户端 → 服务器 服务器 → 客户端 服务器 → 客户端 客户端 → 服务器.原创 2021-04-20 21:08:51 · 3801 阅读 · 0 评论 -
关于TCP连接三次握手的详细总结
三次握手的过程: 开始时客户端状态:CLOSED 开始时服务器状态:LISTEN 第一次握手 第二次握手 第三次握手 From A to B 客户端 → 服务器 服务器 → 客户端 客户端 → 服务器 状态 客户端: CLOSED → SYN_SENT 服务器:原创 2021-04-19 16:22:58 · 700 阅读 · 0 评论 -
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 · 103 阅读 · 0 评论 -
c++中的引用本质
1.普通引用必须要初始化:void main(){ int a = 10; int &b = a; //int &c;//因为没有初始化,所以会报错}//引用做函数参数不用初始化void swap(int &x, int &y){ int c = 0; c = x; x = y; y = c;}void main(){ int a = 10; int b = 20;...原创 2018-03-26 22:12:45 · 193 阅读 · 0 评论