08 2018 档案

摘要:Lock: getHoldCount(): 获取当前线程调用lock()方法的次数 1 import java.util.concurrent.locks.ReentrantLock; 2 3 public class Service { 4 private ReentrantLock lock = 阅读全文
posted @ 2018-08-31 17:27 为你编程 编辑
摘要:非公平锁: 1 import java.util.concurrent.locks.ReentrantLock; 2 3 public class Service { 4 5 private ReentrantLock lock; 6 7 public Service(boolean isFair) 阅读全文
posted @ 2018-08-31 17:12 为你编程 编辑
摘要:公平锁: 1 import java.util.concurrent.locks.ReentrantLock; 2 3 public class Service { 4 5 private ReentrantLock lock; 6 7 public Service(boolean isFair) 阅读全文
posted @ 2018-08-31 17:09 为你编程 编辑
摘要:Condition实现多对多交替打印: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 /** 5 * 生产者消费者逻辑 6 */ 7 publ 阅读全文
posted @ 2018-08-31 17:05 为你编程 编辑
摘要:Condition实现一个生产者一个消费者,实现一对一交替打印: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 /** 5 * 生产消费逻辑 阅读全文
posted @ 2018-08-31 16:58 为你编程 编辑
摘要:多个condition实现通知部分线程: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import java.util.concurrent.locks.Reen 阅读全文
posted @ 2018-08-31 16:54 为你编程 编辑
摘要:使用Condition实现等待/通知: 1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import java.util.concurrent.locks.Reent 阅读全文
posted @ 2018-08-31 16:50 为你编程 阅读(260) 评论(0) 推荐(0) 编辑
摘要:ReentrantLock: 1 /** 2 * ReentrantLock测试逻辑类 3 */ 4 public class MyService { 5 private Lock lock = new ReentrantLock();//获取锁对象 6 7 public void methodA( 阅读全文
posted @ 2018-08-31 16:40 为你编程 编辑
摘要:ReentrantLock: 1 /** 2 * ReentrantLock测试逻辑类 3 */ 4 public class MyService { 5 private Lock lock = new ReentrantLock();//获取锁对象 6 7 public void testMeth 阅读全文
posted @ 2018-08-31 16:36 为你编程 编辑
摘要:通过管道进行线程通信-字符流: 1 import java.io.IOException; 2 import java.io.PipedReader; 3 4 /** 5 * PipedReader 6 */ 7 public class ReadData { 8 9 public void rea 阅读全文
posted @ 2018-08-31 16:34 为你编程 编辑
摘要:通过管道进行线程通信-字节流: 1 import java.io.IOException; 2 import java.io.PipedInputStream; 3 4 /** 5 * PipedInputStream 6 */ 7 public class ReadData { 8 9 publi 阅读全文
posted @ 2018-08-31 16:30 为你编程 编辑
摘要:多个生产者/多个消费者: 1 /** 2 * 生产者 3 */ 4 public class P { 5 private MyStack stack; 6 7 public P(MyStack stack) { 8 this.stack = stack; 9 } 10 11 public void 阅读全文
posted @ 2018-08-31 16:22 为你编程 编辑
摘要:多个生产者/一个消费者: 1 /** 2 * 生产者 3 */ 4 public class P { 5 6 private MyStack stack; 7 8 public P(MyStack stack) { 9 this.stack = stack; 10 } 11 12 public vo 阅读全文
posted @ 2018-08-30 17:45 为你编程 编辑
摘要:一个生产者/多个消费者: 1 /** 2 * 生产者 3 */ 4 public class P { 5 6 private MyStack stack; 7 8 public P(MyStack stack) { 9 this.stack = stack; 10 } 11 12 public vo 阅读全文
posted @ 2018-08-30 17:40 为你编程 编辑
摘要:一个生产者/一个消费者: 1 /** 2 * 生产者 3 */ 4 public class P { 5 private String lock;//锁 6 7 public P(String lock) { 8 this.lock = lock; 9 } 10 11 public void set 阅读全文
posted @ 2018-08-30 17:29 为你编程 编辑
摘要:一个生产者/一个消费者: 1 /** 2 * 生产者 3 */ 4 public class P { 5 private MyStack stack; 6 7 public P(MyStack stack) { 8 this.stack = stack; 9 } 10 11 public void 阅读全文
posted @ 2018-08-30 17:14 为你编程 编辑
摘要:JVM监控 1、通过jps获取java进程id >pid 2、然后通过jstat -gc pid 2000 (其中pid为java进程的id,该命令表示使用kb为单位 每2秒打印一次堆栈的使用情况和垃圾回收情况) 如图: 参数说明(title): 分析: 分析问题的出发点总结: 1、如果FGC的次数 阅读全文
posted @ 2018-08-29 20:08 为你编程 编辑
摘要:JVM配置说明: 注:基于java应用的JVM配置 JVM: 备注:全局数据区,目的为了节省内存空间,避免所有new的对象中共同属性都开辟内存空间 因为堆和栈是动态分配内存空间的,所有配置JVM就是基于堆栈内存空间的分配。 配置JVM的位置: Linux:在tomcat下的bin/catalina. 阅读全文
posted @ 2018-08-29 19:36 为你编程 编辑
摘要:1 package com.yanfuchang.selenium.utils; 2 3 import java.awt.AWTException; 4 import java.awt.Robot; 5 import java.awt.event.KeyEvent; 6 import java.io 阅读全文
posted @ 2018-08-29 18:23 为你编程 编辑
摘要:1 from selenium import webdriver 2 from selenium.webdriver.support.wait import WebDriverWait 3 from selenium.webdriver.support import expected_conditi 阅读全文
posted @ 2018-08-29 18:17 为你编程 编辑
摘要:JMeter取样器: 1、右键点击新建的线程组,选择Add >Sampler >HTTP Request:(如图) 2、新建取样器之后的界面如图: 3、根据上图中的数字标识解释: 1、Name:取样器名称,(建议写成请求接口的地址,例如:/login 这样在有多个取样器的时候,左侧列表就可以知道该取 阅读全文
posted @ 2018-08-29 17:56 为你编程 编辑
摘要:JMeter线程组: 备注:文章中是JMeter4.0的截图 1、启动JMeter后,右键点击TestPlan(如图),选择Thread Group(线程组): 2、选择左侧新建的Thread Group: -根据图中数字对应讲解: 1、Name:该线程组的名称. Comments:注释内容,备注信 阅读全文
posted @ 2018-08-29 17:13 为你编程 编辑
摘要:JMeter的下载: 1、Jmeter官网:http://jmeter.apache.org/ 2、点击左侧Download Releases,如图: 3、下载页面点击对应的版本下载: -(xxx.tgz) 为linux版本 -(xxx.zip) 为windows版本 4、下载老版本: -点击上图中 阅读全文
posted @ 2018-08-29 16:19 为你编程 编辑

点击右上角即可分享
微信分享提示