自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务项目雪崩的解决思路

雪崩是微服务中某个服务挂了,无法返回请求,导致调用改服务的上层服务也故障,最终形成连锁反应,导致整个系统故障。

2024-06-17 10:24:50 342

原创 【内存溢出问题】实际开发中,一次从数据库取出过多数据,导致内存溢出问题

如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。当应用程序线程空闲;生命周期长的对象拥有生命周期短的对象时容易引发内存泄漏,例如大集合对象拥有大数据量的业务对象的时候,可以考虑分块进行处理,然后解决一块释放一块的策略。为了避免这些问题,程序的设计和编写就应避免垃圾对象的内存占用和GC的开销。

2024-06-11 13:14:18 794 1

原创 对i += i & -i和i &= i - 1的理解

比如,i为100,其二进制为1100100,进行一次运算后i为96,二进制为1100000,再进行一次后,二进制为1000000,再进行一次后值为0。比如,初始i是65,迭代的i的值如下:66, 68, 72, 80, 96,128, 256, 512 ... 、在128之前,每次相加都是加上i的二进制不为零的最低位,达到最近的128(最近的2的次幂)后,每次都相当于乘二。i += i & -i迭代的结果是每次加i的最低次,直到加到与i最近的2的次幂。i &= i - 1每次都会消除最低位的1。

2024-06-05 14:02:30 226

原创 内存泄漏产生的原因

如果使用手动创建的线程,就算没有使用remove()方法清理数据,也不会产生线程泄漏,因为当线程被回收时,ThreadLocal也被回收,但如果使用线程池就不一定。解决方法:1.尽量少将对象长时间保存在静态变量中,如果不再使用,必须将对象删除或将静态变量设置为null。定义实体时,equals()和hashcode()方法没有重写,可能会导致内存泄漏。大量数据在静态变量中被长期引用,数据就不会释放,如果数据不再使用,就成了内存泄露。连接和流这些资源会占用内存,使用完没有关闭,可能会导致内存泄漏(不一定)。

2024-06-04 21:06:22 353

原创 optional中orElse和orElseGet

在使用时,如果默认值的计算是简单的常量或已经存在的值,可以使用 orElse 方法。如果默认值的计算涉及复杂的逻辑或需要延迟计算,可以使用 orElseGet 方法。orElseGet 方法只有在 Optional 对象为空时才会计算默认值,可以通过 Supplier 函数式接口提供延迟计算的能力。orElse 方法总是会计算默认值,无论 Optional 对象是否为空。

2024-05-31 14:08:20 88

原创 Integer的equals()和==判断

Integer作为对int的封装类,是不能使用==判断的,它重写的equals()方法可以判断对应的int值是否相等,但这样的话c==d为什么是true呢。如果范围在-128到127之间,返回的是这个cache中同一个Integer对象,他们的地址是相同的,所以==判断结果是true。从Integer的类中有一个私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象。当我们定义一个变量 Integer a时,调用的是valueOf()方法。

2024-05-30 14:18:35 166

原创 论文阅读——Bayesian Knowledge Fusion(贝叶斯知识融合)

该篇论文解决了不确定环境中的信息融合问题。想象一下,有多位专家针对同一情况构建概率模型,我们希望汇总他们提供的信息。直接合并每个信息可能会遇到几个问题。例如,专家们可能不同意某个事件发生的概率,或者他们可能不同意两个事件之间因果关系的方向(例如,一个人认为 A 导致 B,而另一个人认为 B 导致 A)。他们甚至可能不同意概率网络中一组变量之间的整个依赖结构。

2024-05-27 14:57:26 517

原创 链接预测.

在某些场景中,用户可能希望预测给定节点之间是否存在边,这样的任务称作链接预测任务。假设输入结点之间是全链接图,连接预测的目的是给边打上标签。

2024-05-27 14:56:20 219

原创 mapstruct使用

需要加三个依赖,mapstruct比beanUtils更方便。

2024-05-27 14:55:13 71

原创 最大字段和——分治法

通过分治将问题分解成求[0,n/2]和[n/2 + 1, n - 1]的子问题,最终合并。其返回Status类的mSum即为要求的最大子段和。使用分治来解决最大子段和问题。

2024-05-16 13:18:24 233

原创 ArrayList为什么要实现RandomAccess接口

在遍历方法中,一般是使用索引或者迭代器来遍历,在ArrayList中,索引遍历速度是比LinkedList快的,而LinkedList中是迭代器速度更快,这个大家可以实验下。该接口只是一个标记,就是为了使用instance方法能够区分ArrayList和LinkedList,那该接口区分的作用是什么呢?该接口只是一个空接口,那么为什么ArrayList要实现它,而LinkedList却不实现它。所以,该接口的目的是判断实现它的类是否用位置索引的方式来进行遍历。

2024-04-30 21:12:19 66

原创 单例模式可以被破坏

序列化和反序列化破坏单例模式。通过反射的方式破坏单例模式。

2024-04-21 19:29:18 426

原创 刷力扣中学习使用static,final

题目很简单,只要写个类似树一样的遍历即可,问题在于在一个类里面写方法时,我的想法是将每个结点都记录在一个map中,众所周知, 方法是属于类的,想将每个结点都记录在一个map变量中,只有让它属于类,而不是实例,static关键字就可以实现这一点。还有一点是遍历的方法函数没有接受参数,就不能像接收root一样进行遍历,每次调用都要从头遍历,final只允许赋值一次,就用它记录头节点,然后遍历。结果是可行的,不过也可以额外定义一个类,这个类记录,另一个类存储树结构。. - 力扣(LeetCode)

2024-04-07 17:51:28 233

原创 JVM自动内存管理——java内存区域与内存溢出异常

对于java来说,在虚拟机自动内存管理机制的帮助下,不需要为每个操作写配对的delete/free代码,不过,一但出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎么使用内存,那么排查问题将会十分困难。

2024-03-28 21:17:56 514

原创 docker使用(centos7.6)

(配置国内docker-ce的yum源)yum install docker-ce docker-ce-cli containerd.io -y (安装docker)yum install -y yum-utils device-mapper-persistent-data lvm2 (安装docker依赖环境)3、如果是no,表示关闭,打开3306端口。6、应该是yes,说明端口已经打开。进入mysql,启动成功。2、查看3306端口状态。5、再次查看3306状态。

2024-03-22 09:10:06 324

原创 long类型使用技巧(java),运算时超出int范围

如果n1 + n2 超出int 范围,计算中会先计算n1 + n2,这时计算已经出错,即使接下来按long类型计算,也没有用了。

2024-03-08 16:19:28 249

原创 贝祖定律,ax+by=z 有解

ax+by=z 有解当且仅当 z 是 x,y 的最大公约数的倍数。

2024-01-28 13:53:32 46

原创 杰卡德距离(Jaccard Distance)

:与杰卡德相似系数相反,用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。),是用于衡量两个集合差异性的一种指标,它是杰卡德相似系数的补集,可以用来区分集合(如知识图谱)。

2024-01-24 22:18:45 517

原创 vim快速使用

vim Hello.java 加回车 ——进入vim正常模式,Hello.java是文件名,可以写其他的。按下i,I,o,O,a,A,r,R进入编辑模式。保存需要进入命令行模式,输入esc 加:加wq。20 +shift+g 定位到20行。:set nonu 不显示行号。/关键词 回车 查找。:set nu 显示行号。

2024-01-15 15:45:19 365

原创 力扣题目超出时间限制,String和StringBuilder

简单说下遇到的问题,代码就不细说了(在最后),遇到只有超出时间限制的问题,然后看那案例真的无语,但再怎么计算我代码的时间复杂度,大概也就是O(n),就这怎么就超出时间复杂度呢?直到我把String换成StringBuilder类型,直接就通过了,甚至还超过百分之八十多的人。问题就出在String了,接着我了解了两个方式的区别。在Java中,字符串的拼接可以通过多种方式实现,但其中最常见的是使用字符串连接操作符或者使用 StringBuilder类。

2024-01-13 17:06:13 827

原创 springboot 项目访问静态资源遇到的问题,WebMvcConfigurer和WebMvcConfigurationSupport

之前发过通过继承WebMvcConfigurationSupport来访问静态资源的文章——,代码如下这个方法是可行的,但会带来一个小问题。

2024-01-12 15:28:42 657

原创 力扣题——2645.构造有效字符串的最少插入数

然后一想,栈里面不就只有三种情况吗,没有字母,只有a,只有a和b,那不就可以直接用一个int表示吗, 0代表没有元素,1代表a,2代表ab。,你可以向其中任何位置插入 "a"、"b" 或 "c" 任意次,返回使。第一想法用一个栈存放进栈的a,b,到c时出栈,不是则补a,b,c就行了。如果字符串可以由 "abc" 串联多次得到,则认为该字符串。需要插入的最少字母数。运行时间超过100%

2024-01-11 19:48:59 465

原创 补充前端访问静态资源的一个错误

注意,前端访问时带上本地服务端的host,例如http://localhost:8080,后端改写的代码如下,注意file后面一定是三个‘/’,不然的化虽然能解析,但访问不到。

2024-01-10 12:00:00 624

原创 img标签的奇怪问题

本来只是为实现一个轮播图,img的url地址是从后端接口获取的,但不巧的是url地址的图片都过期了。因为懒得重新到网上找图,就想直接用一下本地的图片,简单的想法遇到一堆问题。

2024-01-09 20:51:40 787

原创 路由跳转,结果页面不显示

遇到一个很少见的问题,基本不可能遇到,一直对前端路由跳转的name属性比较随意,因为分教师和学生两个不同的角色,导航页面写的不同角色登录不同导航,这个本来没有任何问题。问题出在我在路由跳转的两个name属性中用了同一个名字‘score’,因为不同角色显示不同的导航,所以一时没有发现这个问题,当我登录学生角色跳转页面时,页面一片空白。注意:name属性不能写相同的值,不然只有其中一个能跳转,正常也不可能遇到这种问题吧。

2024-01-06 00:16:30 348

原创 力扣第一百道题,记录一下——x 的平方根

只能说写代码题没有简单和困难,只有坚持和细心,还记得写两数之和时,半天才写出来(真半天,不是形容词!),庆祝下力扣刷一百题,再接再厉,也庆祝各位大佬们刷一千题,一万题!本来第一百题特地挑一题简单题刷一下,结果自信写出来,第一次提交还错误,怎么想逻辑都没问题,那很大可能就跟数字大小有关了,改成long之后果然没问题了。很容易想到用二分查找,但有一点要注意,mid的平方计算时要强转成long类型,因为如果x很大的话,取x的一半算平方很容易就超出int范围。由于返回类型是整数,结果只保留。

2024-01-04 21:38:41 460

原创 &nbsp

非截断空格符,为了解决前端把多个空格合并成一个。

2023-12-28 15:50:09 370

原创 vue.js组件的应用(Vite构建)

在vue3组件的一些理解,注意,是用vite构建的vue3项目

2023-12-23 16:21:31 1132

原创 springboot版本2.6以上使用swagger报错问题

springboot版本2.6以上使用swagger,会出现包扫描为空的错误。在application.properties中加上。将spring boot版本到2.5以下。

2023-12-20 14:52:45 500

原创 a标签的target属性

a> 标签的 target 属性规定在何处打开链接文档。_self : 在当前窗口打开被链接文档。_blank:在新窗口打开被链接文档。就是常见浏览网页打开链接的方式。

2023-12-16 13:11:14 341

原创 v-cloak指令

先隐藏标签内的内容,待组件加载完毕后再出现,并删除v-cloak指令。防止页面频繁加载,页面渲染太慢导致双大括号在屏幕上闪现。

2023-12-16 12:56:16 333

原创 用vite创建vue项目

cd到要创建vue的文件中, my-project是文件名,模板是vue。1.node.js版本大于等于12。之后选择vue和自己需要的即可。

2023-12-13 22:15:00 338

原创 byte,tinyint

如果 int 数据的值在 tinyint 的范围内(即 0 到 127),那么将其转换为 byte 或直接使用 int 在数据库中没有本质的区别。两者在数据库层面都是合法的。

2023-12-07 14:50:01 333

原创 @Transactional,事务一致性

在同时修改多张表时,要在方法上加@Transactional注解,能保证事务的一致性。一旦该方法在执行中出现异常,就会立刻回滚事务,防止只修改其中一张表。

2023-12-06 22:12:16 513

原创 .filter()

过滤到stream流中符合条件的项。

2023-12-06 20:41:52 460

原创 security+MyBatis简单步骤

数据库连接时密码,用户名后面不能有空格。

2023-12-05 21:19:45 391

原创 idea代码自动换行

勾选上soft-wrap即可换行。

2023-12-03 10:42:30 906 1

原创 mapper.xml中<where>

是 MyBatis 提供的一个用于动态生成 WHERE 子句的标签。它会在满足其中条件的情况下自动添加 "WHERE" 关键字,并在条件之间添加适当的逻辑运算符(如 "AND")

2023-12-02 15:22:18 1004 1

原创 让sql语句既能查所有,又能查前几行的技巧

这样number值为几 ,就可以返回几行;而number设为0时,会不执行limit,从而查所有数据。

2023-12-02 11:35:00 335 1

原创 取列表对象中的一个属性生成列表(stream,map,collect)

先用stream将goodCategory转化为流,再用map(GoodsCategory::getCategoryId,collect(Collectors.toList())找出其中getCategoryId属性的数据,并用list存储。List实例goodCategory,GoodsCategory,生成一个。

2023-12-02 11:20:52 412 1

空空如也

空空如也

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

TA关注的人

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