- 博客(103)
- 收藏
- 关注
原创 数据库技术支持文档
数据库技术支持文档说明对平时工作学习遇到的数据库相关知识和技巧记录,会对一些优秀知识讲解文章的摘录,包括PostgreSQL、MySQL、Oracle等版本说明日期作者1.0初稿2021-05-28pitt1997完整文件下载数据库技术支持文档.pdf数据库技术支持文档.mdMySQLMySQL 数据怎么存储?MySQL 中的数据在磁盘上,它到底是如何进行存储的?长什么样?扫盲:存储引擎是作用在表上的。主要命令查询当前数据库支持的存储引擎mysql&
2021-08-24 23:31:48
3231
原创 CAS 4.2.x 版本代理认证实现
CAS 4.2.x 版本代理模式实现一、CAS代理认证请参阅本指南了解更多详情。默认情况下启用对 CAS v1+ 协议的代理身份验证支持,因此利用代理身份验证功能完全是 CAS 客户端配置的问题。二、什么是CAS的代理认证举例这样一个场景:有两个服务,分别是【运维服务】和【资源管理服务】,这两个服务都集成了CAS,所有的请求都要经过CAS Server【认证中心】的认证。由于【运维服务】内部会去调用【资源管理服务】,但是【运维服务】的请求会被【资源管理服务】配置的CAS拦截器【Authentica
2021-08-24 23:13:43
1368
原创 【MyBatis原理】 Mybatis中SqlSession及Executor工作过程解析
前言上一篇文章对SqlSession工作过程进行分析,我们学习了如何获取SqlSession,而SqlSession只是我们使用Mybatis进行增删改查的第一步,而实际上,SqlSession内部维护了一个Executor,我们实际进行的增删改查都是通过这个Executor来进行的,下面再对整个流程进行分析。首先,开启一个数据库访问会话,然后创建SqlSession对象。MyBatis使用SqlSession对象来封装对一次数据库的会话访问。通过SqlSession对象,实现事务的控制和数据查询等操作
2020-08-23 14:57:06
801
原创 【MyBatis原理】 初识MyBatis
MyBatis介绍MyBatis框架弥补了传统JDBC开发模式的不足,同时其强大的加载配置、SQL解析与执行、结果映射等机制使得项目的开发效率和程序的数据处理性能得到大大的提升。MyBatis可以将SQL语句配置在XML文件中,这避免了JDBC在Java类中添加SQL语句的硬编码问题;通过MyBatis提供的输入参数映射方式,将参数自由灵活地配置在SQL语句配置文件中,解决了JDBC中参数的手工配置问题;通过MyBatis的输出映射机制,将结果集的检索自动映射成相应的Java对象,避免了JDBC中对结果
2020-08-23 14:50:49
358
原创 Spring Boot接收请求时出现 Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
问题原因今天在调试一个发送短信的HTTP接口时候,在SpringBoot项目的RESTful API接口接收请求时出现 Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported;由报错日志可知使用@RequestBody注解解析,那么对应支持发送数据的请求头数据格式应该是application/json再回去看发送方发送数据请求头设置的数据格式为application/x-www-form-urlencode
2020-08-13 00:30:35
24263
1
原创 postgresql锁表问题解决
之前在使用pgsql删除数据库表(DROP)操作时候出现阻塞的现象,由此怀疑是锁表导致。排查数据库表是否锁住:select oid from pg_class where relname=‘可能锁表的表名’select pid from pg_locks where relation=‘由上面查出的oid’如果上面的SQL查询到了结果,则表示该表被锁执行下面SQL释放锁定select pg_cancel_backend(上面查到的pid)...
2020-08-12 01:19:24
2938
原创 IntelliJ IDEA中出现 错误:找不到或无法加载主类 和 Cannot load settings from file
问题描述首先是一个spring boot的项目,是maven构建的,从SVN导入至本地之后运行启动类报错。错误提示:错误: 找不到或无法加载主类com.*。同时右下角Event Log出现Cannot load settings from file问题分析由于不同的开发人员使用工具不同,有在使用eclipse,有使用Idea的,所以在将各自代码提到仓库时,难免会有相关开发工具配置也被一并提入仓库了(所以我们尽量注意,不要将工具的配置提交至代码库),此时再拉项目最新代码,很有可能会出现加载idea
2020-08-12 01:13:12
2024
原创 虚拟机安装(Linux环境Windows版本)安装记录
安装演示版本物理宿主机:Windwos 10CentOS操作系统ISO镜像:CentOS 7.?(cat /etc/issue)64位 https://www.centos.org/download/虚拟机软件:VMware Workstation 12.5.2 版本SSH终端软件:SecureCRT(破解)SFTP文件传输工具:WinSCP安装步骤1. 创建虚拟机2. 选择虚拟机硬件兼容性默认,下一步3. 加载Linux系统ISO镜像选择CentOS系统的ISO镜像位置
2020-07-12 21:03:17
446
2
原创 模拟CAS单点登录(跨域提交、js正则匹配)
前言前段时间,在项目上有个需求,用户希望保留原有应用的登录页面,在不动cas源码的情况下实现跨域单点登录系统,即不通过cas登录页面输入用户名和密码,通过之前系统登录页面认证然后达到单点登录效果。综合网上的帖子思路来看,要保留原有的登陆页面逻辑,实现的思路是模拟请求登陆页,先获取cas的lt及execution信息,再将这些信息放在原有登录页面的表单上,表单提交指向到cas登录验证,从而实现经过cas单点验证通过,然后成功重定向到要单点的系统。如果cas和要单点的系统部署在一个tomcat的情况那么就不
2020-07-03 09:28:34
1641
原创 数据库安装(MySQL、pgsql、redis)
一、MySQL安装MySQL官网下载:https://dev.mysql.com/downloads/mysql/历史版本下载链接:https://downloads.mysql.com/archives/community/网盘下载链接(mysql-5.5.58-winx64.msi):https://pan.baidu.com/s/19SEOrP7KyMkENQrDhCgKiw提取码:1zl6双击运行安装文件一路next直到下图,选择安装类型,有“Typical(默认)”、“Compl
2020-06-28 23:30:45
476
原创 JDK的安装与环境配置
1. JDK官网下载链接2. JDK安装运行下载的JDk安装包,点击下一步安装即可。3. JDK环境配置右击我的电脑选择属性,打开控制面板点击高级系统设置选择高级,点击环境变量在系统变量下新建系统变量,变量名:JAVA_HOME变量值是自己本机安装的jdk的路径值例如:在系统变量下新建变量,变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar系统变量中选中
2020-06-28 23:13:32
261
原创 Webshell文件上传漏洞和文件上传攻击相关梳理
Webshell简介webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。文件上
2020-05-31 19:48:07
6742
转载 获取图片的base64编码和js压缩图片
记一次前端压缩图片笔记!转载至 https://www.cnblogs.com/xiaoliu66007/p/12708890.html<html> <body> <script> function getUrl(fil,m) { var Cnv = document.getElementById('myCanvas'); var Cntx = Cnv.getContext('2d');//获取2d编辑容器
2020-05-27 22:10:34
435
原创 js的number类型最大值引发的问题
前段时间,项目上突然暴露出一个问题,一个列表页面可以把数据库里面的信息正常查询并且展示,但是再对每一栏数据进行详情查看的时候,详情就展示不出,后台报错。顺着请求跟了一下代码,最终定位到问题原因。数据库资产表t_res中id字段存在值很长的数据,超过16位,超过js的number类型最大值(2的53次方,9007199254740992),如果超过这个值,那么js的number数值会出现不精确的问题。如数据库资源表id字段的值为900719925474099255(大于2的53次方),在触发资源授权展示事件
2020-05-27 21:55:01
1838
原创 LeetCode 第 157 场周赛 【玩筹码】【最长定差子序列】【黄金矿工】
5213. 玩筹码数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。示...
2019-10-06 12:44:10
295
原创 2020年Java后台开发秋招面试总结
秋招的第一个面试来自腾讯,因为自己在暑假的时候准备过Java的一些相关知识,所以勉强过了一面,但是倒在了二面,二面的面试官问的问题是源码层次的,加上自己当时比较紧张,一些表述不够清楚,并且对于源码上的一些问题没有准备充分,自己的能力还不达标。我是8月初在牛客网上让大佬内推腾讯后台开发的提前批,然后在8月8号收到腾讯的面试邀请短信,约的是下午7点,一面进行了将近50分钟,因为自己是第一次面试,挺紧...
2019-10-04 14:09:02
1649
2
原创 LeetCode 第 156 场周赛 【独一无二的出现次数】【尽可能使字符串相等】【删除字符串中的所有相邻重复项 II】
5205. 独一无二的出现次数给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]...
2019-10-03 17:37:23
283
原创 LeetCode 第 155 场周赛 【最小绝对差】【丑数 III】【交换字符串中的元素】
5197. 最小绝对差给你个整数数组 arr,其中每个元素都 不相同。请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。示例 1:输入:arr = [4,2,1,3]输出:[[1,2],[2,3],[3,4]]示例 2:输入:arr = [1,3,6,10,15]输出:[[1,3]]示例 3:输入:arr = [3,8,-10,23,19,-4,-14,27]输出...
2019-09-22 15:33:46
273
原创 LeetCode 第 154 场周赛 【“气球” 的最大数量】【一周中的第几天】【K 次串联后最大子数组之和】
5189. “气球” 的最大数量给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。示例 1:输入:text = "nlaebolko"输出:1示例 2:输入:text = "loonbalxballpoon"输出:2示...
2019-09-15 14:54:58
331
原创 哔哩哔哩2020秋招笔试真题【翻转字符串】【字符数组中两个字符串加起来最小】【背包问题】
1.原地翻转字符串第一题:翻转字符串 (空间复杂度O(1))先将I am a students.翻转.tneduts a ma I,然后空格分隔,并将每个字串各自翻转翻转使用双指针去交换左右两边。I am a student.翻转成student. a am Ipublic static void main(String[] args) { Scanner sc = ne...
2019-09-13 15:10:19
501
原创 Spring的AOP的实现原理笔记
AOP介绍AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效...
2019-09-11 17:06:31
296
原创 LeetCode 第 153 场周赛 【公交站间的距离】【一周中的第几天】【删除一次得到子数组最大和】
5181. 公交站间的距离环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。环线上的公交车都可以按顺时针和逆时针的方向行驶。返回乘客从出发点 start 到目的地 destination 之间的最短距离。示例 1:输入:distance...
2019-09-08 15:56:57
244
原创 LeetCode 第 152 场周赛 【质数排列】【健身计划评估】
5173. 质数排列请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上;你需要返回可能的方案总数。让我们一起来回顾一下「质数」:质数一定是大于 1 的,并且不能用两个小于它的正整数的乘积来表示。由于答案可能会很大,所以请你返回答案 模 mod 10^9 + 7 之后的结果即可。示例 1:输入:n = 5输出:12解释:举个例子...
2019-09-01 15:05:33
411
原创 LeetCode 第 151 场周赛 【查询无效交易】【最大层内元素和】【从链表中删去总和值为零的连续节点】
1169. 查询无效交易如果出现下述两种情况,交易 可能无效:交易金额超过 ¥1000或者,它和另一个城市中同名的另一笔交易相隔不超过 60 分钟(包含 60 分钟整)每个交易字符串 transactions[i] 由一些用逗号分隔的值组成,这些值分别表示交易的名称,时间(以分钟计),金额以及城市。给你一份交易清单 transactions,返回可能无效的交易列表。你可以按任何顺序返...
2019-09-01 15:05:21
342
原创 LeetCode 第 150 场周赛 【拼写单词】【最大层内元素和】【地图分析】
5048. 拼写单词给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat"...
2019-08-19 10:53:52
208
原创 【分发糖果】【加密解密】
1.分发糖果原题地址:https://leetcode-cn.com/problems/candy/solution/fen-fa-tang-guo-by-leetcode/老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的...
2019-08-13 11:31:29
6203
原创 LeetCode 第 149 场周赛 【一年中的第几天】【掷骰子的N种方法】【单字符重复子串的最大长度】
1154. 一年中的第几天给你一个按 YYYY-MM-DD 格式表示日期的字符串 date,请你计算并返回该日期是当年的第几天。通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类推。每个月的天数与现行公元纪年法(格里高利历)一致。示例 1:输入:date = "2019-01-09"输出:9示例 2:输入:date = "2019-02...
2019-08-12 11:45:52
373
原创 为什么Integer类型用==比较时127相等128不相等?【Integer 类型在范围[-128,127] 使用== 的比较问题】
Integer 类型在范围[-128,127] 使用==的比较问题直接上代码: public static void main(String[] args) { Integer a = new Integer(1); Integer b = new Integer(1); System.out.println(a==b); S...
2019-08-07 21:39:33
1168
原创 Java数据类型相关知识总结【Java基本类型与包装类型比较】【什么是装箱与拆箱】【缓存池】
为什么对Integer类型用==比较时127相等128不相等这里涉及了Java几个方面的知识1.基本类型基本数据类型占用字节大小存储位数对应包装类型byte18Bytechar216Charactershort216Shortint432Integerfloat432Floatlong864Long...
2019-08-07 20:25:52
485
原创 LeetCode 第 148 场周赛 【递减元素使数组呈锯齿状】【二叉树着色游戏】
5147. 递减元素使数组呈锯齿状给你一个整数数组 nums,每次 操作 会从中选择一个元素并 将该元素的值减少 1。如果符合下列情况之一,则数组 A 就是 锯齿数组:每个偶数索引对应的元素都大于相邻的元素,即 A[0] > A[1] < A[2] > A[3] < A[4] > …或者,每个奇数索引对应的元素都大于相邻的元素,即 A[0] < A[1...
2019-08-05 10:00:44
230
原创 vivo2019秋招笔试真题 1.字符串排序 2.链表拆分 3.最长回文子串
字符串排序【题目描述】请对组字符串进行排序,字符串由大小写字母和数字组成,需要满足以下比较规则:长度不同时,长度较短在排前面长度相同时,按照字典顺序排列(AaBb-Zz, 0-9顺序),即大写字母在小写字母前,数字排在字母后,要求时间复杂度为O(nlogn)。比如:“abc”,“Abc”,“123”,“1”,“1bc”,“CBD”,“abcd”,“a”abc Abc 123 1bc...
2019-07-31 15:37:48
532
原创 LeetCode 5. 最长回文子串(Java)
【题目描述】给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解题思路:动态规划设状态dp[j][i]表示索引j到索引i的子串是否是回文串。则转移方程为:则dp[j][i]为true时表示索引j到索引i...
2019-07-30 23:36:54
219
1
原创 LeetCode 第 147 场周赛 【第 N 个泰波那契数】 【字母板上的路径】 【最大的以 1 为边界的正方形】
1137. 第 N 个泰波那契数泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。示例 1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例 2:输...
2019-07-29 12:08:16
203
原创 KMP字符串匹配算法
最近学习在学习KMP算法时观看了视频之后理解的更加深刻,做一个笔记!视频地址:假设现在我们面临这样一个问题:有一个文本串T,和一个模式串P,现在要查找P在T中的位置,怎么查找呢?1.暴力匹配当a与b不能匹配上的时候,那么将P这个字符串整体往右移动一格移动之后继续从这个位置开始匹配,如果不能成功,那么继续右移一格:如果用暴力匹配的思路,并假设现在文本串T匹配到 i 位置,模式串P匹配...
2019-07-27 15:53:40
396
原创 百度2019校招笔试真题 1.混战世界 2.字符串计数
1.混战世界【题目描述】战乱年代。整个世界各个军阀的英团泄战,你是P7军团的战略参谋,你手下n(保证为3的倍数)个士兵,第i个土兵的物理攻击数值为Ai,魔法攻击数值为Bi,你需要将这些士兵三等分为三个连,第一个连需要去物理空间参加物理对抗战争,战斗力估值W1为士兵的物理攻击数值之和;第二个连需要去魔法空间参加魔法对抗战争,战斗力估值W2为士兵的魔法攻击数值之和;第三个连需要去虚幻空间参加物理魔...
2019-07-26 21:23:39
426
转载 面试 | MySQL 中 InnoDB 和 MyISAM 的联系与区别
MySQL 中 InnoDB 和 MyISAM 的联系与区别很多同学在面试中会被问到数据库的问题,而常被问到的一个问题就是:MySQL 中的 InnoDB 和 MyISAM 之间是什么关系,分别有什么特点?许多同学都把 MySQL 作为自己的数据库,但是可能用过最多的就是 SQL 语句,以及一些 ORM 的写法,而对底层的实现了解甚少,比如上述问题中,InnoDB 和 MyISAM 分别是什...
2019-07-26 15:29:04
354
转载 JVM是如何执行i = i++ + ++i的,你知道吗?
JVM是如何执行i = i++ + ++i最近比较困扰i++以及++i操作在JVM中实现的原理,直到读了下面一篇文章之后就豁然开朗!分享该文章希望对你有帮助!结果是多少?public static void main(String[] args) { int i = 0; i = i++ + ++i; System.out.println(i);}//结果输出 2...
2019-07-26 14:05:33
524
原创 LeetCode 第 146 场周赛 【等价多米诺骨牌对的数量】【颜色交替的最短路径】
1128. 等价多米诺骨牌对的数量给你一个由一些多米诺骨牌组成的列表 dominoes。如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 ac 且 bd,或是 ad 且 bc。在 0 <= i < j < ...
2019-07-25 20:29:11
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人