关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty与RPC、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等由于pd
分类:
移动开发 时间:
2019-11-02 18:09:26
阅读次数:
251
一.goroutine简介 Golang中最迷人的一个优点就是从语言层面就支持并发 在Golang中的goroutine(协程)类似于其他语言的线程 并发和并行 并行(parallelism)指不同的代码片段同时在不同的物理处理器上支持 并发(concurrency)指同时管理多个事情,物理处理器上 ...
分类:
其他好文 时间:
2019-11-02 00:38:50
阅读次数:
132
一.前言 最近项目遇到多线程并发的情景(并发抢单&恢复库存并行),代码在正常情况下运行没有什么问题,在高并发压测下会出现:库存超发/总库存与sku库存对不上等各种问题。 在运用了 限流/加锁等方案后,问题得到解决。 限流方案见本人另一篇博客:Guava-RateLimiter实现令牌桶限流 二.乐观 ...
分类:
编程语言 时间:
2019-10-30 16:24:49
阅读次数:
111
多线程 是指在软件 或者 硬件 上实现多个线程并发执行的技术。 优势: 具有多线程能力的计算机 因为有硬件支持而使其能够在同一时间执行多个线程,进而提升整体的处理性能。 操作系统中采用 时间片轮转法 来保证多个进程 / 线程并发执行,所谓的并发就是 :宏观并行,微观串行。 Java虚拟机的多线程:是 ...
分类:
编程语言 时间:
2019-10-29 23:50:37
阅读次数:
115
1. 现在有线程T1、T2和T3。你如何确保T2线程在T1之后执行,并且T3线程在T2之后执行。 https://www.cnblogs.com/helios-fz/p/11216925.html 2. Java 中新的Lock接口相对于同步代码块(synchronized block)有什么优势? ...
分类:
编程语言 时间:
2019-10-29 11:28:03
阅读次数:
86
ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药, ...
分类:
其他好文 时间:
2019-10-28 14:45:41
阅读次数:
80
1. 现在有线程T1、T2和T3。你如何确保T2线程在T1之后执行,并且T3线程在T2之后执行。 https://www.cnblogs.com/helios-fz/p/11216925.html 2. Java 中新的Lock接口相对于同步代码块(synchronized block)有什么优势? ...
分类:
编程语言 时间:
2019-10-22 20:44:59
阅读次数:
127
Shenandoah 垃圾回收器是 Red Hat 在 2014 年宣布进行的一项垃圾收集器研究项目 Pauseless GC 的实现,旨在针对 JVM 上的内存收回实现低停顿的需求。该设计将与应用程序线程并发,通过交换 CPU 并发周期和空间以改善停顿时间,使得垃圾回收器执行线程能够在 Java ...
分类:
编程语言 时间:
2019-10-19 21:06:12
阅读次数:
109
首先,这两者是完全不同的概念,绝对不能混为一谈。1.什么是Java内存模型?Java内存模型是Java语言在多线程并发情况下对于共享变量读写(实际是共享变量对应的内存操作)的规范,主要是为了解决多线程可见性、原子性的问题,解决共享变量的多线程操作冲突问题。多线程编程的普遍问题是:所见非所得无法肉眼检测程序的准确性不同的运行平台表现不同错误很难复现故JVM规范规定了Java虚拟机对多线程内存操作的一
分类:
编程语言 时间:
2019-10-17 20:31:58
阅读次数:
100
1、循环创建多个线程,并通过循环启动执行 2、并发测试框架 ...
分类:
编程语言 时间:
2019-10-15 00:05:27
阅读次数:
107