![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
王懂
这个作者很懒,什么都没留下…
展开
-
开发环境配置
一、java环境变量二、idea安装1、安装InerlinJ_Idea_20180602.zip2、配置三、xshell四、Navicat五、向日葵(远程控制)六、postman七、WebStorm原创 2021-09-23 14:19:02 · 285 阅读 · 0 评论 -
面试题总结
面试题总结一、dubbo和spring cloud区别二、微服务 服务间调用失败问题排查1、先说解决思路a、设置超时机制b、重试**c、双发**d、熔断**2、问题排查思路一、dubbo和spring cloud区别都是当下流行的RPC框架,各自都集成了服务发现和治理组件。dubbo组织架构图SpringCloud组织架构SpringCloud特点1:约定优于配置2:开箱即用、快速启动3:适用于各种环境4:轻量级的组件5:组件支持丰富,功能齐全总体来说:1、dubbo由于是二进原创 2021-09-09 19:56:04 · 156 阅读 · 0 评论 -
jclasslib插件使用
1、安装File->setting->plugins->Brower Repositories安装好后如下图2、查看二进制码即指令原创 2021-09-08 14:49:58 · 354 阅读 · 0 评论 -
三高系统架构演变
三高系统架构演变1、什么是三高系统2、三高系统演变历史单节点maven聚合项目集群环境maven聚合项目微服务项目云原生分布式微服务项目1、什么是三高系统高并发、高可用、高性能你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。2、三高系统演变历史单节点maven聚合项目在项目创建之初,赶进度、抢时间、为了尽快做出可用产品,往往选择最为简单的单节点maven聚合项目。有点:原创 2021-08-30 16:15:26 · 2381 阅读 · 0 评论 -
无锁------JVM锁------分布式锁
一、为什么要加锁?在单线程情况下,不加锁程序也可以正常运行。一但多线程使用,就会发生运行结果和预期结果不一致问题,比如超卖、死锁、数据非预期值等问题二、Redis高频面试题1、高并发场景秒杀下单超卖bug实战重现2、秒杀场景下实战JVM级别锁与分布式锁3、大厂分布式锁Redisson框架实战4、从Redisson与那吗剖析lua解决锁的原子性问题5、Redis主从架构锁失效问题及Redlock详解6、双十一大促如何将分布式锁性能提升100倍7、利用Redis缓存集群架构抗住双十一流量洪峰原创 2021-08-23 17:32:46 · 276 阅读 · 1 评论 -
BreakIterator-----根据中文符号切分语句
根据中文符号切分语句import java.text.BreakIterator;import java.util.Locale;/* *根据中文符号切分语句 */public class JavaBreakIterator { String context="明教因争立教主发生内讧,群雄彼此反目。虽为护教重新纠合,白眉鹰王殷天正带领天鹰教救援,毕竟已有离心离德之虞。光明顶上," + "光明左使杨逍与青翼蝠王韦一笑以及五散人因矛盾火拼,致使成昆乘虚而入,以幻阴指重原创 2021-08-21 10:52:50 · 351 阅读 · 0 评论 -
CountDownLatct || CyclicBarrier
CountDownLatct参考博客:https://www.cnblogs.com/skywang12345/p/3496101.htmlimport java.util.concurrent.CountDownLatch;/* *CountDownLatch的本质也是一个"共享锁" * CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 */public class Test_CountDownLatct { p原创 2021-07-28 00:00:10 · 59 阅读 · 0 评论 -
Long(sync)、AtomicLong、LongAdder
一、Long使用synchronized加锁,锁升级:偏向锁(无锁)->自旋锁 -> 重量级锁import java.util.ArrayList;import java.util.List;public class Test_Long { Long num =0L; private /*synchronized*/ void increase(){ for (int i = 0; i < 100; i++) { num+原创 2021-07-27 00:45:11 · 116 阅读 · 0 评论 -
多线程与高并发基础(基础篇二)
synchronized关键字一、什么时候程序需要锁?多个线程同时访问某段代码或者某个临界资源进行修改操作时,需要加锁二、程序为什么需要锁?eg. 线程A和线程B同时对数字n(默认1)做++操作,1、线程A读取到数字n为1是,去做++(非原子性)操作,2、同时线程B读取到数字n为1是,也去做++操作3、做了两次++操作,最终结果还是2(正确应该是3)。/** * @Auther wangdongdong * @Date 2021/7/21 0021 下午 21:14 * @Descri原创 2021-07-25 16:09:14 · 78 阅读 · 0 评论 -
多线程与高并发基础(基础篇一)
多线程与高并发基础一、程序、进程、线程、纤程(协程)的定义程序:可执行文件进程:程序中资源分配的最小单元纤程:程序中资源调度的最小单元携程:用户管理的纤程二、单核系统做多线程设计是否有意义有纤程分为io密集型和CPU密集型,对于IO密集型纤程,cpu多数时间处于空闲状态,适当的多线程设计可提供cpu利用率,充分压榨cpu性能,提高处理能力。三、是不是线程数设计越多越好?不是cpu只负责操作指令的执行,操作系统负责任务的调度。OS在多个线程间切换会消耗一定的性能,线程数过度会消耗过多性能原创 2021-07-19 11:35:55 · 207 阅读 · 1 评论