Wesley13 Wesley13
3年前
java 面试知识点笔记(十二)多线程与并发
问:synchronized和ReentrantLock的区别?ReentrantLock(可重入锁)位于java.util.concurrent.locks包(著名的juc包是由Douglea大神写的AQS抽象类框架衍生出来的应用)和CountDownLatch、FutureTask、Semaphore一样基于AQS实现
Wesley13 Wesley13
3年前
java处理高并发高负载类网站的优化方法
一:高并发高负载类网站关注点之数据库没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是MS(主从)方式进行同步复制,将查询和操作和分别在不同的
百万并发场景中倒排索引与位图计算的实践
Promise时效控单系统作为时效域的控制系统,在用户下单前、下单后等多个节点均提供服务,是用户下单黄金链路上的重要节点;控单系统主要逻辑是针对用户请求从规则库中找出符合条件的最优规则,并将该规则的时效控制结果返回客户端。
高并发场景下常见的限流算法及方案介绍
现代互联网很多业务场景,比如秒杀、下单、查询商品详情,最大特点就是高并发,而往往我们的系统不能承受这么大的流量,这时候限流熔断就发挥作用了,限制请求数,快速失败,保证系统满负载又不超限。本文为大家介绍几种常见的限流算法及方案
Stella981 Stella981
3年前
40 道 Java 并发编程高频面试题解析
1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所以然"的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:1)发挥多核CPU的优势随着工业的进步,现在的
Wesley13 Wesley13
3年前
Java集合,ConcurrentHashMap底层实现和原理(常用于并发编程)
概述ConcurrentHashMap常用于并发编程,这里就从源码上来分析一下ConcurrentHashMap数据结构和底层原理。在开始之前先介绍一个算法,这个算法和Concurrent的实现是分不开的。CAS算法:CAS是英文单词CompareAndSwap的缩写,翻译过来就是比较并替换。CAS机制当中使用
Wesley13 Wesley13
3年前
Java多线程与高并发:java.util.concurrent包
!(https://oscimg.oschina.net/oscnet/a444225aa7f351b4770a952b2f3f2a9f3be.jpg)面试官:你用过JUC的哪些工具类?前面从基础开始,到线程安全的实现、对象的发布与共享,涉及到很多线程安全的类与工具,JDK1.5开始,提供了更加方便强大的线程同步管理工具包JUC让我们使用,这
Stella981 Stella981
3年前
Linux上部署web服务器并发布web项目
转:https://www.cnblogs.com/jieerma666/p/7527338.html1.选用CentOS664位作为服务器系统。(原因:redhat要钱,而CentOS免费;CentOS相比于其它linux系统要成熟、稳定一点;CentOS7操作命令和目录结构发生了一些变化所以选用版本6)2.装系统(使用C
Wesley13 Wesley13
3年前
Java并发编程(01):线程的创建方式,状态周期管理
本文源码:GitHub·点这里(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fcicadasmile%2Fjavabaseparent)||GitEE·点这里(https://gitee.com/cicadasmile/javabasepa
Wesley13 Wesley13
3年前
2w 字 + 40 张图带你参透并发编程!
!(https://oscimg.oschina.net/oscnet/9b677bedad00400ebd9f631451822918.png)1并发历史在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就