摘要: Java招聘知识合集:https://www.cnblogs.com/spzmmd/tag/Java招聘知识合集/ 该系列用于汇集Java招聘需要的知识点 JMM 并发编程的三大特性:可见性(volatile)、有序性(volatile)、原子性(synchronized) JMM跟CPU缓存模型相似,是基于C... 阅读原文
2021-04-16 10:51:12 阅读(835) 评论(0)
摘要: 一、释放锁 1.void unlock()方法 尝试释放锁,如果当前线程持有锁,则调用该方法会让该线程对该线程持有的AQS状态值减1,如果减去1后当前状态值为0,则当前线程会释放该锁,否则仅仅减去1而已,如果当前线程没有持有该锁而调用了该方法就会抛出IllegalMonitorStateException异常... 阅读原文
2021-04-16 06:00:05 阅读(697) 评论(0)
摘要: 今天项目支付回调出了点问题,原来负责的同事已经离职了,就安排我帮忙查一下,后来排查出来之后觉得应该记录一下,防止踩坑。 enum EEnum { zhifubao(1, "支付宝"), weixin(2, "微信"), xinyongka(3, "信用卡"), ... 阅读原文
2021-04-16 00:26:02 阅读(889) 评论(0)
摘要: 1.RabbitMQ入门及安装 1.1.概述 官网:https://www.rabbitmq.com/什么是RabbitMQ,官方给出来这样的解释: RabbitMQ is the most widely deployed open source message broker.With tens of thousa... 阅读原文
2021-04-16 00:04:07 阅读(691) 评论(0)
摘要: Java中的aHashMap和a有什么区别Hashtable? Java中的aHashMap和a有什么区别Hashtable?   Java中的aHashMap和a有什么区别Hashtable?   Java中的aHashMap和a有什么区别Hashtable?   Java中的aHashMap和a有什么区别Hash... 阅读原文
2021-04-15 22:41:04 阅读(853) 评论(0)
摘要:     通常业务开发中,我们会使用到多个数据源,比如,部分数据存在mysql实例中,部分数据是在oracle数据库中,那这时候,项目基于springboot和mybatis,其实只需要配置两个数据源即可,只需要按照 dataSource - SqlSessionFactory - SqlSessionTemplate... 阅读原文
2021-04-15 20:51:01 阅读(670) 评论(0)
摘要: 为什么要使用线程池 降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; 提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行; 方便线程并发数的管控。因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成cpu过度切换(cpu切换线程是有时间... 阅读原文
2021-04-15 19:28:02 阅读(1219) 评论(0)
摘要: 什么是自动装箱/自动拆箱? Integer box = 321; int basic = box; 作为Java代码中我们最常用到的一类语法糖 我们应当对其做一些“了解” 先上代码,不妨先想一下它们的结果…… public class Demo01 { public static void main(... 阅读原文
2021-04-15 18:57:02 阅读(743) 评论(0)
摘要: ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构。继承自AbstractList,实现了List接口。底层基于数组来实现动态容量大小的控制,允许null值的存在。同时还实现了RandomAccess、Cloneable、Serializable接口,支持快速访问、复制、序... 阅读原文
2021-04-15 17:56:05 阅读(934) 评论(0)
摘要: 在Java8中,我们经常使用lambada表达式进行foreach循环,但是常常我们在遍历List的时候想获取对象的index,但是Java8、9、10、11都没有相关的支持,同样的问题也存在于增强型for循环中,很多时候不得不含着泪以 for (int i = 0; i < list.size(); i++)... 阅读原文
2021-04-15 16:29:02 阅读(1486) 评论(0)