最新文章列表

Apache Thrift 初学小讲(九)【测试接口的QPS】

QPS是接口每秒处理成功的调用次数,RT是处理一次请求所需要的平均时间,并发量是系统能同时处理的请求数。公式:并发量 = QPS * 平均响应时间。   这3个是比较重要的性能指标,如何测试这几个指标呢,可以用工具jmeter,jmeter原生支持http,但像thrift这种rpc接口就需要自己写jmeter的扩展了,可以参考https://www.jianshu.com/p/455e57 ...
halloffame 评论(0) 有2713人浏览 2018-07-10 01:07

如何使用jMeter发送两个逻辑上相关的HTTP请求

在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我通过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操作。 现在我有另一个需求场景:假设我开发了一个创建Service Request的微服务,需要使用HTTP post调用。为了防止Cross Site Request Forgery(跨站域请求伪造),这个微服务调用时需要传一个XSRF token,这个XSR ...
JerryWang_SAP 评论(0) 有2181人浏览 2018-04-29 09:59

使用jMeter构造大量并发HTTP请求进行微服务性能测试

比如我开发好了一个微服务,想测试其在大并发请求下的性能表现如何。 比较方便的一个做法是使用工具jMeter来构造这些请求。 创建一个新的工程:   创建一个新的Thread Group,下图意思是这个工程会使用3个线程同时发请求,每个请求执行一次。   在这个Thread Group里创建一个新的HTTP请求,维护如下属性。 Protoc ...
JerryWang_SAP 评论(0) 有1620人浏览 2018-04-27 21:58

java并发AQS原理之ReentrantLock

  看本文建议结合源码   首先来看看ReentrantLock的构造方法,它的构造方法有两个,如所示: public ReentrantLock() {     sync = new NonfairSync(); } public ReentrantLock(booleanfair
哎喔别走 评论(0) 有620人浏览 2018-04-26 18:09

Java中关于同步,异步,多线程,多线程同步,并发

1.同步与异步 1.1同步 在多线程的环境中,经常会碰到数据共享的情况,即当多个线程共同需要访问一个资源时,他们需要以某种顺序来确保该资源在某一时刻只能被一个线程使用,否则,程序的运行结果将是不可预料的,在这种情况下就必须对数据进行同步,例如多个线程同时对同一数据进行写操作,即当线程A需要使用某个资源时,如果这个资源正在被线程B使用,同步机制就会让线程A一直等待下去,直到线程B结束对该资源的使用 ...
独孤不求败 评论(0) 有662人浏览 2018-04-19 10:26

tomcat websocket 并发问题解决

https://my.oschina.net/HY1024/blog/1620337#comment-list   https://my.oschina.net/HY1024/blog/1623517#comment-list     https://my.oschina.net/HY1024/blog/1624382   https://my.oschina.net/HY1024/ ...
aoyouzi 评论(0) 有2008人浏览 2018-04-18 11:57

Oracle官方并发教程之线程池

Oracle官方并发教程之线程池   在java.util.concurrent包中多数的执行器实现都使用了由工作线程组成的线程池,工作线程独立于所它所执行的Runnable任务和Callable任务,并且常用来执行多个任务。 使用工作线程可以使创建线程的开销最小化。在大规模并发应用中,创建大量的Thread对象会占用占用大量系统内存,分配和回收这些对象会产生很大的开销。   一种最常见 ...
lintaozhou 评论(0) 有816人浏览 2018-03-06 23:32

为什么java.util.concurrent 包里没有并发的ArrayList实现?

为什么java.util.concurrent 包里没有并发的ArrayList实现?   问:JDK 5在java.util.concurrent里引入了ConcurrentHashMap,在需要支持高并发的场景,我们可以使用它代替HashMap。但是为什么没有ArrayList的并发实现呢?难道在多线程场景下我们只有Vector这一种线程安全的数组实现可以选择么?为什么在java.util ...
lintaozhou 评论(0) 有1088人浏览 2018-03-06 23:15

关于java并发需要知道的几个概念(一)

最近在看《Java高并发程序设计》这本书,了解一些并发相关的概念,分享一下自己的理解 同步:方法调用一旦开始,方法调用者必须等待结果返回后,才能继续执行后续行为 例子:老师上课提问小明同学,要求小明同学立即给予解答,这时老师对小明就是同步操作,老师需要等待小明给予解答,才能继续后续工作 异步:方法调用一旦开始,方法调用就会立即返回,调用者可以继续后续操作。真正方法执行会另起一个线程执行。整个过 ...
wo511040717 评论(0) 有423人浏览 2018-01-08 22:55

《JAVA多线程编程核心技术》3.1.10的错误纠正

我看的书作者:高洪岩 书版本:2015年11月第1版第3次印刷 问题概述: 3.1.10 主要讲解 等待wait的条件发生变化的场景 为了方便起见,我就不照抄书中原码了,我用我自己的代码 就是一个main方法 我用的jdk1.6 public static void main(String[] args) throws InterruptedException { fin ...
ironlee 评论(0) 有682人浏览 2017-12-23 14:56

《Java多线程编程实战指南(核心篇)》答疑(陆续更新)

问: 作者你好,看到可见性这一节,这里定义的toCancel变量是否应该是static类型的才有效果   答: toCancel这个变量是要用volatile修饰才有能达到预期效果的,第2章里面我们并没有用voatile修饰是为了展示可见性问题。第3章会详细解释个中原因。
viscent 评论(0) 有1773人浏览 2017-11-01 21:40

Netty系列之Netty并发编程

  1. JAVA内存模型与多线程编程 1.1. 硬件的发展和多任务处理 随着硬件特别是多核处理器的发展和价格的下降,多任务处理已经是所有操作系统必备的一项基本功能。在同一个时刻让计算机做多件事情,不仅仅是因为处理器的并行计算能力得到了很大提升,还有一个重要的原因是计算机的存储系统、网络通信等IO性能与CPU的计算能力差距太大,导致程序的很大一部分执行时间被浪费在IO wait上面,CPU ...
dwj147258 评论(1) 有1370人浏览 2017-10-27 14:47

Java多线程编程那些事:volatile解惑

(本文最初由本人黄文海发表在InfoQ中文站上:http://www.infoq.com/cn) 1、 前言 volatile关键字可能是Java开发人员“熟悉而又陌生”的一个关键字。本文将 ...
viscent 评论(0) 有855人浏览 2017-10-20 21:00

Java多线程编程那些事:锁泄漏

什么是锁泄漏 众所周知,我们对锁的使用方式都是用同一个套路——先申请锁,再执行临界区中的代码,最后释放锁,如清单1所示。尽管如此,代码的错误可能导致一个线程在其执行完临界区代码之后未能释放引导这个临界区的锁。例如,清单1中的doSomethingWithLock方法所调用的someIoOperation方法如果在其执行期间抛出了异常(这里是IOException),那么doSomethingWi ...
viscent 评论(0) 有842人浏览 2017-09-28 20:11

并发与并行区别

并发与并行的区别 如果一个系统中支持两个或者多个动作同时存在,那么我们称这个系统为并行系统, 如果一个系统中支持两个或者多个动作同时执行,那么我们称这个系统为并发系统。 上述描述中我们可以看出两个区别在于存在关键字   如果我们系统中编写多个线程或者进程,在单核处理器cpu下,同时驻留内存,不断切换cpu交替执行,那么我们称它为并发,且这种情况下只能会出现并发,没法并行。   如果在多 ...
探索者_技术 评论(0) 有475人浏览 2017-09-14 15:47

数据库并发访问时锁应用实例讲解

开始之前        本文主要讲解各种常见锁策略的应用,希望通过这种实例讲解能让大家更清晰的理解各种锁的区别,在实际项目的该如何选择。由于本文的代码例子使用java编写,涉及一些java框架如Spring JPA等,建议对java熟悉的人读。   实例 本文以电商中一个常见的场景作为演示,如下图    我们的商品有个库存数量的字段,下单的时候系统检查库存是否足够,如果满足则库存数量减 ...
hzy0769 评论(0) 有2056人浏览 2017-06-15 14:48

CAS解释

最近在看JAVA并发的知识,里面提到CAS概念,其实说白了和数据库操作一样,代条件的更新,在更新原值之前,记录原来的值,真正的更新的时候比对原值,如果原值编码,则不做更新 UPDATE A+100  WHERE A=100 Compare And Swap        CAS 指的是现代 CPU 广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。这个指令会对内存中的共享数据做原 ...
sunday1207 评论(0) 有978人浏览 2017-05-22 21:25

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics