- 博客(33)
- 收藏
- 关注
原创 进程与线程的区别
消息队列:使用一个队列来存放消息,进程A将消息存入队列中,进程B只需要从队列中读取出来即可。4:在同一进程内,进行线程间的切换要比进程之间的切换开销要小(只用切换自身私有的资源)有名管道:会生成一个文件描述符用于进程之间的通讯(任何进程之间都可以进行通讯)共享内存:多个进程之间他们使用不同的虚拟内存,但是都映射到同一物理内存上。3:进程之间相互隔离,某一个进程的崩溃不会影响到其它进程。3:在同一个进程内,多个线程可以共享进程的内存空间。5:进程之间的切换要切换虚拟地址空间(开销最大)
2024-06-20 16:08:32 199
原创 Java中线程调用2次start方法会发生什么
由于Java语言规定,一个线程在它的生命周期中只能启动一次,如果再次调用该线程的start()方法,则JVM会抛出一个非法线程状态的异常。4:等待/超时等待(wait/time wait)线程调用wait或者sleep后处于的状态。2:就绪(Runnable)在线程调用start方法后,还未被cpu调度的状态。5:阻塞(Blocking)线程因未获取到锁,或者处于IO状态等原因处于的状态。3:运行(Running)处于就绪状态的线程被CPU调度后的状态。此时线程进入就绪状态并等待CPU的调度。
2024-06-20 15:53:01 316
原创 Mysql or与in的区别
可以看到根据主键id进行or查询 花费了30-114毫秒,后面30多毫秒可能是因为Mysql的Buffer Pool缓冲池的原因导致的。可以看到在不使用索引的情况下,使用or的查询速度为50秒左右。in比or快了一秒左右但也很慢,但也许是我测试数据有些问题。可以看到使用in的情况下,查询效率在30-90ms之间。这张表中,只有id有建立索引,且其余都没有。测试4:使用in的情况下,不走索引进行查询。创建一个表格 内涵一千万条数据。
2024-03-29 16:25:29 921 1
原创 lc42:接雨水 Java题解
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。
2024-03-26 09:21:35 331
原创 使用Redis作为分布式锁导致锁失效问题
finally代码块是无论如何都会执行到的,即使没有抢到锁的情况,那么就会出现,没有抢到锁的抛出异常后取执行finally代码块中的代码,,就会导致抢到锁的执行扣减库存逻辑的时候,另一个线程判断是否上锁,结果成功上锁,当他们对同一库存进行操作的时候就会出现超卖情况。进行Jmeter进行压测时发现,还是会出现超卖的情况。
2024-02-14 14:15:31 271
原创 微服务远程调用中由于全局异常处理导致seata全局事务失效
当走到 i = 1/0的时候,会抛出 by Zero异常给全局异常处理,全局异常处理捕获异常后,将结果封装成为一个返回值给调用方,全局事务那边的接口就不会接收到异常信息,从而导致就算出现了异常,事务也不会正常执行。
2024-02-12 13:50:13 410
原创 冒泡排序和快速排序
取数组中最左边或最右边的元素,然后通过这个数将整个数组分为左右两部分,左边的数字全部小于num,右边的数字全部大于num,然后再按照这个方法对这2部分代码进行排序,则最终可以达到将整个数据变成有序序列。左边大于右边交换一趟排下来最大的在右边。
2024-02-04 17:20:31 243
原创 使用LinkedHashMap按顺序存储Key-Value值
业务要求:类似与百度网盘那种,有一个根目录(文件夹),根目录下可以存储多个其它目录,也可以存储文件,要求是根据你进入的目录,要获取从根目录一直到目前你所在目录的所有路径。使用LinkedHashMap 以目录跳转id为key,目录名称为value传给前端(按添加顺序加入(从当前目录一直获取到根目录))维护键值对的顺序,每个键值对既位于哈希表中,也位于双向链表中。LinkedHashMap是HashMap的子类,但是内部还有一个。要获取当前目录以及父目录所有路径。比如: /root 代表根目录。
2024-01-31 17:41:00 309
原创 后端Date字段传给前端变为时间戳的解决方案
添加@JsonFormat(pattern = "yyyy-MM-dd")注解前端即可正常显示日期。该类会导致 类型为Date的字段响应给前端由xxxx-xx-xx变为一串数字(时间戳)
2024-01-31 17:21:15 438
原创 使用EasyExcel读取数据时,由于属性命名原因导致读不出数据
如果实体类中属性的名称与Excel列名称是相同的,如上图所示,那么就读不出任何数据。解决方法为:修改变量名称。excel中有这些数据。
2024-01-22 14:34:09 1293
原创 SpringBoot+Mybatis Plus导致PageHelper失效
再PageHelper依赖中,排除Mybatis,因为MybatisPlus整合了Mybatis,而不排除PageHelper中的Mybatis可能导致版本冲突问题。父pom项目中的依赖版本管理。子pom项目中的依赖管理。
2024-01-21 13:29:25 836 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人