自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 彻底理解汉诺塔

既然最上面的2个盘子都调用move(2,A,B,C)移开了,那么第3个盘子自然也可以从A--->B了,之后再把放在C上面的2个盘子从C移动到B上就完成了移动上面3个盘子的任务了。这三个步骤就是move(3,A,C,B)所做的事情,因为我们已经证明move(2,A,B,C)和move(2,C,A,B)是可以详细列出移动2个盘子时每步移动的动作的,而中间的A--->B是一步显而易见的移动动作,所以可以确定move(3,A,C,B)是能列出每步的移动动作的。这里需要注意,开始柱,中转柱,目标柱。

2024-09-24 16:42:03 754

原创 Compareable

在Collections.sort()中使用不同:一个参数,默认是Comparable自然排序,二个参数,需要传入Comparator外部排序。排序方法不同:Comparable重写方法compareTo(T o),Comparator重写方法compare(T o1, T o2)应用:目标类实现 Comparable 接口,重写 compareTo(),定义排序规则,就可以直接调用。定制排序: 定义一个单独的对象比较器,继承自Comparator接口,实现compare()方法。

2024-09-06 15:48:27 165

原创 Collections.sort

在排序过程中,Arrays.sort()方法会不断地将数组分割成两半,对这两半进行递归排序,然后将排序好的两半数组进行合并,最终得到一个有序的数组。小于0时,相邻的两个元素o1和o2交换位置。需要注意的是,o1是List中下标较大的那个元素,o2是List中下标较小的那个元素。sort()中有两个参数:一个是List,也就是待排序的列表,还有一个是比较器comparator,比较器决定了集合中元素的排列方式。所以,sort的本质就是利用比较器中的compare方法判断列表中相邻的两个元素是否发生交换。

2024-09-06 11:12:12 262

原创 @ComponentScan注解

在项目的io.mykit.spring.plugins.register.filter包下新建MyTypeFilter,并实现org.springframework.core.type.filter.TypeFilter接口。此时,我们先在MyTypeFilter类中打印出当前正在扫描的类名,如下所示。/*** @author* @description 自定义过滤规则*//*** metadataReader:读取到的当前正在扫描的类的信息。

2024-09-04 15:15:18 1032

原创 @ConditionalOnProperty注解

是Spring Boot框架中的一个条件注解,它主要用于根据应用程序配置文件(如或)中的属性值来控制Bean的创建和加载。以下是对。

2024-09-03 10:53:52 636

原创 关于sorted的Comparator.comparing排序字符串乱序问题解决

日期一直都是错的,调查后发现日期是String类型,而且是2024-05这种格式,没法转换数字,今天在对列表集合进行排序的时候,Comparator.comparing有个列表怎么都不对,需求:先使用日期排序,再使用销量排序。经调查,String字符串是按照。

2024-08-07 14:43:27 475

原创 JDBC详解和相关组件详解

JDBC是java定义的一系列接口,然后由各厂商去实现,java是主导者定制标准,各大厂商去实现 独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。点开mysql-connector-java包->meta-inf->services->java.sql.Driver,会有加载的驱动名称om.mysql.cj.jdbc.Driver。设置参数,下标从1开始。

2023-03-22 15:21:47 321

原创 异常执行顺序-try catch finally return

异常执行顺序

2023-02-06 17:14:14 349

原创 Git 从master拉取代码创建新分支 修改合并到master并删除分支

git操作

2023-01-31 12:54:24 1810

原创 踩坑值int和Integer比较之空指针异常

int与integer的比较大小

2021-12-28 10:55:15 1875

原创 分布式锁Redisson的源码总结--可重入锁篇

最近在看Redisson的源码,用了将近一周的时间终于看完了,现在总结一下比较重要的一些点,如果不够仔细,还请各位指出问题所在,如下是可重入锁的源码1. 创建锁RLock lock = redisson.getLock("mylock");创建的是RedissonLock2. lock.lock()或者lock.lock(1000,TimeUnit.SECONDS);如果传入leasetime也就是上文的1000,则leasetime就是用传入的值,否则默认使用30000ms,也就是3...

2021-06-26 16:47:36 354

转载 Linux如何查看JDK的安装路径

如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查找定位JDK的安装路径?是否有一些局限性呢? 下面总结了一下如何查找JDK安装路径的方法.1:echo $JAVA_HOME使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径[root@localhost ~]# java -versionjava version "1.7.0_65"OpenJDK Runtime Enviro.

2020-07-23 23:48:19 177

原创 windows下配置tomcat的GClog

step1.找到配置文件进入tomcat安装目录的bin文件夹 window下找到catalina.bat(Linux是catalina.sh)配置JAVA_OPTS参数,主要是红色部分。我这里配置的是tomcat目录/log目录下step2.配置文件在set "JAVA_OPTS=%JAVA_OPTS% ……"下添加如下语句(……的意思是可能有别的信息)set "JAVA_OPTS=%JAVA_OPTS% -verbose:gc -XX:+PrintGCDetails -XX:+Prin

2020-06-23 23:29:22 728

原创 配置tomcat psi-probe

step1.新建文件%tomcat_home%/conf/Catalina/localhost/manager.xml内容如下<?xml version="1.0" encoding="UTF-8"><Context privileged="true" antiResourceLocking="false"docBase="${catalina.home}/webapps/manager"><Valve className="org.apac...

2020-06-22 22:55:49 265

转载 Redis 6.0.0 稳定版发布

Redis的作者在博客上宣布:Redis 6.0.0 稳定版发布了。原文地址:http://antirez.com/news/132那么,从RC1到今天,除了稳定之外,还有什么变化呢?1、重新设计了客户端缓存,特别是放弃了caching slot,而只使用key names。2、现在Redis支持这样一种模式:如果用于复制的RDB文件不再有用,它将立即删除。在某些环境中,最好不要...

2020-05-03 12:49:07 335

原创 CentOS6上安装Python3.7“No module named '_ctypes'”问题解决

今天在cenos上安装Python3.7.0的时候,遇到一个问题:在执行make install的时候,总是报ModuleNotFoundError: No module named ‘_ctypes’,后来查了一下,发现基本都一样,都是你抄我的,我抄你的,就是3.7版本用到外部模块_ctypes,需要一个新的包libffi-devel,安装此包之后再执行make&&make in...

2020-02-22 00:25:01 1132 1

转载 JVM内存结构 内存模型 内存对象

JVM内存结构、Java内存模型和Java对象模型,是什么首先,这三个概念是完全不同的三个概念。本文主要目的是对这三个概念加以区分以及做简单的介绍。而这每一个知识点都是又都是比较复杂的。以后会单独写文章做详细介绍。Jvm内存结构我们都知道,Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。其中有些...

2020-02-20 14:47:25 200 1

原创 网址 URL 路径加斜杠“/”和不加的区别

最近群友提了一个问题,爬虫闯关第三关时,发现被爬网址最后不加 /,就出现一直没有正确响应的情况,我打开浏览器的调试模式看了下,发现不加 / 时,地址返回的是 301 MOVED PERMANENTLY,怪不得哦~但是我也发现有些网址结尾带有斜杠,而有的网址后面没有带斜杠,这个斜杠到底是干嘛的?加不加有什么区别呢?又为什么我们在浏览器地址栏上打出一个网址,按回车后地址末尾会自动加上一个反斜杠?...

2019-12-09 14:23:03 7372

原创 new String与toString的区别

今天在学习rabbitmq的时候,消费端转换出的消息总是类描述,查了一下,是因为解析byte的时候用了.toString,应该用new Stringbyte[]字节数组的toString()获得的字符串,和使用new String(byte[]) 构造一个新的字符串。得出的结果不同。Java对象都继承于Object,Object中提供了toString方法,用于简单返回该类的类签名。在Ja...

2019-12-07 23:46:35 433

原创 rabbitMQ重启

重启rabbitmq服务通过两个命令:rabbitmqctl stop:停止rabbitmqrabbitmq-server restart: 重启rabbitmq因为rabbitmqctl是没有restart命令的,所以需要这么两步

2019-12-01 17:47:19 6113

原创 RabbitMQ使用手册中文

原文地址https://blog.csdn.net/csdnzouqi/article/details/78926603

2019-11-30 17:34:04 2836

转载 mybatis IncompleteElementException:Could not find result map java.lang.String

MyBatis项目中在查询数据库时遇到org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.String。原因了把resultType="java.lang.String" 写成了resultMap="java.lang.String" ,就会出错的,注意这是对你整...

2019-09-02 17:20:29 484

转载 TCP的三次握手与四次挥手理解

序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字...

2019-05-18 15:44:57 106

转载 java web项目下的lib和build path 中jar包问题解惑

一、build path&WEB-INFO/lib介绍build path:可以说是引用;WEB-INFO/lib:可以说是固定在一个地方;eclipse编译项目的时候是根据build path的,如果不用eclipse来发布项目的话,就会出现找不到jar,tomcat运行项目首先是在它自己的公共lib里找jar,如果找不到的话就会去项目的WEB-INFO/lib目录找,如果找不...

2019-04-22 12:45:55 1058

原创 sqlplus执行单个sql脚本和批量sql脚本

用PL/SQL在oracle下执行多个SQL脚本的方法:PL/SQL developer----->File------>New---->command window然后在弹出的窗口里依次执行:SQL> @f:\abc\a.sql;SQL> @f:\abc\b.sql;SQL> @f:\abc\c.sql;SQL*Plus 中执行多个*.sql脚本文...

2019-04-20 11:07:15 6713

原创 NIO使用总结

服务端创建关键步骤1) 创建服务端启动类对象(ServerBootstrap)2) 设置线程组(Boss 线程组和 Worker 线程组)3) 设置服务端 channel 对象(NioServerSocketChannel)4) 设置 ChanelHandler 对象5) 绑定并启动端口监听(等待客户端链接)2. 服务端代码实现代码如下:创建事件服务器public class ...

2019-03-20 17:37:40 124

转载 一致性哈希算法(consistent hashing)的理解

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1、平衡性(Balan...

2019-03-16 22:34:04 106

转载 关于jar包add to build path与放入lib下的区别

一、add to build path比如某A.jar放在C盘,而你的classpath设置的是D盘的某些路径,如果你将A.jar包add to build to path,实际上是额外增加了一个对C盘这个jar包路径的引用,A.jar的物理路径没有发生改变。另外,这里引入的只是我们编译用到的jar包。二、将jar包放入lib下这时是指A.jar真实的放在了webroot下的lib文件...

2019-02-28 11:04:39 862

转载 类(型)的生命周期--装载、连接、初始化、卸载

Java虚拟机通过装载、连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用。 1.       装载 装载阶段包括三个基本动作: a)         通过该类型的完全限定名,产生一个代表该类型的二进制数据流。b)         解析这个二进制数据流为方法区的内部数据结构(方法区)c)         创建一个表示该类型的java.lang....

2018-12-03 15:54:19 205

原创 java中static详解

今天在看《Thinking in Java》时,看到文章介绍静态。就想再深入钻研一下,记几个注意事项:首先,static 是Java中的一个关键字,我们不能声明普通外层类或者包为静态的1.静态变量:静态变量是属于类的,而不是属于类创建的对象或实例(当然,类对象实例也可以调用静态变量,效果和直接类.变量一样)。因为静态变量被类的所有实例共用,所以非线程安全的。通常静态变量还和关键字fin...

2018-12-03 11:38:26 187

转载 Eclipse中maven项目目录 Java Resources 和src区别

使用maven管理java web项目时,我们往往会被eclipse上展示的目录结构所迷惑,明明有个Java Resources包,为啥又冒出个src文件夹呢?我们先看看整体的目录结构:经过对比,可以发现src下多了一个webapp文件夹,这个文件夹里存放着项目所有页面资源。项目右键&gt;Properties&gt;Deployment Assembly。可以看到src/ma...

2018-11-11 22:35:55 4324

原创 数据结构--树基本概念

树是一种非线性的数据结构,是由n(n &gt;=0)个结点组成的有限集合。n=0时称为空树(1)每个元素称为结点(node);(2)有一个特定的结点被称为根结点或树根(root)。(3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,……Tm-1,其中每一个集合Ti(1&lt;=i&lt;=m)本身也是一棵树,被称作原树的子树(subtree)。节点的度:一...

2018-10-25 17:38:15 181

原创 算法之快速排序

快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成。所以快速排序算法的核心算法是分区操作,即如何调整基准的位...

2018-10-24 17:07:28 95

原创 算法之数组模拟堆

一直对堆栈的理解是先进先出和先进后出,今天试着模拟了一下堆的处理代码如下:public class StackTest {    public int start=0;    public int end=-1;    public int count=0;    private int[] arr;    public StackTest() {        arr=new i...

2018-10-19 21:58:25 405

原创 算法之数组模拟栈

一直对堆栈的理解是先进先出和先进后出,今天试着模拟了一下栈的处理代码如下:public class ObjectImitateSteak {    public int position=-1;    public Object[] arr;        public ObjectImitateSteak() {        arr=new Object[10];    } ...

2018-10-19 17:14:54 217

原创 算法之基本排序 选择排序,冒泡排序,插入排序

一直想重温一下有关算法的内容,这几天项目上线,有时间看点东西,整理一下第一部分,三种基本排序 1冒泡排序 (1)原理:  1、从第一个数据开始,与第二个数据相比较,如果第二个数据小于第一个数据,则交换两个数据的位置。  2、指针由第一个数据移向第二个数据,第二个数据与第三个数据相比较,如果第三个数据小于第二个数据,则交换两个数据的位置。  3、依此类推,完成第一轮排序。第一...

2018-10-14 22:45:17 148

转载 解决:Failure to transfer org.apache.maven.plugins:maven-jar-plugin:pom:2.4 from错误

在使用Maven时出现以下错误: Failure to transfer org.apache.maven.plugins:maven-jar-plugin:pom:2.4 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted ...

2018-07-04 12:51:38 891

转载 JS作用域作用域链详解

变量作用域在JavaScript中全局变量的作用域比较简单,它的作用域是全局的,在代码的任何地方都是有定义的。然而函数的参数和局部变量只在函数体内有定义。另外局部变量的优先级要高于同名的全局变量,也就是说当局部变量与全局变量重名时,局部变量会覆盖全局变量(如下面例子)。 var num = 1; //声明一个全局变量 function func() {   ...

2018-05-31 14:13:17 113

原创 淘宝标题效果

淘宝标题 固定大小 浏览器缩小的时候,两边空白会缩小,缩小到一定程度,中间标题才会缩小 &lt;div id='divpad'&gt;&lt;/div&gt; &lt;div id='divwapper'&gt; &lt;div id='divcontext'&gt;&lt;/div&gt; &lt;/div&gt; #divwapper{ height:50px; background-c...

2018-05-31 14:12:37 210

原创 java中流总体整理

前一段时间看了一下Java中流的概念,整理一下流根据输入方向的不同分为输入流,输出流根据处理单位的不同分为字节流,字符流根据作用不同分为节点流,处理流一般情况下是根据作用不同做区分:节点流: ByteArrayInputStream,CharArrayReader(对应的ByteArrayOutputStream和CharArrayWriter,以下省略)               FileIn...

2018-05-31 11:04:30 314

空空如也

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

TA关注的人

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