一、非公平锁 非公平锁是抢占式的,有优先级区分的线程争夺锁。 包括: synchronized关键字 new ReentrantLock()默认创建的也是非公平锁 二、公平锁 公平锁是先到先得的原则,排队获取。 new ReentrantLock(true) public ReentrantLock ...
转载
2021-07-21 18:57:00
604阅读
2评论
一、CAS是什么 比较后交换,为了保证原子性而进行的比较和交换。 二、CAS的使用 前面说到volatile关键字是不保证原子性的,为了满足轻量级的JMM原则,可以通过volatile + CAS实现轻量级的JMM原则(保证数据可见性、保证原子性、禁止指令重排以保证有序性原则)。例如: public ...
转载
2021-07-19 17:29:00
667阅读
2评论
1. 标准性能测试流程需求分析→性能指标制定→脚本开发→场景设计→监控部署→测试执行→性能分析→性能调优→测试报告2. 性能测试过程中你是如何获取目标值的1. 制定性能指标已上线系统、
未上线系统、
无参考系统2. 已上线制定性能指标有多少个注册用户、
每天有多少活跃用户、
用户活跃的时间段3. 未上线制定性能指标竞品数据参数、
可以借助站长工具4. 无参考制定性能指标根据公司发展规划5. 指标换
ThreadLocal 作为 Java 面试的高频题,陌溪在之前面试的时候也遇到过,所以后面专门针对 ThreadLocal 写了一份笔记,让我们一起来看看~
原创
2022-05-09 12:56:42
263阅读
这是一个见仁见智的问题 个人总结: Promise 是异步编程的一种解决方案,将异步操作以同步操作的流程表达出来,避免了回调地狱的问题。 Promise 是一个构造函数,我们可以通过该构造函数来生成Promise的实例。 Promise对象有以下两个特点: (1)对象的状态不受外界影响。Promis ...
转载
2021-10-13 19:44:00
267阅读
2评论
在日常开发中,mysql存储引擎默认是用innoDB,存储引擎分为innoDB,myISAM,memory,innoDB支持事务,myISAM
原创
2022-11-02 00:32:01
97阅读
1 什么是hadoopApache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身不是设计用来依靠硬件来提供高可用性,而是旨在检测和处理应用程序层的故障,因此可以在计算机集群的顶部提供高可用性的服务,而每台计算机都容易出现故障。它解決了两大问题:大数据存储、大数据分析。也就是
什么是spring Spring是一个生态,可以构建java应用需要的一切基础设施 通常Spring指的就是Spring Framework 核心解释 Spring是一个轻量级的开源容器框架 Spring是为了解决企业级应用开发的业务逻辑层和其他各层对象和对象直接的耦合问题 Spring是一个IOC ...
转载
2021-09-23 10:50:00
436阅读
2评论
Shuffle产生的意义是什么?Shuffle过程的期望可以有: 完整地从map task端拉取数据到reduce 端。在跨节点拉取数据时,尽可能地减少对带宽的不必要消耗。减少磁盘IO对task执行的影响。每个map task都有一个内存缓冲区,存储着map的输出结果,当缓冲区快满的时候需要将缓冲区的数据该如何处理?每个map task都有一个内存缓冲区,存储着map的输出结果,当缓冲区
转载
2024-09-08 19:23:13
47阅读
1、什么是微服务微服务架构的系统是一个分布式的系统,按业务进行划分为独立的服务单元,解决单体系统的不足,同时也满足越来越复杂的业务需求。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。2、为什么要使用微服务1.将复杂的业务拆分成多个小的业务,每个业务拆分成一个服务,将复杂的问题简单化。利于分工,降低新人的学习成本。 2.微服务系统是分布式系统,业务与
转载
2024-03-19 16:21:51
111阅读
大家好,我是一哥,今天给大家分享一下Flume的面试点,按照这个回答,面试官会吐血,哈哈!01Flume起源
原创
精选
2022-06-07 11:46:23
270阅读
最近打算整理下Java面试中频率比较高,相对比较难的一些面试题,感兴趣的小伙伴可以关注下。Volatile关键字 volatile是Java虚拟机提供的轻量级的同步机制.何为轻量级呢,这要相对于synchronized来说。Volatile有如下三个特点。volatile保证可见性不支持原子性禁止指令重排序 要搞清楚上面列举的名词可见性 原子性 指令重排的含义我们需要首先弄清楚JM...
原创
2022-07-01 10:07:37
112阅读
Netty 线程模型是指 Netty 框架为了提供高性能、高并发的网络通信,而设计的管理和利用线程的策略和机制。 Netty 线程模型被称为 Reac
原创
精选
2024-06-02 13:26:34
157阅读
Reactor 模型是一种事件驱动的高性能网络编程模型,主要用于处理高并发的网络 I/O 请求。其核心思想是通过一个或多个线程监听事并发处理。 为什么要
什么是redisRedis:一个高性能的基于Key-Vaule结构出村的N0SQL开源数据库采用redis来实现分布式缓存,用来提高数据的查询效率为什么要用redis?web应用发展初期,系统的访问和并发并不,交换也比较少,但是随着着业务的扩大,访问量提升,使得服务的负载和关系型数据库就会出现瓶颈,而导致瓶颈的原因,主要体现在磁盘io上,那么随着互联网的进一步发展对系统的性能有了更高的要求,red
转载
2023-06-29 14:30:16
52阅读