阿里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年前
Android Volley 发送一个简单的请求
可以通过创建一个RequestQueue并传递Request对象来使用Volley。RequestQueue管理工作线程,这些线程用于运行网络操作、读取和写入缓存和解析响应。Request对原始响应进行解析,并且Volley负责将已解析的响应分派回主线程。本文介绍如何使用Volley.newRequestQueue的便捷方法发送请求,该方法为您这是了一个
Stella981 Stella981
3年前
Executor框架(二)Executor 与 ExecutorService两个基本接口
一、Executor接口简介Executor接口是Executor框架的一个最基本的接口,Executor框架的大部分类都直接或间接地实现了此接口。只有一个方法voidexecute(Runnablecommand):在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的线程中执行,这由Execut
Wesley13 Wesley13
3年前
Java 多线程高并发编程 笔记(一)
本篇文章主要是总结Java多线程/高并发编程的知识点,由浅入深,仅作自己的学习笔记,部分侵删。一.基础知识点1\.进程于线程的概念!(https://oscimg.oschina.net/oscnet/a85d12f0e90fb11f88c0a4728cd080b979b.png) 2.线程创建的两种方式!(https://
Wesley13 Wesley13
3年前
Java ConcurrentHashMap存入引用对象时也是线程安全的
本人小白,看到资料说ConcurrentHashMap是线程安全的,get过程不需要加锁,put是线程安全的,推荐高并发时使用.但是本人不清楚是否该map中存入的引用类型对象,对象属性变化也是否线程安全的,看了很多资料,貌似都没说明这一点,所以写代码测试一下,packagetestConcurrentHashMap;importjava.util
Zuul迁移至Spring Cloud Gateway踩坑记录
缘起Zuul1.x已经不维护了,并且使用的BIO,当流量较大时性能下降的厉害,并且线程池中的线程用尽时如果某个请求返回了非200并且你没有配置处理过滤器的话,这个线程就假死了。公司的代码扫描工具也提示Zuul1.0里面有很多的jar已经过时了。Zuul2.
从多线程设计模式到对 CompletableFuture 的应用
最近在开发延保服务频道页时,为了提高查询效率,使用到了多线程技术。为了对多线程方案设计有更加充分的了解,在业余时间读完了《图解Java多线程设计模式》这本书,觉得收获良多。本篇文章将介绍其中提到的Future模式,以及在实际业务开发中对该模式的应用,而这些