public class PressTest {
// Java实现压力测试
static class StressTask implements Callable<Boolean> {
public Boolean call() throws Exception {
// 这里放置你的业务逻辑
// 例如:
// Thread.sleep(1000); // 模拟耗时操作
Thread.sleep(getRandomNumber());
return true;
}
}
public static void main(String[] args) throws Exception {
// int random = getRandomNumber();
// System.out.println(random);
// Thread.sleep(random);
LocalDateTime localDateTime = LocalDateTime.now();
// String b = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(localDateTime);
// System.out.println(Calendar.getInstance());
StressTest();
System.out.println(Calendar.getInstance());
LocalDateTime localDateTime1 = LocalDateTime.now();
// String b = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(localDateTime1);
System.out.println("Finish!!!!!");
}
public static int getRandomNumber() {
// 创建一个Random对象
Random random = new Random();
// 生成一个0到1之间的随机小数
double randomDouble = random.nextDouble();
return (int) (randomDouble *1000);
}
public static void getRandomBetween(int min, int max) {
Random random = new Random();
int randomInt = random.nextInt(max - min + 1) + min;
System.out.println("随机整数:" + randomInt);
}
public static void StressTest() throws Exception {
// 创建固定大小的线程池
ExecutorService executor = Executors.newFixedThreadPool(10); // 假设我们要10个并发线程
// 提交100个并发任务
int tasks = 100;
Future<Boolean>[] futures = new Future[tasks];
for (int i = 0; i < tasks; i++) {
futures[i] = executor.submit(new StressTask());
}
// 等待所有任务完成
for (Future<Boolean> future : futures) {
future.get(); // 这将阻塞直到任务完成
}
// 关闭线程池
executor.shutdown();
}
}
相关文章
- JAVA实现压力测试
- 如果要用java实现算法,一定慎用递归
- 用exe4j将jar包打包成exe文件实现无java环境运行
- Java POI组件实现多个Excel文件整合成一个多Sheet的Excel文件
- Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻直播带货及 免 费 小程序商城搭建的完整指南
- Junit 测试时报 java.lang.NullPointerException——空指针异常
- 用Jmeter实现多个用户对接口的压力测试
- Jmeter-token登录模式混合压力测试场景设置
- 【压力测试】JMeter 4.0 下载安装及配置环境变量
- Java Swing JTable实现对应增删改查