Java Mission Control 5.2终于来了! 欢迎7u40!

自从我们上次听说这个叫做任务控制的小东西已经有一段时间了。 它从JRockit一直到现在都被重命名为Java Mission Control。 这是从HotSpot和JRockit融合战略中幸存下来的部分之一。 使用今天的Java SE 7 Update 40,您实际上可以再次使用它。

Java Mission Control 5.2

以前的JRockit任务控制(JRMC)现在称为Java任务控制(JMC),它是一个工具套件,其中包括用于监视,管理,分析和消除Java应用程序中的内存泄漏的工具,而不会引入通常与以下工具相关的性能开销:这个类型。 直到今天,Oracle HotSpot下载中都提供了5.1版本,只有从Oracle支持网站上的付费客户才能获得该版本。 今天的版本是与Hotspot JDK捆绑在一起的Java Mission Control的第一个版本! JRockit和Hotspot之间的融合项目已达到临界规模。 在Hotspot JDK的7u40版本中,Hotspot提供了相当数量的Flight Recorder信息。 终于有了道理。 除了数百个小的修复和改进之外,JMC Client现在已构建为可以在Eclipse 3.8.2 / 4.2.2上运行,并且还具有带有服务器端子注释的新JVM浏览器。 这使跟踪正在运行的记录和JVM变得容易得多。

Java飞行记录器(JFR)

但是主要和最重要的功能是飞行记录器。 飞行记录功能可处理事件。 这些事件需要由基础JVM产生。 现在,热点已与JRockit达成事件融合。 这意味着从JRockit提供的最有用的信息现在也可以从Hotspot获得。 而且因为这些是完全不同的JVM; 在某些情况下,信息会有所不同。 您的应用程序的总体分析开销仍然保持在不到2%的水平。 通常少得多。 考虑到您获得的信息,这几乎是零。

带GlassFish 4的JFR

让您的手变脏,然后尝试使用最新的GlassFish。 首先更改您的glassfish4 \ glassfish \ config \ asenv.conf / .bat并添加AS_JAVA = PATH / TO / JDK7u40,现在启动域并导航到JVM选项。 或者,作为替代方法,打开glassfish4 \ glassfish \ domains \ domain1 \ config \ domain.xml并搜索相关的java-config标记并添加以下两个jvm-options:

<jvm-options>-XX:+UnlockCommercialFeatures</jvm-options><jvm-options>-XX:+FlightRecorder</jvm-options>

现在,重新启动域并查找jdk1.7.0_40 \ bin \ jmc并将其启动。 如果您在同一台计算机上运行,​​则应该已经在JVM浏览器中看到了可用JVM的列表。 如果展开GlassFish节点并双击“ MBean Server”节点,您将获得有关当前情况的良好概览:

公开

从那里,您可以通过右键单击JVM浏览器中的“飞行记录器”节点来开始飞行记录。 选择所需的记录时间和事件设置(现在,btw具有新的模板功能可以预选择事件并单击“完成”。在所需的时间范围之后,将记录下载到JMC,您可以浏览时间线并查找瓶颈。

一个非常小的缺点是,您无法使用GlassFish 3运行它。对于jvm-options的排序,4.0版中已修复一个已知的错误 。

什么是热的?

自切片品种以来最好的事情是,您现在有了方法分析事件! 通过方法分析事件,您可以找出应用程序在哪里花费最多的时间来执行Java代码。 例如,这对于优化实际上会产生影响的应用程序很有用。

method_profiling

进一步,您将获得一个改进的分配配置选项卡。您现在可以查看每个TLAB分配的跟踪信息,并且可以直接在旧空间中分配对象。 在飞行记录器的所有选项卡中,都将继续使用“新的和改进的”主题。 您将获得文件I / O,套接字I / O以及许多其他的东西,它们提供了很多见解。

实验性插件

而对我来说最好的部分是,团队继续使用大量实验性插件。 添加了一个新的名为JOverflow的–用于内存浪费的堆转储分析。 该插件允许Mission Control进行堆转储分析,主要是寻找浪费的堆空间。 JOverflow将寻找几种不同的反模式,例如重复的字符串,未充分利用的集合等。此插件还添加了一个操作(用于本地连接),该操作将执行堆转储,然后使用JOverflow可视化堆转储。 这可能是您可以从JRMC中得知的Memleak分析仪的短期替代品。 D-Trace插件也进行了大修。 您可以在Marcus Hirt的博客中找到有关它的更多信息。

下载和进一步阅读

您可以从Oracle技术网Java SE下载页面 grep下载最新的7u40。 Java Mission Control已经集成,您可以运行它了。

如果需要更多信息,请访问oracle.com/missioncontrol ,在其中可以找到指向文档和Eclipse更新站点的链接。

参考: Java Mission Control 5.2终于来了! 欢迎7u40! 来自我们的JCG合作伙伴 Markus Eisele在Java的企业软件开发博客中。

翻译自: https://www.javacodegeeks.com/2013/09/java-mission-control-5-2-is-finally-here-welcome-7u40.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webview布局适配实践

一、相关概念 1、viewport&#xff1a;移动设备&#xff08;包括webview&#xff09;用来显示网页的那一块区域&#xff1b; 2、devicePixelRatio属性(别名像素比&#xff0c;简称dpr)&#xff1a;window.devicePixelRatio 物理像素 / 独立像素(css中的px)&#xff1b; 3、rem…

mysql count 不等于_Mysql 不同的 count 区别

不同 count 的区别&#xff1a;count(*)、count(主键 id)和 count(1) 都表示返回满足条件的结果集的总行数&#xff1b;而 count(字 段)&#xff0c; 则表示返回满足条件的数据行里面&#xff0c;参数“字段”不为 NULL 的总个数。性能&#xff1a;count(主键 id)&#xff1a;I…

Python3爬虫(四)请求库的使用requests

Infi-chu: http://www.cnblogs.com/Infi-chu/ 一、基本用法&#xff1a; 1. 安装&#xff1a; pip install requests 2. 例子&#xff1a; import requests url http://www.baidu.com r requests.get(url) print(type(r)) # 类型是str&#xff08;JSON格式&#xff09; pr…

后台通过request.setAttribute向前台传值,前台如何去获取其中的对象或属性值

讲这些&#xff0c;我们先来了解一下request.setAttribute和request.setAttribute()这两种方法的作用。 request.getAttribute("nameOfObj"); 可得到jsp页面表单中输入框内的value。&#xff08;其实表单控件中的Object的name与value是存放在一个哈希表中的&#xff…

两个用于Eclipse的TCK –开源到底有什么?

早在5月&#xff0c;Oracle就向Eclipse Foundation 授予了兼容性测试奖学金 。 在过去的几天里&#xff0c;这引起了媒体的关注&#xff0c;我只是想确保我对整个过程和详细动作有所了解。 看起来像是一见钟情的简单诚实的礼物实际上具有更多的方面。 但让我们从头开始&#xf…

尝试连接到服务器时出错请检查虚拟机管理器,Hyper-V尝试连接到服务器出错无效类的解决方法...

Hyper-V尝试连接到服务器出错无效类的解决方法Windows10安装Hyper-V后没有自动连接到本地计算机&#xff0c;手工连接失败&#xff0c;提示&#xff1a;引用内容尝试连接到服务器"DESKTOP-6P9L2HB"时出错。请检查虚拟机管理服务是否正在运行以及是否授权你连接到此服…

Flask和mysql多线程_Flask解析(二):Flask-Sqlalchemy与多线程、多进程

Sqlalchemyflask-sqlalchemy的session是线程安全的&#xff0c;但在多进程环境下&#xff0c;要确保派生子进程时&#xff0c;父进程不存在任何的数据库连接&#xff0c;可以通过调用db.get_engine(appapp).dispose()来手动销毁已经创建的engine&#xff0c;然后再派生子进程。…

深入理解redis数据类型

转载请注明出处&#xff1a;https://www.cnblogs.com/wenjunwei/p/9720033.html redis的存储模型 redis不是普通的键值对存储&#xff0c;它实际上是一个数据结构存储服务器&#xff0c;可以支持不同类型的值。这意味着redis相比传统键值对字符串key和字符串value存储来说&…

centos7 登陆报错 grep:write error

出现这个原因是因为磁盘空间满了 通过df -h查看存储空间 发现磁盘空间满了&#xff0c;可以用 find / -type f -size 1000M 查找大于1000M的文件删除 然后找到用rm -rf 命令删除 然后就不会出现这个问题了&#xff01;转载于:https://www.cnblogs.com/lxs1314/p/8961113.html

你敢在post和get上刁难我,就别怪我装逼了

> 掘金编辑提醒&#xff1a;本文疑似有误&#xff0c;参考 听说「99% 的人都理解错了 HTTP 中 GET 与 POST 的区别」 之前好几次面试都被问到post和get有什么区别&#xff0c;肯定很多同学和我一样说了一大堆什么post比get安全&#xff0c;get比post传的少乱起八糟这样的答案…

昂首阔步:让开发人员喜欢使用您的REST API

随着JAX-RS API的发展&#xff0c;以及今年早些时候在JSR-339下发布的2.0版本&#xff0c;使用出色的Java平台创建REST服务变得更加容易。 但是&#xff0c;极大的简化带来了巨大的责任&#xff1a;记录所有这些API&#xff0c;以便其他开发人员可以快速了解如何使用它们。 不…

thinkphp mysql 更新_THINKPHP5修改数据库数据出现“缺少更新条件”的错误

查询数据库的数据分配显示在页面山修改后的数据准备传递到第三章图里接收数据&#xff0c;然后修改到数据问题出现的环境背景及自己尝试过哪些方法相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)第一张图代码public function edit(){$db_01new DB();$id_editRequest::…

angular ajax get post 参数,Angular的Post 传递参数问题及解决方法

一、传递参数过程中POST会出问题&#xff0c;问题来源&#xff1a;我们都知道向后台传参可以使用get、post&#xff0c;其形式类似于nameiyy&id001 。但是在angular中却发现使用$http post 进行异步传输的过程中后台是接收不到数据的&#xff0c;其实这个问题就是因为请求头…

[No0000187]可能是把Java内存区域讲的最清楚的一篇文章

写在前面&#xff08;常见面试题&#xff09; 基本问题&#xff1a; 介绍下 Java 内存区域&#xff08;运行时数据区&#xff09;Java 对象的创建过程&#xff08;五步&#xff0c;建议能默写出来并且要知道每一步虚拟机做了什么&#xff09;对象的访问定位的两种方式&#xff…

Java语言基础及java核心

一、Java语言特点 1、 简单 2、 面向对象 3、 分布式 4、 健壮 5、 安全 6、 中性架构跨平台 7、 超强的可移植性 8、 高性能 9、 多线程 二、java的环境变量 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_101 &#xff08;到你的安装目录下&#xff09; CLASSPASH./ &#xff0…

如何使用Quartz Scheduler和日志记录创建Web应用程序

我有时会在Quartz Scheduler论坛中为用户提供帮助。 有时&#xff0c;有人会问他/她如何在Web应用程序中设置Quartz。 实际上&#xff0c;这是一件相当简单的事情。 该库已经带有一个ServletContextListener &#xff0c;您可以使用它启动调度程序。 我将在这里向您展示一个简单…

移动端日期选择插件rolldate

rolldate为上一版jquery移动端时间插件的全新版本&#xff0c;目前保留了上一版的大部分功能&#xff0c;并且增加了回调函数&#xff0c;以及主题风格选取&#xff0c;最重要的是解决了上一版本的遗留问题&#xff0c;依赖jquery、滑动不够流畅、参数设计不够合理等等。开发日…

ik分词器 mysql php_php环境下使用elasticSearch+ik分词器进行全文搜索

首先需要说明的一点是&#xff0c;如果需要启用ik分词器&#xff0c;那么分词器的版本必须与es版本一致&#xff0c;即6.3.0的分词器需要同样6.3.0版本的es支持。安装javawin-64bit的安装包需要去java英文官网查找安装ES6.3.0版本es下载地址&#xff1a;https://www.elastic.co…

服务器如何查看gpu型号,linux 查看服务器gpu

linux 查看服务器gpu 内容精选换一换本节操作介绍通过华为云APP连接Linux实例的操作步骤。云服务器状态为“运行中”。已获取Linux云服务器用户名和密码&#xff0c;忘记密码请参考在控制台重置云耀云服务器密码重置密码。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开…

Antd-Select组件的深入用法

一、Antd-Select提供几种类型 最基础版只提供下拉功能的选择器带搜索功能的下拉选择器可多选的下拉选择器可搜索、可多选、可随意输入内容的tag下拉选择器(支持自动分词)多级联动下拉选择器搜索远程数据下拉框二、一些潜在用法 如果Select.Option选项的数量特别大:2k、3k... 假…