自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好吃的爆米花

不积跬步,无以至千里。不积小流,无以成江海。

  • 博客(104)
  • 收藏
  • 关注

原创 【数据结构】求字符串类型数学表达式的值

文章目录一、前言二、问题三、餐前开胃四、源码地址五、思路:1、数字栈需要注意的问题2、符号栈需要注意的问题六、流程图七、核心代码八、总结一、前言最近在开发中遇到一个场景,用户输入一个字符串,这个字符串是一个数学计算式,让求出计算的结果久闻大佬们经常提起,可以利用栈将一个字符串形式的数学表达式,计算得出最终的结果,于是乎,小编利用自己的一把头发,终于将其实现了出来。二、问题计算器这个东西,相信不管是女士们,先生们,老人,孩子,还是叔叔大爷应该都有听过,都见过,都用过,大家可能会有下面这些问题:

2021-07-21 17:17:31 1091 2

原创 今天被redis的ERR no such key狠狠的教育了

案发现场今天做项目,使用rename的时候报了个错org.springframework.dao.InvalidDataAccessApiUsageException: ERR no such key. channel: [id: 0xf40bda08, L:/172.31.60.56:38338 - R:172.31.8.94/172.31.8.94:6379] command: (RENAME), params: [[123, 99, 111, 110, 118, 58, 108, 105, 115

2022-05-24 09:56:42 3560 3

原创 【redis系列】数据类型的根源-redisObject

文章目录前言redis类型的根源redisObject对象type属性encoding属性例:set的encodinglru属性refcount属性*ptr属性总结参考资料:前言redis相信每一个java伙伴都知道,但是我相信有一部分大佬已经对redis的使用以及底层实现已经烂熟于心,但是有些java伙伴可能还是停留在使用阶段,至于redis那么多数据类型,底层是怎么样的数据结构,以及实现方式还不是很了解,恰好,笔者最近正在研究这方便,希望精通的大佬,看看我阐述的有没有错误,不明白的小伙伴一起坐下来一

2021-09-18 10:42:06 323 2

原创 【数据结构】如何用单链表实现栈?

文章目录一、前言二、源码下载:持续更新中三、什么是栈?三、链表节点四、栈结构的定义五、栈空判断六、栈满判断七、入栈push(int value) 实现八、出栈pop()实现九、栈的打印(单向链表的逆序打印)一、前言工作之余,学习一下数据结构与算法,今天学习数据结构:“栈”。相信各位帅气的程序员对这个栈是相当的熟悉。但是笔者就总有一个臭毛病:一看就会,一写就拉稀。所以今天小编就自己动手亲自用单向链表实现“栈”二、源码下载:持续更新中https://gitee.com/sunshineAndD

2021-07-20 16:03:48 5610 6

原创 【数据结构】应用循环链表解决约瑟夫问题(无头节点)

什么是约瑟夫问题?首先我们先看个故事:据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉

2021-07-19 20:49:43 991 4

原创 【数据结构】实现:合并两个升序的单链表,合并之后的链表后依旧有序

最近学习数据结构的算法的过程中,遇到了一个题,然后视频讲解的老师并没有给出答案(可能是我没找到),于是我就自己动手实现了一波。如有问题,请大家支点核心思路校验两个链表的长度,如果都为null,直接返回如果链表1或者链表2中有一个链表的节点的next==null如果链表1节点的next为null,则之间将链表2的节点加入到返回结果的链表中如果链表2节点的next为null,则之间将链表1的节点加入到返回结果的链表中如果链表1的节点的next和链表2节点的next都不是null对比两个节

2021-07-05 11:40:29 720 2

原创 【数据结构】循环数组实现队列--慢慢学数据结构

循环数组来实现队列来了虽然只有代码,但是注释很详细,如有问题,欢迎评论留言,指点。package com.atguigu.queue;import java.util.Scanner;/** * @Description * @Author Flag * @Date: 2021/7/4 9:31 * @Version: 1.0 **/public class CircleArrayQueueDome { public static void main(String[] ar

2021-07-04 11:03:46 161 2

原创 【数据结构】数组实现队列--简单易懂

数组实现队列,此时的队列只能使用一次,下一篇文章,将使用循环数组来实现队列虽然只有代码,但是注释很详细,如有问题,欢迎评论留言,指点。package com.atguigu.queue;import java.util.Scanner;/** * @Description 使用数组模拟队列 * @Author Flag * @Date: 2021/7/3 20:03 * @Version: 1.0 **/public class ArrqyQueueDome { publi

2021-07-04 11:01:38 165 1

原创 mybatisplus-乐观锁失效可能的因素

建表sqlCREATE TABLE `tbl_dept` ( `dept_id` int(11) NOT NULL AUTO_INCREMENT, `dept_name` varchar(255) NOT NULL, `version` int(255) DEFAULT NULL, `number` int(255) DEFAULT NULL, PRIMARY KEY (`dept_id`)) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARS

2021-06-08 16:29:13 1822 1

原创 idea启动报错:Internal error java.net.BindException:Address already inu use:bind

报错原图:idea启动时报错,是启动的时候解决方案:原文链接翻译:要锁定IDE在本地主机上启动服务器的文件夹,它会尝试在6942到6991之间的第一个可用端口上进行绑定,如果IDE不能在这个范围内的任何端口上进行绑定,则会抛出此异常。机器上不可能已经使用了所有50个端口,所以这似乎是一个网络问题,或者是某些安全软件不允许IDE绑定到这个范围内的任何端口,即使是在本地主机接口上。在Windows上,“netsh winsock重置”在管理员控制台中,后面跟着重启应该会有帮助。同时尝试禁用防

2021-01-03 09:35:24 935 13

原创 NoClassDefFoundError: org/openjdk/jol/info/ClassLayout

NoClassDefFoundError: org/openjdk/jol/info/ClassLayout版本:案发现场:解决方案:选择合适的jar包将Jar包放到项目中新建一个lib文件夹将刚刚下载好的jar包放进入选中jar,将其添加为依赖删除我们一开始在pom中的依赖总结:致谢:版本:Java 1.8工程类型:Maven工程案发现场:今天研究对象头的时候,想看看对象头MarkWord的内容,于是乎出现了一个错误,如图·Exception in thread "main" java.l

2020-12-29 11:05:32 4525 21

原创 mybatis返回集合对象包含List<String>-----亲测可用,欢迎尝试

需求:笔者最近遇到一个需求:一个团队对应多个人,一个人只能有一个团队根据团队的成绩的降序,查询出这个团队的信息,和这个团队中每个人的名字。分析:首先:需要查询出每个人团队的信息其次:查询出每个团队对应的用户名所以返回结果应该是返回一个List,List中每一个对象就是数据库表:(数据库表只显示了部分必要字段)团队表CREATE TABLE `team` ( `id` varchar(255) NOT NULL COMMENT '雪花算法,id', `team_

2020-11-03 16:35:12 7104 25

原创 centos7报错:-bash: bc: 未找到命令

一行命令:yum -y install bc结果[root@localhost ~]# yum -y install bc已加载插件:fastestmirrorDetermining fastest mirrors * centos-sclo-rh: mirrors.aliyun.com * centos-sclo-sclo: mirrors.aliyun.combase

2020-11-02 20:42:50 2758 5

原创 SpringBoot实现热部署你会吗?

相信每一个Java程序员都知道SpringBoot这个框架,但是在调试的过程中,频繁的重启是非常消耗时间的,那么我们就有引入热部署这个功能,来解决这个问题。环境Java版本:java version “1.8.0_221”SpringBoot版本:v2.3.5.RELEASEIDE版本:IntelliJ IDEA 2019.2.3需要引入依赖1.引入依赖 <dependency> <groupId>org.springframework.boot&l.

2020-10-31 10:23:29 898 8

原创 Has been loaded by XML or SqlProvider, ignoring the injection of the SQL.

package com.baomidou.mybatisplus.core.mapper

2020-10-28 15:29:20 4320 6

原创 2020-1024等于什么?

程序员节日程序员可能已经习惯了996的生活:每天清晨,迎着朝阳挤一挤早高峰的地铁快到中午熟练着切换这美团外卖、饿了吗等各种点餐软件中午,吃完外卖,趴在桌子上休息一会下午上班,一顿猛干,等待未知数下班时间可能是晚上9点也可能是晚上11点更有可能是在早晨太阳睡醒的时候,我们下班了。其实程序员挺难的,但是我们既然选择了这条路,我们就要坚持下去,北上广深,虽然生活在这种超一线城市是非常辛苦的,但是机遇也会有很多:在北上广深圳,现在可能是5千,十年后,可能挣5000万,.

2020-10-24 09:00:50 1533 9

原创 java8的stream实现分页查询【附带排序,看不懂你找我】

需求描述今天遇到一个需求,做一个排行榜,要求是:用给定的一个时间段中,每个人最好的成绩,进行比较,然后做分页。所以这里就需要再service层自己做分页了。代码 /** * @param pageNo 页码 * @param pageSize 每页数量 */ @Override public List<GroupRankingListModel> selectGroupRankingList(Integer pageNo, Integer p

2020-10-20 23:05:52 3139 11

原创 自考总结

今天刚刚结束了第六次的自考,这次考试考得C++和英语。我的自考路回想从2018年初开始自考,到现在已经快三年了,前五次考试一共通过了11科自考,相信自己再有一年的时间,就可以取得自考的毕业,虽然在三年的过程中,也过了几科,但是总体来说还会还是不错的。第六次自考回想一下这次自考,一共两门,c++去年考过一次,虽然没有考过,只是考了59分,今年可以+5分,并且因为C++和我掌握的Java非常像,所以学习起来,也没有费什么力气,只是看了几遍书,刷了十几套题。第二门就是英语,第一次错英语题的时候,发现还挺

2020-10-19 14:44:23 351 9

原创 自考总结

截至到中午11点整,踏出了自考的考场,我的第二次自考结束了,这次自考让我完成了一次完美的蜕变!考前这次自考,我多次想过放弃,因为对于背诵这项技能,我实在是不太擅长,所以导致最后的我多次向放弃,但是直到最后,我还是慢慢煎熬,度过了考试前的那几天。当然,自己初期就已经想好,因为自己付出的努力不够多,所以最后的结果不美好也是应该的。考试ing因为自己本身就没怎么背,所以考网管的时候,自己就做好了...

2020-09-30 15:13:07 436 15

原创 RedisDesktopManager连接Linux中的Redis

案发现场:今天早晨用RedisDesktopManager连接Redis失败,发现连接不上,历经了千辛万苦,终于找到了问题所在。机器配置:1.查看安装RedisDesktopManager的机器是否能ping通Redis的机器。注:我的redis的机器的地址是:192.168.56.104如何查看安装Redis机器的地址呢?因为Linux会有很多个网卡,需要找到和自己虚拟机连接的网卡的ip地址。最简单的方式就是在Linux中输入命令ip addr 然后把所有的ip地址都ping一遍。命令

2020-09-28 19:49:22 1831 11

原创 java.sql.SQLException: The server time zone value ‘�й���׼ʱ��‘ is unrecognized or

在SpringBoot整合Mybaits测试的时候需要了这个问题。详细报错如下:我的配置文件:#配置数据源信息spring.datasource.url=jdbc:mysql://localhost:3306/spring-cachespring.datasource.username=rootspring.datasource.password=adminspring.datasource.driver-class-name=com.mysql.jdbc.Driverorg.mybatis

2020-09-27 11:15:01 319 8

原创 瞅一眼就能手写快速排序

面试官:手写一个快速排序。我:懵逼 ,我不会。。没事,如果你觉得你也不会,没事继续看下去,动手写一写,你也可以轻松解决。了解他什么是快速排序?快速排序(英语:Quicksort),又称分区交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序{\displaystyle n}n个项目要{\displaystyle \ O(n\log n)}{\displaystyle \ O(n\log n)}(大O符号)次比较。在最坏状况下

2020-09-14 19:18:39 579 13

原创 【SprintBoot】以HttpEncodingAutoConfiguration为例,深度分析自动装配

文章目录@Configuration(proxyBeanMethods = false)@EnableConfigurationProperties(ServerProperties.class)@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)@ConditionalOnClass(CharacterEncodingFilter.class)@ConditionalOnProperty(prefix =

2020-08-20 10:58:17 392 5

原创 【SpringBoot】一步一步走进源码,看一看我们眼中的自动配置

文章目录问一个问题:SpringBoot为啥不需要像SSM那样需要繁琐的配置?@SpringBootApplication@EnableAutoConfiguration@Import(AutoConfigurationImportSelector.class)如果读者没心情看,可以直接点到这里。以HttpEncodingAutoConfiguration为例,解析自动配置原理。问一个问题:SpringBoot为啥不需要像SSM那样需要繁琐的配置?默认大于配置 是不是在你脑海中出现了这六个字,那么你知道

2020-08-19 21:24:00 268 4

原创 【SpringBoot】@ConfigurationProperties和@Value

文章目录@ConfigurationProperties@Value比较@ConfigurationProperties告诉SpringBoot将本类中的所有属性和配置文件相关的配置进行绑定。属性值: prefix = “person”:配置文件中哪个下面的所有属性进行一一映射例子:@Component@ConfigurationProperties(prefix = "person")public class Person { private String lastName;

2020-08-18 19:49:57 369 5

原创 jsp引入文件报错404

文章目录基础环境“车祸现场”一、SpringMVC配置文件要加的配置二、相对路径与绝对路径1.什么是相对路径?什么是绝对路径?2.JavaWeb中的相对路径和绝对路径三、经过多次检查,发现依旧有问题博客推荐:今天在项目中,写一个jsp页面,遇到了一大堆坑,今天给大家分享一下,以免导致其他人也掉进去。基础环境框架SpringMVC+Spring+MybatisJDK版本:1.8Maven工程“车祸现场”今天做的jsp页面,我使用的是bootstrap,所以引入了一些依赖,然后写它的路径,一开

2020-08-07 21:43:25 1108 8

原创 java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig

报错详解:java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig at org.springframework.test.context.web.AbstractGenericWebContextLoader.configureWebResources(AbstractGenericWebContextLoader.java:201) at org.springframework.test.context.web.Abstra

2020-07-29 19:41:58 508 3

原创 【Java集合篇】jdk8的HashMap源码分析

文章目录前言:Java7的HashMap链接:一.HashMap底层是怎么存储的?Entry是什么?1.Node是什么(JDK7中的Entry)?2.默认大小:3.为什么Java8的HashMap是数组+链表+红黑树?二、构造器1.调用无参构造器,底层table实例化了吗?2.调用有参构造器,底层table实例化了吗?3.总结三、put方法:底层数组的实例化,就在这里啊!!!!1.调用无参构造器后,第一次调用put方法2.何时采用红黑树?四.jdk8中的几个重要的常量五.jdk7到jdk8为什么要进行修改?

2020-07-13 17:33:23 467 5

原创 【Java集合篇】jdk7的HashMap源码分析

文章目录前言:一.HashMap底层是怎么存储的?Entry是什么?1.默认大小:2.Entry是什么?3.为什么Java7的HashMap是数组+链表二、构造器1.调用无参构造器,底层数组长度是多少?2.调用一个参数的构造器,指定长度为15,底层数组长度是15吗?3.核心构造器,答案就在其中。。4.总结三、put方法1.put方法流程图:2.为什么HashMap可以添加null元素?(强烈建议从put方法开始阅读)3.为什么HashMap中的元素一定要重写hashCode()和equals()?(强烈建议

2020-07-11 10:08:51 690 7

原创 【Java集合篇】对比JDK7和8深度剖析ArrayList(只要看,就能懂)

前言:如果作为java开发工程师,大家都使用过List的主要实现类ArrayList,那么你真的懂他吗?1.ArrayList是单列的、存储有序的、可重复的、线程不安全的,但是你知道为什么吗?2.是不是感觉ArrayList与数组非常相似? 那么为什么ArrayList不会下标越界呢?那ArrayList底层做了什么呢?3.如题:从java7到java8进行了哪些迭代?为什么要这样做?java8的ArrayList是什么样子的?java7的ArrayList是什么样子的?4

2020-07-05 20:29:42 1429 9

原创 【Java集合篇】初认集合

文章目录继承图Collection接口简介修改增加删除查询长度判断遍历转换特殊的equals()和hashCode()java8的Stream流的方法总结:源码:IterableCollection本文只是对后续文章的引入,后续会详细的解析主要实现类的源码以及在不同版本中的变化与区别。继承图Collection接口简介因为Collection是Iterable的子接口,且是List、Queue和Set的父接口。问题:为什么collection接口,仅仅定义了一部分方法,并且还没有修改的方法?

2020-07-03 11:55:21 337 3

原创 java.io.IOException: Could not find resource mybatis-config.xml

我的环境配置javaSE+mybatis,没有使用maven。报错图示:解决办法:原因:我的原因是,我把mybaits-config.xml配置文件放到conf文件夹中,编译器并不知道需要编译这里,所以找不到。检查自己的配置文件的名字和自己在程序中指定的名字是否一致?...

2020-06-04 16:13:12 1080 1

原创 maven项目没有package选项

今天用maven新建了一个项目,然后发现在src\main\java下想创建一个package,但是发现并没有package的选项。看图:解决办法:右键java文件夹,然后点击Mark Directory As->Sources Root关于该目录下,各个选项的含义,笔者找到了一篇非常好的文章,欢迎大家查看。Idea Mark Directory as 下的文件夹分别代表的含义...

2020-05-26 17:00:40 4202 4

原创 谷歌刷新正常,火狐ie刷新没变化

问题背景:在开发中,为了避免表单的重复提交,使用了验证码,但是在做单机验证码切换功能时,发现谷歌浏览器单机每次都可刷新验证码的图片,但是火狐浏览器和IE浏览器,就仅仅的能刷新一次。原因:因为浏览器为了提高请求的速度,每次请求的内容会缓存到浏览器端。而再次请求,浏览器会直接从缓存中寻找,然后返回,所以每次刷新图片,请求的确是发送,但是图片并没有更换。分析:因为缓存的名称由请求最后的资源名和参数名组成,如果你发送的两次请求,最后的资源名和参数名相同,那么浏览器会在缓存中匹配成功,并且给你返回缓存的内容

2020-05-24 20:56:53 467 6

原创 No All Pattern Found!File Already Patched?

场景还原激活navicate出现下图场景,(小编已经遇到了n次),这次总结一下,记录下来,分享出去,帮助更多的人。解决方法:步骤一:删除注册表中的部分信息1.快捷键win+r命令,然后输入regedit2.点击确定,找到如下目录:计算机\HKEY_CURRENT_USER\Software\PremiumSoft在上一张的Software的目录下,找到PremiumSoft。3.我是把该目录下除了Datat的数据都删除了。注意:Navicat中存储的是你之前使用Navicat创建的连

2020-05-13 09:29:13 108338 94

原创 Error running ‘book’: Address localhost:1099 is already is user

出现的问题原图:解决方法:Windows+R,输入CMD命令,然后输入如下的命令netstat -aon | findstr 1099出现上图后,输入下图命令,注意:命令后面的21604要是上图红框中数字一致。taskkill -f -pid 21604发生问题的场景:IDEA集成Tomcat时,正在运行程序,此时我的IDEA突然闪退,然后再次打开IDEA就出现了文中开头的提示。个人间接因为闪退后,并没有关闭后台的程序,导致再次启动的时候,端口被占用,所以杀死旧的程序,新的就可以

2020-05-09 16:39:45 405 5

原创 java中String、StringBuffer、StringBuilder附源码

相同点:三者底层都是采用的char[](char 数组)及逆行存储。String下图来自于:JDK8中String类的源码StringBuffer下图来自于:JDK8中StringBuffer类的源码。StringBuilder下图来自于:JDK8中StringBuilder类的源码。通过发现,我们能看出StringBuilder和StringBuffer他们都继承于同一个父...

2020-04-19 21:14:07 370 6

原创 java多线程的四种方式

1、实现Runnable接口1、创建一个实现Runnable接口的类2、实现类去实现Runnable中的抽象方法:run()3、创建实现类的对象4、将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象5、通过Thread类的对象调用start()//1、创建一个实现Runnable接口的类class MThread implements Runnable{...

2020-04-07 19:43:04 366 6

原创 数组与集合的转换

在开发场景中,有的时候很多场景需要数组和集合之间的互相转换。那么大家就一起看看怎么处理这个问题?集合–>数组@Testpublic void test1(){ Collection coll=new ArrayList(); coll.add(123); coll.add(456); coll.add(new String("Tom"); coll.add(false);...

2020-02-24 18:01:24 337 9

原创 java定义枚举

在Java中,枚举的定义有两种方法:方式一:JDK5.0之前,自定义枚举类方式二:JDK5.0时,可以使用enum关键字定义枚举类例如:举例定义一个季节,包含春夏秋冬,以及每个季节的描述。方式一://自定义枚举类class Season{ //1、声明Season对象的属性 private final String SeasonName; private fi...

2020-02-10 11:29:59 489 7

空空如也

空空如也

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

TA关注的人

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