java测试并发(java并发面试题)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享java测试并发的知识,其中也会对java并发面试题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

JAVA如何写一个纯并发的压力测试

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.HashMap;

import java.util.Map;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

import java.util.concurrent.Semaphore;

public class ConcurrentTest {

private static int thread_num = 200;

private static int client_num = 460;

private static Map keywordMap = new HashMap();

static {

try {

InputStreamReader isr = new InputStreamReader(new FileInputStream(

new File("clicks.txt")), "GBK");

BufferedReader buffer = new BufferedReader(isr);

String line = "";

while ((line = buffer.readLine()) != null) {

keywordMap.put(line.substring(0, line.lastIndexOf(":")), "");

}

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

int size = keywordMap.size();

// TODO Auto-generated method stub

ExecutorService exec = Executors.newCachedThreadPool();

// 50个线程可以同时访问

final Semaphore semp = new Semaphore(thread_num);

// 模拟2000个客户端访问

for (int index = 0; index  client_num; index++) {

final int NO = index;

Runnable run = new Runnable() {

public void run() {

try {

// 获取许可

semp.acquire();

System.out.println("Thread:" + NO);

String host = "?";

String para = "method=getQueryResultpageNum=1pageSize=5"

+ "queryKeyWord="

+ getRandomSearchKey(NO)

+ "questionID=-1questionIdPath=-1searchType=1"

+ "proLine=proSeries=proType=" + NO;

System.out.println(host + para);

URL url = new URL(host);// 此处填写供测试的url

HttpURLConnection connection = (HttpURLConnection) url

.openConnection();

// connection.setRequestMethod("POST");

// connection.setRequestProperty("Proxy-Connection",

// "Keep-Alive");

connection.setDoOutput(true);

connection.setDoInput(true);

PrintWriter out = new PrintWriter(connection

.getOutputStream());

out.print(para);

out.flush();

out.close();

BufferedReader in = new BufferedReader(

new InputStreamReader(connection

.getInputStream()));

String line = "";

String result = "";

while ((line = in.readLine()) != null) {

result += line;

}

// System.out.println(result);

// Thread.sleep((long) (Math.random()) * 1000);

// 释放

System.out.println("第:" + NO + " 个");

semp.release();

} catch (Exception e) {

e.printStackTrace();

}

}

};

exec.execute(run);

}

// 退出线程池

exec.shutdown();

}

private static String getRandomSearchKey(final int no) {

String ret = "";

int size = keywordMap.size();

// int wanna = (int) (Math.random()) * (size - 1);

ret = (keywordMap.entrySet().toArray())[no].toString();

ret = ret.substring(0, ret.lastIndexOf("="));

System.out.println("\t" + ret);

return ret;

}

}

java socket客户端模拟测试高并发服务器

要求很高啊,我这有段代码,你看看。

package com.test;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.Socket;

public class TestHTTP {

 public void doinit() throws Exception {

  Socket s = new Socket("127.0.0.1", 8080);

  BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s

    .getOutputStream()));

  bw.write("OPTIONS / HTTP/1.1");

  bw.newLine();

  bw.write("Host: 127.0.0.1:8080");

  bw.newLine();

  bw.write("Content-Type: text/html");

  bw.newLine();

  bw.newLine();

  bw.flush();

  BufferedReader br = new BufferedReader(new InputStreamReader(s

    .getInputStream()));

  String str = null;

  while ((str = br.readLine()) != null) {

   System.out.println(str);

  }

  bw.close();

  br.close();

  s.close();

 }

 public static void main(String[] args) throws Exception {

  new TestHTTP().doinit();

 }

}

java写的web程序 怎么做压力测试呀,就是测试并发率(同一时间最大支持多少用户请求呢)?

使用loadrunner,进行压力测试,有比较详细的测试结果,

就是配置和使用loadrunner比较麻烦,不过网上有详细的教程,去下载一个吧,

自己写循环去测试,极不准确

java测试并发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java并发面试题、java测试并发的信息别忘了在本站进行查找喔。

发布于 2023-04-09 04:04:46
收藏
分享
海报
32
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了