![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 69
流连勿忘返
练习两年半的程序员
展开
-
java/node代码 破解“滑动验证码”的移动距离
输入要破解的图片地址,再输入页面上验证码div的高度跟宽度,就可以得到滑块要移动的距离!原创 2024-01-27 16:05:37 · 417 阅读 · 0 评论 -
mybati-plus的普通分页插件和基于xml文件的分页插件
【代码】mybati-plus的普通分页插件和基于xml文件的分页插件。原创 2023-09-06 23:24:25 · 142 阅读 · 0 评论 -
oss的图片跟文件上传
【代码】oss的图片跟文件上传。原创 2023-09-05 18:28:37 · 476 阅读 · 0 评论 -
ReentrantLock底层原理以及AQS详解
多线程之间的共享变量是存在主内存的,而每一个线程都会有工作内存,这个工作内存是抽象出来的,不是真实存在的,每一个线程都会读取主内存中的共享数据以副本的形式保存到自己的工作内存中,然后对自己工作内存中的数据进行处理,但是这个处理的结果其他线程是看不到的,只有当前线程可以看得到,这是造成线程不可见性的主要原因。的值等于0,则表示这个锁暂时还没有被线程所持有,可以尝试来获取锁,因为公平锁是有维护一个队列的(先到先得,在队列中最前面的线程是可以最先获取锁的),所以。原创 2023-06-30 00:03:39 · 75 阅读 · 0 评论 -
java线程中断(interrupted)原理详解
在java中,线程的中断(interrupt)只是改变了线程的中断状态,注意:只是改变了线程的中断状态!至于这个中断状态改变后带来的结果,那是无法确定的,有时它更是让停止中的线程继续执行的唯一手段。不但不是让线程停止运行,反而是继续执行线程的手段。原创 2023-06-26 23:29:57 · 4021 阅读 · 4 评论 -
join方法的底层原理
Join可以把指定的线程加入到当前线程,为顺将两个交替执行的线程合并为顺序执行的线程。比如在线程A中调用了线程B的Join()方法,直到线程B执行完毕后,才会继续执行线程A。底层实现是基于对象的wait和notify方法来实现的。原创 2023-06-21 16:37:27 · 295 阅读 · 0 评论 -
preHandle、postHandle与afterCompletion的区别
DispatcherServlet进行视图的渲染之前,也就是说在这个方法中你可以对ModelAndView进行操作。执行顺序:链式Intercepter情况下,Intercepter按照声明的顺序一个接一个执行。执行顺序:链式Intercepter情况下,Intercepter按照声明的顺序倒着执行。若返回false,则中断执行,注意:不会进入afterCompletion。备注:postHandle虽然post打头,但post、get方法都能处理。调用前提:preHandle返回true。原创 2023-06-12 16:50:36 · 375 阅读 · 0 评论 -
@Transactional事务注解,以及在try-catch代码块中的回滚使用
同一个类中,一个没有事务的方法A,去调用另一个有事务的方法B时,因为是直接调用,而不是调用的代理类,所以事务不起用的。自动回滚:动回滚只需要在对应的方法下添加@Transactional注解,1.用在类上,那么对该类下所有public方法都有效。2.也可写在某个方法上(只能是public方法)不需要对方法内容进行try-catch。手动回滚:如果在方法中有使用。的出常,事务才会回滚。原创 2023-06-06 11:58:39 · 2597 阅读 · 0 评论 -
BigDecimal加减乘除计算,取整,BigDecimal保留两位小数并且四舍五入,及注意事项
BigDecimal都是不可变的(immutable)的,在进行每一步运算时,都会产生一个新的对象,所以在做加减乘除运算时千万要保存操作后的值。原创 2023-04-18 17:07:24 · 10170 阅读 · 0 评论 -
ThreadLocal原理及内存泄漏原因
在了解ThradLocal原理前,是有必要需要了解一下java的引用类型的,因为Threadlocal的底层使用了弱引用,可以顺便把这方面的知识过一下,再加上面试的时候,这个也是比较常问的原创 2023-03-27 12:02:43 · 250 阅读 · 0 评论 -
记录项目中的select场景语句以及mybatis中的对应操作,如:分组补0,递归查询
表如下,如何让这个表按device_id这个字段分组,且组中的每条数据都查寻出来?正确的结果:select * from devicedata GROUP BY device_id, id。需求1:获取某天的数据数量,例如:获取2023年3月8号,新注册的用户数量。这样就达到了我们的目的了,将每组中的每条数据都查寻出来了。2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;1、from子句组装来自不同数据源的数据;4、使用聚集函数进行计算;6、计算所有的表达式;原创 2023-03-08 12:01:15 · 315 阅读 · 0 评论 -
java的LocalDateTime类来获取当天时间、前一天时间,本周的开始和结束时间、本月的开始和结束时间
【代码】java的LocalDateTime类来获取当天时间、本周的开始和结束时间、本月的开始和结束时间。原创 2023-03-04 14:39:51 · 10633 阅读 · 0 评论 -
Springboot整合mq,代码实现各种工作模式,交换机
我们先创建一个配置类,在配置类中创建我们的直接交换机和队列,以及直接交换机跟队列的绑定关系,直接交换机有三种情景,如:一个交换机绑定一个队列然后一个消费者,一个交换机绑定一个队列有两个消费者,一个交换机绑定两个队列。可以看到,加多一个消费者监听同一个队列,消息是轮询分发的,一个消费者每次消费一条消息。直接交换机(Direct),主题交换机(Topic),扇形交换机(简单模式,工作模式,路由模式,主题模式,发布订阅模式。可以看到,监听A队列的接收到一条消息,接收B队列的收到两条消息。原创 2023-02-21 10:38:04 · 557 阅读 · 0 评论 -
C语言跟java函数的传参问题
1.java中的函数参数传递,只有一个传值操作,并没有传地址操作可以看到,通过A函数传递过来的地址是一样的,这是因为在main方法中的test变量中保存的是指向堆内存中的test类的地址,然后通过A函数传递,然后把test变量中保存的地址也传递过去(地址也是值),所以在A方法中,test的地址是一样的如果是这样子,那么test的地址就发生了变化,因为在A方法中的test变量,已经指向了新的地址2.在c中,有传值操作,也有传地址操作,如果是把结构体作为方法参数传递,那么就是传值操作,会把结构体中的值按顺序来赋原创 2023-01-11 13:27:26 · 267 阅读 · 0 评论