StopWatch 监控Java代码运行时间和分析性能
来源:互联网 发布:华南理工大学绩点算法 编辑:程序博客网 时间:2024/06/05 00:51
我们在日常进行Java语言开发时,可能需要监控不同方法的运行时间,知道性能瓶颈在哪。利用springframework框架的工具类StopWatch可以快速方便的查看到每段代码运行的时间,准确确定性能瓶颈所在。
使用StopWatch类也很简单。new出实例,调用该实例的start()和stop()方法即可。如下代码
StopWatch stopWatch = new StopWatch();//房间类型图片List<ImageData> images = platenoHotelService.getHotelImage(innId, 2);Map<String, String> imageUrl = new HashMap<>();if (images !=null) {for (ImageData image : images) {imageUrl.put(image.getRoomTypeCode(), image.getImageUrl());}}//调用酒店房型列表stopWatch.start("search.getHotelRoomType");String roomType = platenoHotelService.getHotelRoomType(innId);stopWatch.stop();stopWatch.start("search.parseObject");JSONObject roomTypeList = JSONObject.parseObject(roomType);JSONArray roomTypeArray = roomTypeList.getJSONObject("data").getJSONArray("roomTypeData");stopWatch.stop();List<HotelRoomTypeVO> hotelRoomTypeVOList = new ArrayList<>();stopWatch.start("search.roomTypeArrayForeach");for (Object roomTypeItem : roomTypeArray) {JSONObject roomTypeObject = (JSONObject)roomTypeItem;HotelRoomTypeVO hotelRoom = JSONObject.toJavaObject(roomTypeObject, HotelRoomTypeVO.class);if(hotelRoom.getValid() == 1) {RealRoomStatusData realRoomStatusData = platenoHotelService.getHotelRoomInfo(innId, hotelRoom.getRoomTypeCode(), endOfDay, sourceType, days);if (realRoomStatusData != null) {hotelRoom.setImageUrl(imageUrl.get(hotelRoom.getRoomTypeCode()));hotelRoom.setRealRoomStatusData(realRoomStatusData);hotelRoomTypeVOList.add(hotelRoom);}}}stopWatch.stop();logger.info("[酒店房型列表耗时:]" + stopWatch.prettyPrint());
为了查看结果,调用prettyPrint()方法即可,下图就是上面示例的运行结果。可以看出总花费时间6062ms。三列分别为监控代码段的花费时间(毫秒)、百分比、名称。可以很直观看出每段代码的运行时间以及所占比分比,帮助我们快速找到主要性能问题。
阅读全文
0 0
- StopWatch 监控Java代码运行时间和分析性能
- StopWatch 监控Java代码运行时间和分析性能
- 使用 Stopwatch 精确测试代码运行时间
- 关于代码运行时间Stopwatch的使用
- 使用Stopwatch类计算代码运行时间
- Stopwatch测量运行时间
- 计算代码片段运行时间的方法 System.Diagnostics.Stopwatch
- C# 中用stopwatch测试代码运行时间及递归比较
- 用Stopwatch类(System.Diagnostics)代码的运行时间
- java StopWatch统计时间
- 测量运行时间StopWatch类
- Java 运行时监控之 1 :Java 系统运行时性能和可用性监控
- Java 运行时监控,第 1 部分: Java 系统运行时性能和可用性监控
- Java 运行时监控,第 1 部分: Java 系统运行时性能和可用性监控
- Java 运行时监控,第 1 部分: Java 系统运行时性能和可用性监控
- Java 系统运行时性能和可用性监控
- 使用Stopwatch计算程序运行的时间
- C# Stopwatch 类测量脚本运行时间
- Java学习篇5-面向对象
- 7-17常用类上
- canvas实现图像截图展示
- Android NDK: From Elementary to Expert Episode 19
- 拓扑排序
- StopWatch 监控Java代码运行时间和分析性能
- 正确答案
- NOIP 提高组 初赛 四、阅读程序写结果 习题集(三)NOIP2002-NOIP2003
- 数据结构——绪论
- 17.7.17
- jni问题总结:jni error (app bug): accessed stale local reference
- centos 7 发送邮件
- Java正则
- Python 3.6 api-ms-win-crt-runtime-l1-1-0.dll丢失