自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 收藏
  • 关注

原创 进制转换,写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。 数据范围:保证结果在 1≤n≤2的31次方-1

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1≤n≤2的31次方-1。

2023-12-24 23:06:12 511

原创 明明的随机数 明明生成了 N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。 数据范围: 1≤n≤100

明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1≤n≤1000 ,输入的数字大小满足 1≤val≤500。

2023-12-24 23:03:29 319

原创 1. 汽水瓶 某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。 小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。 数据范围:输入的正整数满足 1 ≤ �

某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。数据范围:输入的正整数满足 1≤n≤100。

2023-12-24 23:00:33 745

原创 为什么不同服务器ping同一个域名得到的ip都不一样

一些DNS服务商(如DNSPOD)提供了智能DNS解析服务,可以根据用户的地理位置或网络条件返回最优的服务器IP地址。如果该域名使用了CDN服务,当用户请求到达时,CDN会根据网络状况和服务器负载情况将请求转发到最近或者最适合的边缘节点,这些边缘节点通常具有不同的IP地址。如果该域名指向的是云服务上的实例,这些实例的公网IP地址可能不是固定的,而是动态分配的。不同的ISP可能有不同的DNS解析策略,例如他们可能会对某些域名进行本地缓存或者重定向,这可能导致从不同ISP的服务器上看到不同的IP地址。

2023-12-23 18:10:53 3714

原创 修改 jar 包中的源码方式

在我们开发的过程中,我们有时候想要修改jar中的代码,方便我们调试或或者作为生产代码打包上线,但是在IDEA中,jar包中的文件都是read-only(只读模式)。6.如果不想在工程中显示创建一个同名类,想要直接修改 jar 包中的代码的话,可以对新修改的同名类进行编译生成 .class 文件。4.debug项目,在该类中打上断点,可以看到代码执行时会进入这个新的类中,说明走的是改后的代码。2.找到jar中你想要修改的类,在自己的工程目录下,创建一个同该类一样的包(package)。

2023-11-15 13:56:37 3282

原创 遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解

在这里,迭代ArrayList的Iterator中有一个变量expectedModCount,该变量会初始化和modCount相等,但如果接下来对集合进行修改,modCount改变,就会造成expectedModCount!CopyOnWriteArrayList也是一个线程安全的ArrayList,其实现原理在于,每次add或remove等所有的操作都是重新创建一个新的数组,再把引用指向新的数组。方法一:迭代前加锁,解决了多线程问题,但还是不能进行迭代add、clear等操作。

2023-11-09 15:00:09 1219

原创 ORA-00257: Archiver error. Connect AS SYSDBA only until resolved错误解决

5、退出数据库命令后,进入/orc/app/oracle/fast_recovery_area/orcl/ORCL/archivelog文件夹下保留最近日期的一个文件夹,删除其他的文件夹。4、关闭归档日志:alter database noarchivelog;5、修改数据库模式:alter database archivelog;6、查看归档日志是否关闭:archive log list;7、查看归档日志是否开启:archive log list;3、关闭数据库:shutdown immediate;

2023-11-08 17:01:34 6864

原创 writer.flush(bos,true);与writer.flush(bos);的区别

方法会将当前行的数据写入缓冲区中,并立即将数据写入输出流中。这样可以确保数据的完整性,但是可能会增加写入输出流的次数,降低写入效率。方法只会将当前行的数据写入缓冲区中,而不会立即将数据写入输出流中。这样可以减少写入输出流的次数,提高写入效率。如果您需要更好的数据完整性,可以使用。因此,如果您需要更高的写入效率,可以使用。对象的流,但是它们有一个不同的参数。

2023-09-18 16:25:52 619

原创 帆软报表执行sql报SQL command not properly ended

3.是否在SQL的最后有分号存在,如果有需要去掉,这点是比较坑的,因为SQL最后加分号在oracle数据库中是能够执行的,但是在帆软这边是不能正常执行的。1.是否在SQL在有逗号忘记加了。

2023-09-07 09:48:15 1680

原创 RabbitMQ启动服务报错1067解决方案

4. 如上述无效 ,请尝试 rabbitmq-service remove命令移除RabbitMQ服务,然后rabbitmq-service install安装服务后,再次使用rabbitmq-service start启动服务。正确下载安装,且配置完成环境变量,可在命令行键入erl,若显示erlang版本则说明环境变量配置成功。2. 检查erlang和rabbitmq版本是否匹配,不匹配去下载相应版本。此电脑 -> 属性 -> 重命名这台电脑 -> 重启。3. 将安装目录中的空格去除,中文换成英文。

2023-08-16 11:06:49 2673 1

原创 Your idea evaluation has expired. Your session will be limited to 30 minutes.Ideal打开出现这种提示

2.Help — — > Register,选择 License server方式,地址填入:http://jetbrains-license-server;4.再把刚刚填到框里的 http://jetbrains-license-server 替换成 http://fls.jetbrains-agent.com;3.点击 Test Connection 和 Activate,中途好像说没有找到还是什么的,我没有理会就直接下步操作了;我使用的IDEA 是2020.1.1的版本,之前也是用了破解包。

2023-07-11 09:23:01 5481 5

原创 springboot中对mybatis plus的简单使用

(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

2023-07-11 09:12:23 250

原创 模板方法案例

模板方法模式的核心思想是将算法框架定义在父类中,具体步骤的实现延迟到子类中。通过这种方式,模板方法模式提供了一种灵活的方式来定义算法的骨架,并允许子类根据自身需求进行定制化的实现。其中,具体步骤由子类实现的抽象方法提供。模板方法模式是一种行为设计模式,用于定义一个算法的框架,同时允许子类在不改变算法结构的情况下重新定义某些步骤。模板类定义了一个算法的框架,其中包含了一组方法和流程的步骤,其中某些步骤可能是抽象的(待子类实现)。子类继承模板类,并实现其中的抽象方法,以提供算法框架中具体的步骤实现。

2023-07-04 17:18:43 315

原创 Spring中的策略模式

总结起来,策略模式在Spring中的应用使得我们可以灵活地切换和组合不同的行为,而不需要修改使用这些行为的类。在使用策略的类中,通过调用注入的策略类的方法,来实现具体的算法逻辑。这样,在运行时可以动态地替换策略类,从而实现不同的行为。在Spring的配置文件中,使用依赖注入(DI)的方式将策略类注入到需要使用策略的类中。方法来进行支付操作。当需要替换策略时,可以通过配置文件中的DI来注入不同的策略类。创建多个实现策略接口的类,每个类实现了策略接口中的方法,以提供不同的实现。在使用策略的地方,通过调用。

2023-07-04 17:12:25 1398

原创 boolean match = casNo.matches(“\\d+-\\d+-\\d+$“);代码存在安全漏洞,应该如何修改

上述修改中,使用Pattern类的compile()方法编译正则表达式,并通过matcher()方法创建Matcher对象,然后调用matches()方法对输入的字符串进行验证。如果你可能在输入中接受任意符号,则此处 casNo.matches(“\d±\d±\d+$”) 存在安全漏洞,因为这个正则表达式只允许短横线,但是攻击者可以尝试其他符号,这可能导致正则表达式的绕过或解析错误。为此,我们建议使用Java自带的Pattern类对正则表达式进行编译并在运行时执行错误处理,以提高安全性。

2023-05-29 13:13:19 242

原创 idea集成Yapi插件具体流程

配置信息如下根据项目自身进行修改(IP和端口我这里弄的本地,你可以根据yapi上项目指定的IP和端口进行配置)所有都配置好了以后重启idea 右键点击controller接口生成对应的接口文档。projectToken配置去Yapi上找到tokenp配置,将其复制进去。找到项目中的 idea文件位置 配置 Yapi 相关配置。在这边出现了Yapi的插件,表示插入成功。projectId 配置。

2023-05-15 11:17:53 1486 2

原创 在项目中遇到特殊的空格--ASCII码值160

今天遇到一个问题,从邮箱从获取字符串形式的报文后,拿带有空格的英文船名去数据库中取数据,一直取的是空的,因为空格是不可见字符,所以开始的时候一直以为是数据库中没有数据,但是查看数据库后,发现数据库中是有数据的,所以肯定是英文船名哪里出了问题,后来将不见字符进行显示时发现,数据库中和我们平和空格键生成的空格ASCII是32,但是还有一种特殊的空格-不可间断空格的ASCII是160,这也就是我为什么一直查询为空的原因。我们可以利用不间断空格的Unicode编码来移除它,其编码为\u00A0。

2023-04-08 15:41:23 292

原创 PL/SQL Developer30天过期问题解决

2.指令输入完毕后,按回车键,会进入这个界面。然后,在注册表里按HKEY_CURRENT_USER\Software\Allround Automations 这个路径找到“Allround Automations ”,然后删除它。3.删除上一步中的后,在找到HKEY_CURRENT_USER\Software\Microsoft\Security,删除“Security”。4.关闭注册表,在重新登陆PL/SQL Developer,就能继续使用30天了。

2023-04-03 15:49:57 1617

原创 前端时间格式2023-03-18T22:42:48.000+00:00 转化成正常格式

注意如果是在编辑页面进行回显示修改,注意前后端的时间类型要一致,比如:date和datetime,他们两个的时间精度是不同的,date找到年月日,datetime精度到年月日时分秒,也就是两个的日期类型不一致,如果前端是date,后端是datetime,修改时就会报类型错误,这个根据自己的需求去改就好了。加上之后在前端就能看到时间显示为2023-03-18 22:42:48。前端显示:2023-03-18T22:42:48.000+00:00。在前端传入参数后做转换。

2023-03-25 16:00:39 7518

原创 数据库表结构的设计技巧及注意事项

主键与外键的设计,在全局数据库的设计中,占有重要地位。提倡“三少”原则的目的,是防止读者利用打补丁技术,不断地对数据库进行增删改,使企业数据库变成了随意设计数据库表的“垃圾堆”,或数据库表的“大杂院”,最后造成数据库中的基本表、代码表、中间表、临时表杂乱无章,不计其数,导致企事业单位的信息系统无法维护而瘫痪。8.数据库中应建立这样一个表,就是数据库本身的字段信息,表的说明,也就是数据库设计文档的一个表,方便查询使用,有什么不明的可以直接从数据库查询,数据库文档丢失,注释丢失,都可以重新起作用。

2023-02-09 10:58:26 1921

原创 idea查看远程日志控制台乱码解决方案

1.检查你的本地编码是否是utf-8,在settings->Editor->File Encodings。5.在help中找到Edit Custom VM Options.. ,然后在该文件的最后加上。3.控制输出是否为utf-8,如下图中红线所示。2.检查你的远程服务连接的配置是否是utf-8。如果还是不行的话,进行第五步。然后重启idea,就可以了。

2023-02-07 15:30:36 465

原创 maven 打包错误:Please refer to xxx\target\surefire-reports for the individual test results.

然后将项目重新打包即可。或者在pom里面加上。

2022-12-30 21:27:33 1548

原创 使用Mybatis-Plus进行分页查询,返回的数据中total总是为0

这个问题的出现是因为我们没有配置mp插件的一个bean。

2022-12-26 16:42:07 2506

原创 springboot整合springsecurity时出现了localhost将您重定向次数过多 循环地址错误解决

查看代码,为了跳转到我们自己定义的登录页面,写了loginPage("/login.html"),按照正常的逻辑,应该我们在访问接口的时候,都会跳到登录页面,结果却报错了。其原因是我们在访问接口时,因为有 anyRequest(),对所有的请求都要进行认证,所以会跳到login.html这个页面,跳转过去之后去请求login.html这个页面也需要身份认证,所以还是跳到了login.html这个页面,形成了死循环,所以会出现这个错误。页面时发生了地址循环的现象,错误是重定向次数过多。

2022-12-24 12:27:28 2356

原创 java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id “null“

【代码】java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"

2022-12-23 17:20:08 481 4

原创 使用dubbo进行服务间的调用

不能使用war架包做依赖去给其它模块进行依赖使用,得以jar的形式才行。把接口从提供服务模块提出,然后重新建立一个模块,用来放接口就行了。

2022-11-28 22:33:22 339

原创 用rabbitmq的延时队列和死信队列实现延迟消息-超时订单关闭

当消息在一个队列中变成死信之后,如果这个消息所在的队列设置了x-dead-letter-exchange参数,那么它会被发送到x-dead-letter-exchange对应值的交换机上,这个交换机就称之为死信交换机,与这个死信交换器绑定的队列就是死信队列。显然,集群中只有一个预定消息的副本意味着丢失该节点或禁用其上的插件将丢失驻留在该节点上的消息。原因就是延时队列也满足队列先进先出的特征,当10秒的消息未出队列时,后边的消息不能顺利出队,造成后边的消息阻塞了,未能达到精准延时。:RabbitMQ。

2022-08-22 19:08:03 774

原创 RabbitMQ安装(发生系统错误5。拒绝访问)解决方案

一、先检查一下Eralng是否安装好并配置好环境新建系统变量名为:ERLANG_HOME 变量值为安装地址双击系统变量path,点击“新建”,将%ERLANG_HOME%\bin加入到path中。检查是否安装好:二、1、 管理员运行cmd然后打开RabbitMQ安装目录\sbin(D:\rabbitmq_server\data是我自己自定义的目录,这样就绕过 c\user\用中文用户名…这个文件夹,这样就不会有中文路径的问题了)5、激活管理插件。...

2022-08-18 23:21:10 5427 4

原创 Jsp的${}不起作用

如下的${}在jsp中被当成字符串输了出来${requestScope.hello}是El失效问题在jsp文件头部添加这句配置的意思就是一般情况下jsp页面上直接使用El表达式是没有问题的,但如果出现EL表达式无效,可以试试...

2022-07-07 14:57:12 2188 1

原创 ElasticSearch集群搭建

ES集群是一个P2P类型(使用gossip协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给那些节点,并且直接跟这些节点通信。所以从网络架构及服务配置上来说,构建集群所需要的配置及其简单。在ES2.0之前,无阻碍的网络下,所有配置了相同的节点都自动归属到一个集群中。2.0版本之后,基于安全的考虑避免开发环境过于随便造成的麻烦,从2.0版本开始,默认的自动默认的发现方式改为了广播(unicast)方式。配置里提供几台节点的地址。ES将其视作

2022-07-01 11:02:06 652

原创 如何在一台电脑上运行两个及以上Tomcat服务器

1.使用压缩版的tomcat不能使用安装版的。2.第一个tomcat的配置不变。3. 到控制面板中,找到高级系统设置 4.点击环境变量,在系统变量中加入CATALINA_HOME2,值为新的tomcat的地址。5.修改新的tomcat中的startup.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。6.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。7.修改conf/server.xml文件 :把<C

2022-07-01 10:31:26 2263 2

原创 此时不应有 \Java\jdk1.8.0_152\bin\java.exe“ -cp “!ES_CLASSPATH!“ “org.elasticsearch.tools.launchers.TempD

elasticsearch:这个错误是由于java环境变量JAVAHOME引起的。我原来的JAVAHOME变量是在:然后改成:重启ES即可

2022-06-29 16:48:59 928

原创 IDEA创建新的Spring项目时 Initialization failed for ‘https://start.spring.io’ Please ch

方法一、在创建时,只要把这个官网地址改为自定义https://start.aliyun.com/即可方法二: 通过"File | Settings | Appearance & Behavior | System Settings | HTTP Proxy",选中如图方框内容就可以了。方法三:网络不稳定,换一个网络试试。...

2022-06-23 14:18:08 227

原创 手写Ribbon负载均衡轮询算法

负载均衡算法:rest接口第几次请求数 % 服务器集群总数量 = 实际调用服务器位置下标 ,每次服务重启动后rest接口计数从1开始。List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");如: List [0] instances = 127.0.0.1:8002   List [1] instances = 127.0.0.1:80018001+ ...

2022-05-17 15:17:44 186

原创 xftp上传文件状态错误的解决

xftp上传文件状态错误的解决:本人最近在用docker容器部署springboot项目,要把打好的jar包和dockerfile文件上传到centos7虚拟机中。上传的时候出现了问题,XFTP一直显示文件状态错误。首先检查了防火墙已经关闭,再试了试发现可以从虚拟机中下载文件到主机,于是排除网络问题。百度到有前辈说是权限的问题,才恍然大悟。我新建了 /home/hadoop/apps文件夹,修改文件夹权限后,XFTP即可上传成功。...

2022-05-04 13:39:23 3107

原创 堆排序的基本思想及实现

堆排序基本介绍:1.堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最好,最坏,平均时间复杂度均为O(nlogn),它也是不稳定排序2.堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆,注意:没有要求结点的左孩子的值和右孩子的值的大小关系3.每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆堆排序的核心思想:将待排序序列构造成一个大顶堆 此时,整个序列的最大值就是堆顶的根节点 将其与末尾元素进行交换,此时.

2022-04-15 17:35:41 2748

原创 动态规划算法及其基本实现

动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。动态规划算法与分治算法类似。其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解。动态规划可以通过填表的方式来逐步推进,得到最优解。基本思想与策略编辑:由于动态规划..

2022-04-08 17:23:02 602

原创 分治算法基本思想及举例

分治算法:基本概念: 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=...

2022-04-06 22:00:07 1108

原创 插值查找算法基本思想及实现原理

插值查找算法:原理:1.插值查找算法类似于二分查找,不同的是插值查找每次从自适应mid处开始查找2.求mid索引的公式:low表示左边索引left,high表示右边索引right,key就是前面我们将的findvaluemid=(low+high)/2=low+(high-low)/2变成mid=low+(high-low)*(key-a[low])/(a[high]-a[low])mid=left+(right-left)*(findvalue-a[left])/(a[ri

2022-04-06 20:15:40 895

原创 二分查找的基本思想及实现

要求在有序数组中进行二分查找,不是有序,则要先排序思路:1.首先确定该数组的中间的下标mid=(left+right)/2;2.然后让需要查找的数findvalue和arr[mid]比较3.findvalue>arr[mid],说明该数在mid的右边,因此需要递归向右查找4.findvalue<arr[mid],说明你要查找的数在mid的左边,因此需要递归向左查找5.findvalue=arr[mid],找到返回6.当left大于right,说明没找到,返回-1;在返回的时候

2022-04-05 15:25:05 819

空空如也

空空如也

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

TA关注的人

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