<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Rolandcoder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Rolandcoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Rolandcoder]]></copyright><item><title><![CDATA[mysql索引等值查询全表扫描]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/131240229</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/131240229</guid><author>Rolandcoder</author><pubDate>Fri, 16 Jun 2023 09:34:38 +0800</pubDate><description><![CDATA[需要注意的是，索引等值查询走全表扫描的情况比较少见，通常是由于数据分布不均或者索引列类型不匹配等原因导致的。：如果索引列的类型与查询条件的类型不匹配，例如索引列是字符串类型，而查询条件是数字类型，那么使用索引进行等值查询可能会导致走全表扫描。：如果索引列的数据分布不均匀，例如某个值出现的频率非常高，而其他值出现的频率非常低，那么使用索引进行等值查询可能会导致走全表扫描。索引列上存在函数操作：如果查询条件中包含函数操作，例如使用了字符串函数或日期函数等，那么使用索引进行等值查询可能会导致走全表扫描。]]></description><category></category></item><item><title><![CDATA[linux下mysql相关操作命令]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/107839244</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/107839244</guid><author>Rolandcoder</author><pubDate>Fri, 18 Sep 2020 14:34:29 +0800</pubDate><description><![CDATA[linux环境下，用过mysql-cli操作mysql数据库，会涉及到相关命令，比如数据库切换、表格字段查询、字段添加、sql的备份与sql文件的执行等。记录下相关的操作命令。

1.数据库登录与数据库切换


进入到mysql安装目录后：

./bin/mysql -u root -p

然后输入密码

show databases;//可看到所有的数据库

use testsave;//切换到名称为testsave的数据库

show tables;//可查看当前数据库下的所有表

show colum]]></description><category></category></item><item><title><![CDATA[链表-相关的基础算法代码总结]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/103279446</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/103279446</guid><author>Rolandcoder</author><pubDate>Thu, 23 Jul 2020 09:34:02 +0800</pubDate><description><![CDATA[以代码为主，帮助自己较好的理解私思想。

1.反转链表


	//反转链表
	public ListNode ReverseList(ListNode head){
		
	
		ListNode current = head;//当前节点
		ListNode pre = null;
		ListNode reverseHead = null;//反转后的头结点
		ListNode temp ...]]></description><category></category></item><item><title><![CDATA[linux常用且使用shell命令]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/103347649</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/103347649</guid><author>Rolandcoder</author><pubDate>Thu, 28 May 2020 16:50:26 +0800</pubDate><description><![CDATA[1.查看特定端口服务占用情况

lsof -i:port

2.查看机器缓存命令

free -m

3.清理缓存的命令

echo 1 &gt;/proc/sys/vm/drop_caches

echo 2 &gt;/proc/sys/vm/drop_caches

echo 3 &gt;/proc/sys/vm/drop_caches

4.CentOs7以后防火墙相关操作

（1）添加开放...]]></description><category></category></item><item><title><![CDATA[win环境下zookeeper和Dubbo Admin的运行]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/106304539</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/106304539</guid><author>Rolandcoder</author><pubDate>Sun, 24 May 2020 12:48:37 +0800</pubDate><description><![CDATA[RPC（远程过程调用）是互联网公司的必备技能，一下以RPC框架中的Dubbo为例，进行简单的集成和应用。

Dubbo官网地址:http://dubbo.apache.org/zh-cn/index.html

环境:

jdk1.8

SpringBoot2.1.1.RELEASE

Dbuuo version:2.6.5

curator(zookeeper客户端):2.12.0


...]]></description><category></category></item><item><title><![CDATA[树-相关的基础算法代码总结]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/103256303</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/103256303</guid><author>Rolandcoder</author><pubDate>Tue, 26 Nov 2019 16:04:34 +0800</pubDate><description><![CDATA[主要罗列了下代码，看到代码后应该会清晰一些。

1.先序遍历（非递归）


	//先序遍历
	public void PreOrder(TreeNode root){
		if(null == root){
			return;
		}
		
		Stack&lt;TreeNode&gt; stk = new Stack&lt;TreeNode&gt;();
		
		while(root!=nu...]]></description><category></category></item><item><title><![CDATA[无bug样式]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/88311620</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/88311620</guid><author>Rolandcoder</author><pubDate>Tue, 15 Oct 2019 17:27:17 +0800</pubDate><description><![CDATA[记录一下之前找到的佛祖护体无bug的样式，具体链接忘记了，佛祖护体，bug避让。


/**
 *                             _ooOoo_
 *                            o8888888o
 *                            88" . "88
 *                            (| -...]]></description><category></category></item><item><title><![CDATA[客户端post请求携带数据过多致使无法上传成功并报400异常]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/89945443</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/89945443</guid><author>Rolandcoder</author><pubDate>Tue, 24 Sep 2019 19:25:59 +0800</pubDate><description><![CDATA[app端会执行上传图片的操作，是将图片转换为base码后传输，但是发现图片数量较多时，一直出现超时操作。

使用wireshark拦截接收到的数据包时，发现由于网络原因出现的重传，请求头中的content-length的值为：2674178，单位为字节，这样算下来的话，内容在2.55M左右。

拦截提交成功的数据包，显示content-length的值为:987463,大约在0.94M左右。而且同...]]></description><category></category></item><item><title><![CDATA[Maven+SpringBoot新建工程时只包含src/main/resources]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/101294540</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/101294540</guid><author>Rolandcoder</author><pubDate>Tue, 24 Sep 2019 17:04:03 +0800</pubDate><description><![CDATA[通过Maven+SpringBoot新建工程时，会出现只有src/main/resources文件夹的情况，如下图：



解决方案:

右击项目，Properties--&gt;Java Build Path--&gt;JRE System Library--&gt;Edit,将System Library勾选为Workspace default JRE,如下图。



这样之后，就可以看到几个...]]></description><category></category></item><item><title><![CDATA[mybatis查询无命中记录时返回的list为[null] size为1]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/88950759</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/88950759</guid><author>Rolandcoder</author><pubDate>Mon, 01 Apr 2019 16:27:39 +0800</pubDate><description><![CDATA[在使用Mybatis查询数据的时候，设定查询条件，使其没有命中纪录，这时返回的内容为[null]，size为1，因此通过null == list无法判断，0 == list.size()也无法判断，甚至借鉴了CollectionUtils.isEmpty(list)去判断是否为空，但都不好使。

当然，我们知道了返回的数据格式，必然有办法对这种情况下的list进行处理，但是还是对这种情况不理解，对...]]></description><category></category></item><item><title><![CDATA[日期格式的正则表达式]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/85317054</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/85317054</guid><author>Rolandcoder</author><pubDate>Fri, 28 Dec 2018 10:18:36 +0800</pubDate><description><![CDATA[日期的格式多种多样，有如：&quot;yyyy-MM-dd HH:mm:ss&quot;、&quot;yyyy/MM/dd HH:mm:ss&quot;、&quot;yyyyMMdd HH:mm:ss&quot;等，当然也有的只记录到天。有的时候需要判断日期格式是否满足特定的格式，正则匹配是比较好的方法。下面罗列了常见日期格式的正则表达式，当前还没有考虑闰年和非闰年的情况。

参考了博客https://blog.youkuaiyun.com/gengxiaoming7...]]></description><category></category></item><item><title><![CDATA[Springboot+Shiro实现权限控制]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/81478071</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/81478071</guid><author>Rolandcoder</author><pubDate>Mon, 03 Dec 2018 08:36:58 +0800</pubDate><description><![CDATA[在一个系统中，不同的用户会对应着不同的角色，不同的角色会被赋予不同的权限。不同角色的用户登陆会看到不同的界面，也就是意味着可以使用不同的功能。可以使用Spring security或者Shiro,但是Shiro相对于Spring security来说更轻量一些，更容易上手，因此选择了后者。

首先，在Springboot工程的pom文件里添加shiro依赖，如下：


    &amp;lt;depend...]]></description><category></category></item><item><title><![CDATA[Springboot web工程中多数据源配置]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/83537079</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/83537079</guid><author>Rolandcoder</author><pubDate>Tue, 20 Nov 2018 18:14:20 +0800</pubDate><description><![CDATA[在一个web工程中，经常需要访问多个不同的数据源，因此需要进行多数据源配置。以Springboot构建的web工程为例，进行了对数据源的配置。

首先在application-prod.properties文件中定义访问不同数据源的url和账户密码，如下(以两个数据源为例，sqlserver有些差别)：


#要连接的数据源1 db1
spring.datasource.primary.url=j...]]></description><category></category></item><item><title><![CDATA[对List中的对象按照特定属性进行排序]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/83094928</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/83094928</guid><author>Rolandcoder</author><pubDate>Tue, 16 Oct 2018 18:09:17 +0800</pubDate><description><![CDATA[比如，某个List中存储了Student类的对象，比较简单的，我们要对List中的Student类的对象按照他们的年龄排序（升序、降序均有可能）。Collections.sort()方法可以对Integer、String等已经实现Comparable接口的类直接进行排序，但是Student类是原生的，如果直接硬生生的使用Collections.sort(testList)方法，估计就会按照对象的存...]]></description><category></category></item><item><title><![CDATA[SpringBoot+Quartz实现多个定时任务]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/82706711</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/82706711</guid><author>Rolandcoder</author><pubDate>Fri, 14 Sep 2018 18:12:54 +0800</pubDate><description><![CDATA[通过Timer和Spring的scheduler实现定时任务可能会出现一旦定时任务中断后续的定时任务无法正常执行的问题，Quartz能够很好的解决这一问题。

项目使用Maven管理，因此在使用之前需要在pom文件中添加依赖，如下：

    &amp;lt;dependency&amp;gt;
      &amp;lt;groupId&amp;gt;org.quartz-scheduler&amp;lt;/groupId&amp;gt;
 ...]]></description><category></category></item><item><title><![CDATA[文件以及字符串的MD5值计算]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/82666663</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/82666663</guid><author>Rolandcoder</author><pubDate>Wed, 12 Sep 2018 19:14:20 +0800</pubDate><description><![CDATA[对文件进行MD5计算，接收方可以通过计算MD5，检测文件是否被修改。

    //获取文件值的MD5
    public String fileMD5(String inputFile){
        int bufferSize = 256*1024;
        FileInputStream fileInputStream = null;
        DigestInputS...]]></description><category></category></item><item><title><![CDATA[模拟post表单的形式提交文件，同时携带其它的参数]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/82499601</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/82499601</guid><author>Rolandcoder</author><pubDate>Fri, 07 Sep 2018 17:56:25 +0800</pubDate><description><![CDATA[     开发过程中，接入第三方系统的时候，对方要求在文件上传的时候按照form表单的形式使用post请求提交，一开始使用httppost的方式，但是对方一直接收不到数据，而且是全空。当然在这之前我用postman模拟请求是好使的，于是对方给我的建议就是去看postman请求后的code，向下面图片一样的东西。



内心是各种不满，无奈还是要按照人家的来，于是开始各种搜索。万幸，找到了可以用的资...]]></description><category></category></item><item><title><![CDATA[js文件和jsp文件发起请求时绝对路径的获取方式]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/81536493</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/81536493</guid><author>Rolandcoder</author><pubDate>Thu, 09 Aug 2018 14:51:25 +0800</pubDate><description><![CDATA[当工程比较小的时候，之前在本地环境的测试的时候总是使用相对路径，这样如果放在远端的tomcat下进行测试，如果还是要使用相对路径，就需要加上项目名称，这样的话改起来非常的麻烦；而换做绝对路径就不需要做更改。

1.js文件中获取项目绝对路径的方式：

function getRealPath(){
    //获取当前网址，如： http://localhost:8083/myproj/view/...]]></description><category></category></item><item><title><![CDATA[数据库事务特性和隔离级别]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/80953185</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/80953185</guid><author>Rolandcoder</author><pubDate>Sat, 07 Jul 2018 17:52:44 +0800</pubDate><description><![CDATA[思维索引：事务--&amp;gt;隔离级别（事务的I特性）--&amp;gt;存储引擎--&amp;gt;数据库索引的工作原理事务：一般指的是要做的或者所做的事情，在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元，计算机术语中的事务通常指的就是数据库事务。数据库事务的特性：(ACID)（1）原子性 Atomicity：指的是事务包含的操作要么全部成功，要么全部失败回滚；因此事务的操作如果成功就必须完全...]]></description><category></category></item><item><title><![CDATA[&和&&的区别]]></title><link>https://blog.youkuaiyun.com/Rolandcoder/article/details/80664417</link><guid>https://blog.youkuaiyun.com/Rolandcoder/article/details/80664417</guid><author>Rolandcoder</author><pubDate>Tue, 12 Jun 2018 14:13:55 +0800</pubDate><description><![CDATA[&amp;amp;和&amp;amp;&amp;amp;均是逻辑表达式，看到很多文章都会指出&amp;amp;&amp;amp;是短路与，于是自己验证了一下。由于都是逻辑表达式，所以当&amp;amp;和&amp;amp;&amp;amp;的左边的表达式为真时，肯定都会去执行它们右边表达式的真值判断。比如有如下代码：	public static void main(String[] args) {		int i = 1;		if(i == 1 &amp;amp;&amp;am...]]></description><category></category></item></channel></rss>