高级开发面试系列
近藤
专注 充满战斗力
展开
-
设计模式之单例模式简析笔记
好久没这样写写东西了,最近也真的是很忙,白天上班,晚上带娃,还要学习。很久没有这样的压迫感了,工作了好几年中间陆陆续续的都学习过,看过一些学习视频来加强自己的一些技术能力,现在回想过来好想能回到当初好好学习,那个时候的时间还是充足的。现在每天的状态就是感觉自己的时间不够用,多想一天当作两天用。这些天每天都会坚持学习,看视频看书来巩固自己。真的是人到一定的年纪就开始焦虑了。其实静下心来好好的学习才发现自己要学习的太多了,技术更新换代的也很频繁。每天坚持一点点学习,让自己更充实,技术慢慢得到提升。原创 2020-10-24 22:21:37 · 796 阅读 · 1 评论 -
volatile关键字的作用、原理
在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性和防止指令重排序。保持内存可见性内存可见性(Memory Visibility):所有线程都能看到共享内存的最新状态。失效数据...原创 2019-04-26 15:46:49 · 135 阅读 · 0 评论 -
Java程序员必须掌握的常用Linux命令一
目前大多数的互联网项目,都是部署在Linux上,也就是说,日志都是在Linux,下面归纳些实际的Linux操作。Java程序员必须掌握的常用Linux命令。 能通过less命令打开文件,通过Shift+G到达文件底部,再通过?+关键字的方式来根据关键来搜索信息。 能通过grep的方式查关键字,具体用法是, grep 关键字 文件名,如果要两次在结果里查找的话,就用grep 关键字1...原创 2019-04-26 15:50:07 · 342 阅读 · 0 评论 -
HashMap分析
1、为什么用HashMap?HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashM...原创 2019-09-13 11:18:43 · 104 阅读 · 0 评论 -
如何保障消息中间件100%消息投递成功?如何保证消息幂等性
一、前言我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。如上图:(1)订单服务投递消息给MQ中间件(2)物流服务监听MQ中间件消息,从而进行消费我们这篇文章讨论一下,如何保障订单服务把消息成功投递给MQ中间件,以RabbitMQ举例。二、分析问题小伙伴们对此会有些...原创 2019-09-13 11:17:10 · 127 阅读 · 0 评论