计算机科学
計算機科學
계산궤과학
Computer Science
2015年
11期
84-89
,共6页
Java锁%软件重构%程序分析%字节码转换
Java鎖%軟件重構%程序分析%字節碼轉換
Java쇄%연건중구%정서분석%자절마전환
Java lock%Software refactoring%Program analysis%Bytecode transformation
Java语言提供了同步锁、可重入锁和读写锁等几种锁机制,在并行程序设计中不同的数据结构使用这几种锁机制时获得的性能通常是不同的.为了在不同的锁机制之间进行自动转换,进而帮助程序员了解程序的性能,提出了一种面向Java锁机制的字节码自动重构框架,并基于该框架实现了字节码重构工具Lock2Lock.Lock2Lock在Quad中间表示的基础上对字节码进行静态分析,并对分析的结果进行一致性验证,通过Javassist完成字节码的重构.使用红黑树、消费者生产者程序以及SPECjbb2005 3个测试程序对Lock2Lock重构工具进行了测试,结果表明,Lock2Lock可以成功地实现从同步锁到可重入锁或读写锁的重构.
Java語言提供瞭同步鎖、可重入鎖和讀寫鎖等幾種鎖機製,在併行程序設計中不同的數據結構使用這幾種鎖機製時穫得的性能通常是不同的.為瞭在不同的鎖機製之間進行自動轉換,進而幫助程序員瞭解程序的性能,提齣瞭一種麵嚮Java鎖機製的字節碼自動重構框架,併基于該框架實現瞭字節碼重構工具Lock2Lock.Lock2Lock在Quad中間錶示的基礎上對字節碼進行靜態分析,併對分析的結果進行一緻性驗證,通過Javassist完成字節碼的重構.使用紅黑樹、消費者生產者程序以及SPECjbb2005 3箇測試程序對Lock2Lock重構工具進行瞭測試,結果錶明,Lock2Lock可以成功地實現從同步鎖到可重入鎖或讀寫鎖的重構.
Java어언제공료동보쇄、가중입쇄화독사쇄등궤충쇄궤제,재병행정서설계중불동적수거결구사용저궤충쇄궤제시획득적성능통상시불동적.위료재불동적쇄궤제지간진행자동전환,진이방조정서원료해정서적성능,제출료일충면향Java쇄궤제적자절마자동중구광가,병기우해광가실현료자절마중구공구Lock2Lock.Lock2Lock재Quad중간표시적기출상대자절마진행정태분석,병대분석적결과진행일치성험증,통과Javassist완성자절마적중구.사용홍흑수、소비자생산자정서이급SPECjbb2005 3개측시정서대Lock2Lock중구공구진행료측시,결과표명,Lock2Lock가이성공지실현종동보쇄도가중입쇄혹독사쇄적중구.