手撕面试题:多个线程顺序执行问题

2021-01-11
阅读 12 分钟
2.5k
大家在换工作面试中,除了一些常规算法题,还会遇到各种需要手写的题目,所以打算总结出来,给大家个参考。第一篇打算总结下阿里最喜欢问的多个线程顺序打印问题,我遇到的是机试,直接写出运行。同类型的题目有很多,比如三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC....”的字符...

布隆过滤器,没那么难

2020-10-30
阅读 8 分钟
1.4k
布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。主要用于判断一个元素是否在一个集合中。

Spring中的观察者模式

2020-10-30
阅读 6 分钟
5.4k
文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。微信公众号,如果一个用户订阅了某个公众号,那么便会收到公众号发来的消息,那么,公众号就是『被观察者』,而用户就是『观察者』气象站可以将每...

布隆过滤器,没那么难

2020-09-24
阅读 8 分钟
8.1k
布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。主要用于判断一个元素是否在一个集合中。

Kafka 为什么能那么快

2020-09-15
阅读 6 分钟
1.7k
无论 kafka 作为 MQ 也好,作为存储层也罢,无非就是两个功能(好简单的样子),一是 Producer 生产的数据存到 broker,二是 Consumer 从 broker 读取数据。那 Kafka 的快也就体现在读写两个方面了,下面我们就聊聊 Kafka 快的原因。

烂了大街的 Spring 循环依赖问题,你觉得自己会了吗

2020-09-09
阅读 15 分钟
1.4k
文章已收录在 GitHub JavaKeeper ,N 线互联网开发、面试必备技能兵器谱,笔记自取。微信搜「 JavaKeeper 」程序员成长充电站,互联网技术武道场。无套路领取 500+ 本电子书和 30+ 视频教学和源码。

Redis 事务详解

2020-09-09
阅读 7 分钟
10k
假设现在有这样一个业务,用户获取的某些数据来自第三方接口信息,为避免频繁请求第三方接口,我们往往会加一层缓存,缓存肯定要有时效性,假设我们要存储的结构是 hash(没有String的'SET anotherkey "will expire in a minute" EX 60'这种原子操作),我们既要批量去放入缓存,又要保证每个 key 都加上过期时间(以防 ...

责任链模式——更灵活的 if else

2020-04-15
阅读 8 分钟
4.4k
责任链,顾名思义,就是用来处理相关事务责任的一条执行链,执行链上有多个节点,每个节点都有机会(条件匹配)处理请求事务,如果某个节点处理完了就可以根据实际业务需求传递给下一个节点继续处理或者返回处理完毕。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。属于行为型模式。

Java 内存模型,你了解过吗

2020-03-20
阅读 8 分钟
1.7k
你知道 Java 内存模型 JMM 吗?那你知道它的三大特性吗?Java 是如何解决指令重排问题的?既然CPU有缓存一致性协议(MESI),为什么 JMM 还需要volatile关键字?带着问题,尤其是面试问题的学习才是最高效的。加油,奥利给! 文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱

JVM解毒——类加载子系统

2020-02-22
阅读 8 分钟
1.1k
带着问题,尤其是面试问题的学习才是最高效的。加油,奥利给!文章收录在 GitHub JavaEgg ,N线互联网开发必备技能兵器谱 直击面试 看你简历写得熟悉JVM,那你说说类的加载过程吧? 我们可以自定义一个String类来使用吗? 什么是类加载器,类加载器有哪些? 多线程的情况下,类的加载为什么不会出现重复加载的情况? 什...

JVM与Java体系结构

2020-02-21
阅读 7 分钟
3.1k
你是否也遇到过这些问题? 运行线上系统突然卡死,系统无法访问,甚至直接OOM 想解决线上JVM GC问题,但却无从下手 新项目上线,对各种JVM参数设置一脸懵逼,直接默认,然后就JJ了 每次面试都要重新背一遍JVM的一些原理概念性东西 这段广告语写的好,趁着在家办公学习下JVM,先列出整体知识点 点赞+收藏 就学会系列,文...

单例模式——独一无二的对象

2020-02-03
阅读 4 分钟
1.3k
面试官:带笔了吧,那写两种单例模式的实现方法吧沙沙沙刷刷刷~~~ 写好了 面试官:你这个是怎么保证线程安全的,那你知道,volatile 关键字? 类加载器?锁机制???? 点赞+收藏 就学会系列,文章收录在 GitHub JavaEgg ,N线互联网开发必备技能兵器谱

设计模式前传——学习设计模式你要先知道这些

2020-02-02
阅读 7 分钟
1.2k
为什么要学设计模式? 面试经常被问到 以前总觉得设计模式是“花拳绣腿”,实际开发中没什么卵用,其实有好多种设计模式自己在无形中就使用了,只是自己不知道 设计模式是软件开发人员的“标准词汇”,学习设计模式是个人技术能力提高的捷径 设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计(OOA/...

IDEA使用 磨刀霍霍向代码

2020-01-21
阅读 9 分钟
2.8k
工欲善其事,必先利其器 ,当下有数不清的 Java 程序员将石器时代的 Eclipse 替换成了现代化的智能开发工具 InteliJ IDEA ,写代码的小日子过得不亦乐乎(玩笑话,两者各有千秋,看个人习惯使用)

面试官问我maven package和install的区别

2020-01-17
阅读 7 分钟
21.8k
maven package和maven install 有什么区别?你常用的maven命令有哪些? <dependencyManagement> 是干什么的? 还有用过其它构建工具吗? 和maven有啥区别?

Java 8 通关攻略

2020-01-14
阅读 47 分钟
2.4k
点赞+收藏 就学会系列,文章收录在 GitHub JavaEgg ,N线互联网开发必备技能兵器谱Java8早在2014年3月就发布了,还不得全面了解下 本文是用我拙劣的英文和不要脸的这抄抄那抄抄,熬出的,没有深究源码,只是对 Java8 有一个整体的认知,可以上手用起来,示例代码也都在github上