1. 1
  2. 2
  3. 3
最新发布 每页10条   共296条   当前第22页
  • 应该选

    不会压测?没关系,手把手教你用jmeter做压力测试及结果分析

    yexindonglai@163.com 2022-03-01 11:14 研发管理

    1172°

    0

    1、准备  测试之前需要先准备相关的工具,JMeter是运行在jdk下的一款压测工具,所以,要运行JMeter首选要安装jdk并配置环境变量,具体请自行百度jdk环境变量安装; 2、JMeter是什么ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP 服务器,等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能
  • 应该选

    你的单例模式真的安全吗?双重检索模式和指令重排序助你高垒单例安全防御

    yexindonglai@163.com 2022-03-01 11:12 Java

    622°

    0

    前言  单例的五种创建方式,可以看我另一篇文章: 设计模式--单例模式 ,这篇文章讲解了5种单例模式的创建方式,但今天我们来主要来讲讲单例的安全模式,那到底怎样才是安全的呢?那么接下来我会由浅入深的方式讲解单例模式;1、饿汉式packagecom.designPatterm.single;/***单例模式--饿汉式*线程安全,效率高*/publicclassSingletonModelEHan{privatestaticfinalSingletonModelEHanobj=newSingletonModelEHan();//私有构造方法,防止创建多个实例privateSingletonMode
  • 应该选

    图解ConcurrentHashMap的前世今生

    yexindonglai@163.com 2022-03-01 11:11 Java

    546°

    0

    前言   首先呢,想要了解ConcurrentHashMap,你得先了解HashMap,可以看我另一个帖子: HashMap底层原理以及LinkedHashMap、HashTable、HashSet四者区别  为什么要先了解HashMap呢?因为HashMap是线程不安全的类,只适合在单线程上使用,既然使用受限,那就意味着它的结构相对比较简单,所以呢,先学HashMap在来了解ConcurrentHashMap将会更好理解,达到锦上添花的作用,事实也是如此,因为ConcurrentHashMap也是基于HashMap发展而来的;如果你一上来就直接看ConcurrentHashMap的源码,会非
  • 应该选

    ReentrantLock使用Condition实现线程的等待和唤醒

    yexindonglai@163.com 2022-03-01 11:09 Java

    502°

    0

    ReentrantLock   ReentrantLock的出现是为了替代synchronized,因为使用lock锁之后代码会更加简洁,增加易读性,但是在jdk1.6之后,synchronized增加了一个锁升级的概念,所以从jdk1.6开始,都优先使用synchronized,这不代表着ReentrantLock就要废弃了,synchronized是一个非公平锁,若要实现公平锁就得使用ReentrantLock;所以啊,没有万能的工具,但可以通过场景的不同而选择最适合的工具来使用;ConditionCondition是为了控制线程的挂起和唤醒而发明的;也就是用来实现线程之间通讯使用的接口,
  • 应该选

    java多线程join()方法的作用和实现原理

    yexindonglai@163.com 2022-03-01 11:07 Java

    481°

    0

    1、join()方法的作用  这个方法的作用是先将当前线程挂起,待其他线程结束后在执行当前线程的代码;2、应用场景比如有三个人小红、小李、小王,三个人相约一起去酒店吃饭,菜已经点好了, 三个人从不同的地方出发,只有三个人都到了酒店之后才会开始上菜;那么这三个人就分别代表三个线程,这三个线程执行完之后才会执行“上菜”的代码逻辑,代码示例packagecom.Lock;/***join方法示例*比如有三个人小红、小李、小王,三个人相约一起去酒店吃饭,菜已经点好了, 三个人从不同的地方出发,只有三个人都到了酒店之后才会开始上菜;那么这三个人就分别代表三个线程,这三个线程执行完之后才会执行“上菜”的代
  • 应该选

    简约而不简单的CountDownLatch

    yexindonglai@163.com 2022-03-01 11:06 Java

    434°

    0

    CountDownLatch是什么?  CountDownLatch是JDK1.5之后提供的一个同步工具,在并发包下面,它可以让一个或多个线程等待,一直等到其他线程中执行完成一组操作。实现功能和java多线程中的join()方法很像;想要详细了解join方法可以看我另一篇文章: java多线程join()方法的作用和实现原理 CountDownLatch有哪些常用方法CountDownLatch在调用构造方法初始化时,需要指定用给定一个整数作为计数器;这个计数器用来阻塞await方法;countDown方法: 计数器会被减1,调用此方法不会阻塞await方法      :如果计数器大于0时,线
  • 应该选

    原来jdk自带了这么好玩的工具 > JPS使用教程

    yexindonglai@163.com 2022-03-01 11:05 Java

    548°

    0

    jps(JavaVirtualMachineProcessStatusTool)输出主程序的路径全类名-l输出main方法的参数-m只输出进程编号pid-q输出jvm参数-v组合命令-mlv远程连接jps服务端配置客户端配置完jps(JavaVirtualMachineProcessStatusTool)jps是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。jps也是一样,它的作用是显示当前系统的java进程
  • 应该选

    中断线程的玩法 interrup()、interrupted()、isInterrupted()

    yexindonglai@163.com 2022-03-01 11:04 Java

    480°

    0

    中断线程的使用场景interrup()interrupted()isInterrupted()如何中断运行中的线程interrupted()方法的坑当中断线程遇到阻塞方法wait()、join()、sleep()完中断线程的使用场景想象这样一个场景,当我们打开了一个杀毒软件,此时杀毒软件正在扫描你的磁盘文件是否有病毒,但是扫描到一半的时候,你发现电脑太卡了,想要关闭杀毒软件,这时候你点击右上角的X按钮,杀毒软件中所有正在扫描的线程就会中断扫描并且关闭线程的执行,当所有线程都退出后,杀毒软件也随之关闭;中断在计算机中是一个很重要的机制,它决定你了计算机响应速度的快慢,假如没有中断机制,这时候你点
  • 应该选

    【多图预警】带你了解ReentrantLock底层执行原理、揭开AQS的神秘面纱

    yexindonglai@163.com 2022-03-01 11:04 Java

    640°

    0

    什么是AQSReentrantLock【独占锁】CountDownLatch【倒计时门栓】Semaphore【信号量】ReentrantReadWriteLock【读写锁】AQS的内部结构AQS常用方法·staste锁标志位·CLH队列以下是waitStatus的状态值CLH队列的真正面目通过ReentrantLock解读AQS温馨提示非公平锁非公平锁—第一个线程上锁过程(首次上锁)非公平锁—第二个线程抢锁说明非公平锁—第三个线程抢锁公平锁公平锁—第一次上锁公平锁—第二次上锁解锁源码解析非公平锁的lock()方法公共acquire(intarg)方法非公平锁tryAcquire()方法addW
  • 应该选

    原来jdk自带了这么好玩的工具 > jstat使用教程

    yexindonglai@163.com 2022-03-01 11:02 Java

    542°

    0

    什么是jstatjstat用法-命令选项vmid间隔时间/毫秒查询次数命令选项介绍【options】-class打印出类加载的信息-compiler编译信息的数量和时间-gc打印堆内存使用情况和垃圾回收统计信息的命令-gccapacity打印堆内存使用情况-gccause打印出导致GC的原因-gcnew新生代垃圾回收统计-gcnewcapacity新生代内存大小统计-gcold老年代垃圾回收统计-gcoldcapacity老年代内存大小统计-gcpermcapacity永久代(方法区)空间统计jdk7-gcmetacapacity元数据空间统计jdk8-gcutil总结垃圾回收统计-print