- 博客(18)
- 收藏
- 关注
原创 [算法-动态规划] 数组最大子串的区间和
题目描述给定一个数组,找出其中和最大的一串连续数字。输出和最大的连续子串的区间,即第一个数字的位置和最后一个数字的位置,并输出这个最大和。示例:输入6 -1 5 4 -7输出1 4 14解释:区间在1-4 的和为最大,和为6+(-1)+5+4 = 14代码: private static void func(int n, int[] nums, ArrayList<Integer> result) { int[] dp = new i
2022-03-27 19:29:36
1308
原创 java实现pow()函数(快速幂)
问题提出/** * 求 a的b次方 */private static double pow1(int a, int b) { int result = 1; while (b != 0) { // if (b%2==1){ // result = result * a; // a = a* a; // b/=2; //
2022-03-20 19:49:18
2181
原创 sql练习题
`一环境/* Navicat Premium Data Transfer Source Server : ssmbuild Source Server Type : MySQL Source Server Version : 50716 Source Host : localhost:3306 Source Schema : sqldemo Target Server Type : MySQL Target Serve
2022-03-17 23:05:20
630
原创 事务的传播机制通俗易懂
场景:在方法A中包含方法B的调用。比如:方法A# fly账号给zhangshang转账100块钱public void user(fly,zhangshan,100){ add(zhangshang,100); //张三加100 sub(fly,100) //fly减100} 方法B就是add跟sub注意事务传播行为的注解一般放在方法B上事务传播行为的注解:propagation_requierd(必须的)1、如果事务注解加在方法A上,事务传播注解放在方法B上:执行方
2022-03-11 18:18:05
423
原创 事务ACID的实现
ACID简介原子性A:一个事务中的操作要么全部成功,要么全部失败。一致性C:事务开始前和结束后,数据库的完整性约束没有被破坏 一致性代表了底层数据存储的完整性隔离性I:同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰持久性D:在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。如何实现原子性由undolog日志来保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行成功的sql也就是我们做的sql操作,增删改,它之前已经保留好一个历史版本数据
2022-03-09 19:27:42
321
原创 Synchronized与lock的区别
1、Synchronized 内置的Java关键字, Lock 是一个Java类2、Synchronized 无法判断获取锁的状态,Lock 可以判断是否获取到了锁3、Synchronized 会自动释放锁,lock 必须要手动释放锁!如果不释放锁,死锁4、Lock 的使用更加灵活,可以有响应中断、有超时时间等;而 synchronized 却不行,使用 synchronized 时,等待的线程会一直等待下去,直到获取到锁;5、Synchronized 可重入锁,不可以中断的,非公平;Lock ,可
2022-03-07 10:14:36
342
原创 StringTable通俗理解
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-03-07 10:14:23
89
原创 强、软、弱、虚引用
强引用是:一般指的是对像被new出来,强引用一般不会被jvm收回,但会报OutOfMemory(内存不足)。 当内存不足,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会对该对象进行回收。软引用(SoftReference):当系统内存充足时它不会被回收,当系统内存不足时它会被回收。 来保证尽量不要发生OOM弱引用(WeakReference):不管内存是否够用只要是弱引用,GC垃圾回收了一率回收,不管够不够用虚引用:如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都
2022-03-07 10:13:52
89
原创 HandlerInterceptor拦截器实现
拦截器实现1、要想有一个拦截器 必须实现HandlerInterceptor 接口里面有三个方法:preHandle(目标方法执行之前)postHandle(目标方法执行完成以后)afterCompletion(页面渲染以后)/** * 登录检查 * 1、配置好拦截器要拦截哪些请求 * 2、把这些配置放在容器中 */@Slf4jpublic class LoginInterceptor implements HandlerInterceptor { /** *
2022-03-06 19:36:08
2043
原创 ControllerAdvice实现全局异常处理
@ControllerAdvice这个注解是SpringMVC提供的它搭配@ExceptionHandler一起使用import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;impo
2022-03-06 19:32:38
598
原创 Docker快速入门
Docker是什么Docker 是一个应用打包、分发、部署的工具你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。跟VM的对比特性普通虚拟机Docker跨平台通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行支持的系统非常多,各类 windows 和 Linux 都支持性能性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来
2022-03-06 19:23:32
702
原创 shell语法快速入门
入门Linux提供的shell解析器:cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/tcsh/bin/cshCentos默认的解析器是bashecho $SHELL/bin/bash1.脚本格式脚本以#!/bin/bash开头(指定解析器)在使用 bash或者sh去执行的时候 都不会出现权限不够的问题,因为使用了解析器 但是如果是使用./ 则没有使用解析器是自己去执行 因此需要权限chmod 777
2022-03-06 16:10:08
424
原创 Threadlocal通俗易懂
ThreadlocalThreadLocal 的作用是:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度。总结:线程并发: 在多线程并发的场景下传递数据: 我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量线程隔离: 每个线程的变量都是独立的,不会互相影响与synchronized的区别虽然ThreadLocal模式与synchronized关键字都用于处理多线程并发访问变量的问
2022-03-05 20:08:22
270
原创 事务并发及隔离级别
事务并发问题1、脏读:一个事务读取到另一个事务还未提交的数据。2、不可重复读:在一个事务中多次读取同一个数据时,结果出现不一致。 (对应的是UPDATE修改操作)3、幻读:在一个事务中使用相同的 SQL 两次读取,第二次读取到了其他事务新插入的行。不可重复读注重于数据的修改,而幻读注重于数据的插入。(对应的是插入INSERT 或 DELETE 操作)事务隔离级别读未提交、读已提交、可重复读、可串行化。1、read uncommitted : 读未提交 :哪个问题都不能解决2、read co
2022-03-05 20:01:07
736
原创 object方法
registerNatives:当包含registerNatives()方法的类被加载的时候,注册的方法就是该类所包含的除了registerNatives()方法以外的所有本地方法。clone: 简单说就是返回一个对象的拷贝 方法是浅拷贝,对于基础数据类型:直接复制数据值;对于引用数据类型:只是复制了对象的引用地址,新旧对象指向同一个内存地址,修改其中一个对象的值,另一个对象的值随之改变。equals:用于比较两个对象是否相等。Object中本质上用的还是= = 也就是对象的引用地址==比较的是地
2022-03-05 19:55:41
143
原创 JWT通俗易懂
JWT简介JWT:JSON Web Token (令牌)是什么?token是按照一定的规则生成的一个字符串,字符串里面可以保护用户信息这个规则是不太一样的,一般采用通用,官方的规则 这个就是jwtjwt就是给我们定制好了规则,使用jwt规则就可以生成字符串,里面就包含用户信息了JWT就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密,签名等相关处理。使用场景:1、后端系统要前端系统访问的时候需要携带一个令牌,如
2022-03-05 19:53:25
1144
原创 jar、war包发布项目
传统的web应用在发布之前通常会打成WAR包,然后将WAR包部署到Tomact等容器中去使用,Spring Boot应用可以WAR包形式部署,也可以JAR包形式部署项目不能一直在idea上运行 必须把它打包到服务器上去。War包:Tomcat容器中jar:在JRE/JDK环境下,单独启动即可JAR包方式:第一步:打包工具使用的是Maven<build> <plugins> <plugin> <groupId>org.ap
2022-03-04 15:53:19
333
原创 Mysql日志
Undo LogUndo:意为撤销或取消,以撤销操作为目的,返回指定某个状态的操作。Undo Log:数据库事务开始之前,会将要修改的记录存放到 Undo 日志里,当事务回滚时或者数据库崩溃时,可以利用 Undo 日志,撤销未提交事务对数据库产生的影响。作用:在做一些事务操作的时候,想回滚,这样可以把更新操作撤销掉Undo Log产生和销毁:Undo Log在事务开始前产生;事务在提交时,并不会立刻删除undo log,innodb会将该事务对应的undo log放入到删除列表中,后面会通过后台线程
2022-03-04 15:41:43
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人