阿里Java架构师谈:2021年最新Java面试经历
第一家是美团美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、、volatile、线程、并发、设计模式等等...一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景,慢查询解决等my
Wesley13 Wesley13
3年前
Volatile关键字
Volatile关键字①volatile的两个特点1保证线程(CPU)之间的可见性;(也就是保证数据一致性)简单解释一下:一个线程将一个值的数值改变时,另一个使用该数值的线程能看到这种改变;2禁止指令重排序(禁止乱序执行);这个和单例
Wesley13 Wesley13
3年前
java创建线程的三种方式及其对比
Java(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Flib.csdn.net%2Fbase%2F17)中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run(
Stella981 Stella981
3年前
Android Looper,Handler,Message分析
LooperLooper的构造方法是private的,不可以在外部生成Looper的实例.最重要的几个变量:ThreadLocal :静态的,保存所有线程及其所关联的Looper实例.可以理解为这是一个Map,保存了线程\Looper的所有键值对.这里可以获取到所有的线程及其关联的Looper对象.当我们需要生成一个支持消息循环特性的
Stella981 Stella981
3年前
Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
线上某服务A调用服务B接口完成一次交易,一次晚上的生产变更之后,系统监控发现服务B接口频繁超时,后续甚至返回线程池耗尽错误ThreadpoolisEXHAUSTED。因为服务B依赖外部接口,刚开始误以为外部接口延时导致,所以临时增加服务Bdubbo线程池线程数量。配置变更之后,重启服务,服务恢复正常。一段时间之后,服务B
Stella981 Stella981
3年前
JavaScript 事件循环机制
javascript是一门单线程的非阻塞的脚本语言。单线程意味着javascript在执行代码的任何时候,都只有一个主线程来处理所有的任务。那么javascript引擎是如何实现这一点的呢?因为事件循环(eventloop)。先上图:!event_loop(https://oscimg.oschina.net/oscnet/up6
Stella981 Stella981
3年前
Executor框架(二)Executor 与 ExecutorService两个基本接口
一、Executor接口简介Executor接口是Executor框架的一个最基本的接口,Executor框架的大部分类都直接或间接地实现了此接口。只有一个方法voidexecute(Runnablecommand):在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的线程中执行,这由Execut
Stella981 Stella981
3年前
ButterKnife使用
1、BuildScripts,添加红色部分buildscript{repositories{jcenter()google()}dependencies{classpath'com.android.tools
Wesley13 Wesley13
3年前
Java ConcurrentHashMap存入引用对象时也是线程安全的
本人小白,看到资料说ConcurrentHashMap是线程安全的,get过程不需要加锁,put是线程安全的,推荐高并发时使用.但是本人不清楚是否该map中存入的引用类型对象,对象属性变化也是否线程安全的,看了很多资料,貌似都没说明这一点,所以写代码测试一下,packagetestConcurrentHashMap;importjava.util
Wesley13 Wesley13
3年前
IDEA多线程下多个线程切换断点运行调试的技巧
<divid"cnblogs\_post\_body"class"blogpostbody"<p多线程调试设置可以参考:http://www.cnblogs.com/leodaxin/p/7710630.html</p<p&nbsp;</p<p1断点设置如图:</p<p<imgsrc"https://images2017