iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 代码JIT友好度检测工具
  • 523
分享到

Android 代码JIT友好度检测工具

工具Android 2022-06-06 07:06:49 523人浏览 泡泡鱼
摘要

利用周末的时间,写了一个检测Android代码JIT友好度的工具,取个名字为DroidJitChecker。希望可以帮助大家快速发现有坏味道的代码,并且及时修正。 名词解释

利用周末的时间,写了一个检测Android代码JIT友好度的工具,取个名字为DroidJitChecker。希望可以帮助大家快速发现有坏味道的代码,并且及时修正。

名词解释

JIT:JIT全称Just-in-time compilation。意思为实时编译,是JVM中一种优化技术,对频繁调用并且符合条件的方法进行优化将字节码翻译成机器代码,提升执行效率。 方法大小:每个方法的方法体实现都可用字节作为单位进行衡量,通常情况下,方法体越大,其方法大小也越大。 JIT友好:通常方法体实现越小越简单,越对JIT编译友好。

这是什么

这是一个检测Android(目录组织结构)代码JIT友好度的工具 该工具基于AdoptOpenjdk/jitwatch中的jarScan.sh进行组装 输出结果支持html,便于在浏览器中查看

前提准备

所检测Android项目可以支持Gradle编译成功 安装jitwatch套件 ruby运行环境

安装

安装jitwatch组件

获取代码

git clone git@GitHub.com:AdoptOpenJDK/jitwatch.git

编译

进入上面的repo目录,采用以下三种方法之一即可

ant

ant clean compile test run

Maven

mvn clean compile test exec:java

Gradle

gradlew clean build run

配置

获取本repo的代码,并打开config.ini文件修改


[setup]
jarScan = "/Users/androidyue/github/jitwatch/jarScan.sh"
maxMethodSize = 325
outputDir = "/tmp/DroidJitChecker/output_new/"

修改说明

jarScan 必须修改,修改成已经安装的的JarScan路径 maxMethodSize 无需更改,如更改请谨慎 输出目录,outputDir,建议修改为可以持续存在的目录

如何使用

使用比较简单,打开终端,执行如下语句

ruby jitChecker.rb your_android_project jarTask

注意:jarTask是一个将工程的java文件编译成jar包的任务,可以通过执行./gradlew tasks 查看,然后选择以jar开头的任务即可。

查看结果

检查结束后,会自动使用浏览器打开结果 结果文件路径也会输出到终端 结果文件名中包含了相关的jarTask信息,便于查找 结果内容,依照方法的字节大小,从大到小降序排列

一个典型的内容示例

MD4.mdfour64


Package:com.app.utils
Parameters:int[]
ByteSize:1129
MD4.mdfour64 对JIT不友好的方法及其所属类 Package:com.app.utils 上述MD4所属的包 Parameters:int[] mdfour64方法接受的参数 ByteSize:1129 表示mdfour64方法持有的大小

如何解决

书写逻辑简单,职责单一的小方法 书写逻辑简单,职责单一的小方法 书写逻辑简单,职责单一的小方法

贡献代码

任何有帮助的建议都欢迎。

以下代码贡献更收欢迎

美化结果展示页面(HTML,CSS

问题

问:字节量大的方法一定要修改么,修改后就能JIT编译么

答:字节量大的方法建议修改,非强制,修改后不一定就能JIT编译,因为对JIT优化并不意味着JIT就编译该方法,还需要其他因素,比如该方法的调用频率。所以这是一个你情我愿的事情。

为什么用Ruby

答:有了idea时很纠结,因为不确定用什么语言实现,尤其是在python和ruby之间,为此问了不少同学,最后“一意孤行”决定用Ruby了,不喜欢Python的强制对齐,超级喜欢Ruby的字符串模板。Ruby很简单,很人性化,相信你会喜欢的。

源码

DroidJitChecker@Github

以上就是对Android JIT 代码友好度检测工具的资料整理,谢谢大家对本站的支持!

您可能感兴趣的文章:Android发布项目到jitpack的完整步骤


--结束END--

本文标题: Android 代码JIT友好度检测工具

本文链接: https://www.lsjlt.com/news/24127.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android内存泄漏检测工具LeakCanary
    目录背景LeaksCanary 介绍使用方法1.LeakCanary 如何自动初始化2.LeakCanary如何检测内存泄漏2.1LeakCanary初始化时做了什么2.2LeakC...
    99+
    2023-05-15
    Android内存泄漏检测 Android LeakCanary
  • linux服务器怎么安装SonarQube代码检测工具
    这篇文章主要介绍了linux服务器怎么安装SonarQube代码检测工具的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux服务器怎么安装SonarQube代码检测工具文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-02
  • PHP中的代码检查工具
    检查代码质量是每个程序员都必须要做的任务,而PHP中也有很多工具可以用于检查代码的质量和风格,从而提高代码的可读性和可维护性,提高代码的可靠性和安全性。本文将介绍几种常见的PHP代码检查工具,并对它们进行简单的比较和评估,希望可以帮助读者在...
    99+
    2023-05-24
    PHPUnit PHP_CodeSniffer PHPMD
  • 第38篇:Checkmarx代码审计/代码检测工具的使用教程(1)
     Part1 前言  Checkmarx是以色列研发的一款代码审计工具,是.NET开发的,只能在Windows下使用。很多人喜欢把它和fortify进行比较,其实很难说两款工具孰优孰劣,各有秋千吧,两款工具配合起来互补一下更好。Che...
    99+
    2023-10-11
    sqlserver 数据库 服务器
  • Android APP隐私合规检测工具Camille使用
    目录 一、简介二、环境准备常用使用方法 一、简介 现如今APP隐私合规十分重要,各监管部门不断开展APP专项治理工作及核查通报,不合规的APP通知整改或直接下架。camille可以hook住Android敏感接口,检测是否第三方...
    99+
    2023-08-24
    android adb
  • 好用的java在线代码测试工具有哪些
    以下是一些常用的Java在线代码测试工具:1. JDoodle:这是一个功能强大的在线代码编辑器,支持多种语言,包括Java。用户可...
    99+
    2023-09-25
    Java
  • 源码浅析Android中内存泄漏检测工具Leakcanary的使用
    目录前言源码版本内存泄漏源码浅析检测原理初始化appDefaultWatchers(application)LeakCanaryDelegate.loadLeakCanary(app...
    99+
    2023-05-17
    Android Leakcanary内存泄漏检测 Android Leakcanary使用 Android Leakcanary
  • Android内存泄漏检测工具LeakCanary怎么使用
    这篇“Android内存泄漏检测工具LeakCanary怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android...
    99+
    2023-07-06
  • JS代码检查工具ESLint怎么用
    这篇文章主要介绍了JS代码检查工具ESLint怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ESLint不但提供一些默认的规则,也提供...
    99+
    2024-04-02
  • 怎样引入代码检查工具stylelint
    这篇文章将为大家详细讲解有关怎样引入代码检查工具stylelint,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言团队合作时,当每个人的代码都拥有自定义的格式化方式时,在提交merge的时...
    99+
    2023-06-21
  • 内存泄漏检测工具LeakCanary源码解析
    目录前言使用源码解析LeakCanary自动初始化如何关闭自动初始化LeakCanary初始化做了什么ActivityWatcherFragmentAndViewModelWatch...
    99+
    2023-01-28
    内存泄漏检测LeakCanary 内存泄漏LeakCanary
  • Android App隐私合规检测辅助工具Camille详解
    目录简介安装用法后记场景1APP、SDK违规处理用户个人信息方面1.1违规收集个人信息。1.2超范围收集个人信息。1.3违规使用个人信息。1.4强制用户使用定向推送功能。2设置障碍、...
    99+
    2024-04-02
  • 网络安全中非常好用的webshell检测工具!
      网站服务器被黑客入侵,这是我们身边时常会发生的事情,而当我们遇到网站服务器被入侵时,就需要借助工具来排查系统可能存在的安全漏洞,从而快速解决麻烦,规避风险,这其中webshell检测工具是必不可少的。本文为大家介绍6款常见的Webshe...
    99+
    2023-09-01
    php 开发语言 安全
  • 安利 | 最好用的五大开源入侵检测工具!
    作为网络安全专业人士,我们一直在阻止攻击者访问我们的网络,但随着移动设备,分布式团队和物联网(IoT)的兴起,使得对网络的保护更加困难。网络安全工作者不得不引起重视的问题是,当攻击者成功攻陷你的网络时,你发现攻击的时间越长,数据泄露所造成的...
    99+
    2023-06-04
  • 如何使用工具Source Monitor测量Java代码的环复杂度
    这篇文章主要为大家展示了“如何使用工具Source Monitor测量Java代码的环复杂度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用工具Source Monitor测量Java代码...
    99+
    2023-06-02
  • IDEA中的代码检查工具怎么使用
    使用 IDEA 中的代码检查工具可以帮助开发者找出代码中的潜在问题和优化代码质量。以下是在 IDEA 中使用代码检查工具的步骤: ...
    99+
    2024-04-03
    IDEA
  • Java代码检查工具之PMD的使用方法
    小编给大家分享一下Java代码检查工具之PMD的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍PMD是一个静态源代码分析器。它发现了常见的编程缺陷,如...
    99+
    2023-06-14
  • PHP中封装性的代码质量检查工具
    封装性是面向对象编程的重要原则之一,它可以帮助我们更好地管理代码,减少代码的耦合性,提高代码的可维护性和可复用性。在PHP开发中,为了保证代码的封装性,我们可以借助一些代码质量检查工具来进行静态代码分析。本文将介绍一款常用的PHP代码质量检...
    99+
    2023-10-21
    PHP代码质量 封装性检查工具 PHP代码检查
  • 从PMD工具的规则检测规则学习代码优化技巧有哪些
    这篇文章的内容主要围绕从PMD工具的规则检测规则学习代码优化技巧有哪些进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!讲起静态代码分析工具,估计大家耳...
    99+
    2023-06-17
  • Go代码检查的推荐工具及使用详解
    目录1. Golint2. Golangci-lint3. Go-reporter1. Golint (1)安装golint git clone htt...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作