查看JAVA的class二进制文件的方法】的更多相关文章

hexdump -C filename可以查看二进制文件. 比如java的Test.java public class Test{ public static void main(String[] args){ System.out.println("Hello World!"); } } 1.hexdump javac Test.java之后生成的Test.class,可以使用: 1.1 hexdump -C Test.class  0000000 ca fe ba be 00 00…
在不通过eclipse等IDE安装反编译插件的情况下查看java的.class文件的方法:可以通过下载jd-gui class文件查看工具进行查看.如附件的“jd-gui.exe”程序. 1. 从网上下载jd-gui工具,然后解压,其实此工具并不需要安装,直接就能打开使用,点击工具图标…
研究synchronized底层实现,涉及到查看java字节码的需要 前提是,你的PC已经成功安装了JDK并别配置了环境变量. ==========查看方法========= 一.javap查看简约字节码方式 1.准备一个java文件 例如,文件所在目录在此处 Student.java文件内容如下: package com.sxd.sweeping.test.synchron; public class Student implements Runnable{ static int age; p…
摘要:本文讲述4种查看java对象所占内存大小的方法 本文分享自华为云社区<查看java对象所占内存大小>,作者:xiewenci. 计算java对象所占内存大小 1.使用jdk8自带API 使用这种jdk8方式时,Open JDK 不是天然支持的,需要set一下环境变量 System.setProperty("java.vm.name","Java HotSpot(TM) "); System.out.println(ObjectSizeCalcula…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.一个项目中的真实问题 实际项目中,本想通过C#制作小工具生成SHP的二进制空间索引文件,然后java服务端解析该空间索引文件进行使用. 在真实使用中发现java端解析的该文件内容与C#写入的差别非常大,比如java中解析到的double均为非常大的负数. 2.排查问题 2.1 测试是否C#写入有误 检查写入的值在C#中解译为正确. 2.2 编码错误 用java生成…
工程先用eclipse生成class目录,转到class目录下执行: javap -s com.example.hellojni.MainActivity Compiled from "MainActivity.java" public class com.example.hellojni.MainActivity extends android.app.Activity { static {}; Signature: ()V public com.example.hellojni.M…
查看Java字节码 1 javac –verbose查看运行类是加载了那些jar文件 HelloWorld演示: public class Test { public static void main(String[] args) { Object lock = new Object(); synchronized (lock) { System.out.println("hello world."); } } } javac –verbose HelloWorld.java D:\s…
上文讲述了如何获取类名和方法名,敬请参阅: Java学习-024-获取当前类名或方法名二三文 . 通常在应用开发中,调试或查看是哪个文件中的方法调用了当前文件的此方法,因而在实际的应用中需要获取相应的包名.类名.方法名.行数,从而快速定位,及统计方法被调用的次数,生成类方法关系链. 相信爱钻研的小主们,通过上篇文章,已经懂得了,如何获取主调方法.从调方法.那我直接上码了,敬请各位小主参阅,若有不足之处,敬请各位大神指正,不胜感激! GetClassMethodName.java 源码内容如下所示…
作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自动生成, 因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就看不到效果. 在网上找到的各种解决方法,总结如下:  1.选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clea…
编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务必一致 建议4: 避免带有变长参数的方法重载 建议5: 别让null值和空值威胁到变长方法 建议6:覆写变长方法也循规蹈矩 建议7:警惕自增的陷阱 建议8:不要让旧语法困扰你 建议9:少用静态导入 建议10:不要在本类中覆盖静态导入的变量和方法 建议11:养成良好习惯,显示声明UID 建议12:避免…
java.net.URLDecoder.decode 在项目中碰到了个比较奇怪的问题,就是我在本地使用java.net.URLDecoder.decode(ruleName)方法解码,没有问题,本地的页面也可以正常打开.但是当我把代码移植到测试环境中去的时候,却打不开页面,查看后台日志也没有报错信息. 本地环境用的JDK1.6,tomcat用的7,测试环境JDK1.6 tomcat版本不明确 就纳闷了,因为这个方法已经提示过时了,就在考虑是不是这个问题导致的,应该有可以替代的方法,然后就去查看了…
一.查看Java进程pid的方式 1. ps命令 ps -ef | grep java 2. jvm自带的 jps 工具 3. 当然还有其他命令也可以显示 netstat ,top 二.查看Java线程的方式 top命令 top -Hp pid 前面的PID列就是 linux下的线程编号(10进制数字) jstack工具 导出的线程栈中线程的编号是 16进制的, 只要将 10 进制 转换为16进制 数字 即可 去jstack线程栈中寻找对应的线程 三.线程问题排查 线程问题,最常见的问题因素还是…
c语言小程序:sizeof和strlen() sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,字符和字节不是一回事. char类型用于存储字母和标点符号之类的字符.但是在技术上实现char却是整数类型,因为char类型实际存储的是整数而不是字符.为了处理字符,计算机用ASCII码来表示字符.只要存储对应字符的ACSII码,计算机就可以输出对应字符. 根据sizeof运算符的报告,数组name有40个内存单元(就是能存40个8位二进制,共320个01…
Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display a tree of processes).ps命令可以显示当前正在运行的那些进程的信息,但是对于它们之间的关系却显示得不够清晰.在Linux系统中,系统调用fork可以创建子进程,通过子shell也可以创建子进程,Linux系统中进程之间的关系天生就是一棵树,树的根就是进程PID为1的init进程…
py4j可以使python和java互调 py4j并不会开启jvm,需要先启动jvm server,然后再使用python的client去连接jvm GatewayServer实例:允许python程序通过本地网络socket来与JVM通信. 1.安装:pip install py4j 其中Python库会安装到Python目录,而Java库会安装到对应的目录,如/usr/local/share/py4j/py4j0.10.5.jar.​ 2.启动Java虚拟机 要让Python代码调用JVM函…
linux下如何批量杀JAVA进程或某个进程方法 在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用ps, grep, cut 和 kill 一起操作. ok,下面给出具体的参考: ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|x…
目录结构: contents structure [+] 关于native关键字 使用native关键字 使用步骤 案例 编写.java文件 编译.java文件 获得.h文件 编写hello.cpp文件 部署hello.dll文件 运行HelloWorld.class文件 参考文章 1,关于native关键字 想必读者已经了解过native关键字了.这里笔者就大致囊括一下,被native关键字修饰的方法叫做本地方法,本地方法和其它方法不一样,本地方法意味着和平台有关,因此使用了native的程序…
有时候,使用apt-get install 安装了某个软件之后,却不知道这个软件的安装路径在哪里. 那怎么样去找出这个软件的安装路径呢? 下面我们java 这个软件为例, 找出ubuntu 14.04 上面java的安装路径. 1. 首先 java -version , 输出信息显示确实已经安装了java 2. whereis java , 输出信息看出路径在哪里 3. ls -l /usr/bin/java 看看这是否是个软连接,找出这个软连接指向的路径即可 发现输出的信息,显示还是个软连接,…
因学习需要,需将jdk从1.8更改到1.7,其中遇到了些小麻烦,如果你也遇到这种麻烦,可以借鉴一下我的解决方法. 1.jdk的安装及环境变量的配置,详见https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 2.具体更改步骤: 将JAVA_HOME:的路径更改为1.7的相关路径,例如我的:C:\Program Files\Java\jdk1.7.0_80 此时查看版本:Java -version,如果是1.8的版本,就把pa…
http://www.tuicool.com/articles/IRrIRb3 时间 2015-05-13 08:00:00  Liuxinglanyue's Blog 原文  http://javagoo.tk/java/jitwatch_code.html 主题 JDK 查看Java代码对应的汇编指令又一利器,JITWatch 纠错 13 May 2015 接着上一篇文章 查看Java代码对应的汇编指令利器,hsdis .JITWatch提供了更好的显示方式,还有各种图表,称得上又一利器.…
在我们工作.学习.以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能. 字节码文件是不能直接打开的,下面栈长教大家几种简单的方法如何查看 Java 字节码. 1.使用 javap 命令查看字节码 命令格式如下: javap -c xxx.class JDK 提供的了,不解释,来,演示操作一把: 如上所示,可以看到 Test 类的的字节码. 2.Intellij IDEA 中查看字节码 Intellij ID…
JVM 字节码指令手册 - 查看 Java 字节码 jdk 进行的编译生成的 .class 是 16 进制数据文件,不利于学习分析.通过下命令 javap -c Demo.class > Demo.txt 或者其他方式可反汇编,得到字节码文件 一.JVM 指令分类 (1)操作数栈 过程 符号 变量到操作数栈 iload, iload_, lload, lload_, fload, fload_, dload, dload_, aload, aload_ 操作数栈到变量 istore, istor…
本文转载自:http://blog.csdn.net/mengxiangyue/article/details/6818611 Java中我们可能都遇到过这样的情况,在我们将一个对象做为参数传给一个函数的时候,我们希望在这个函数中所做的操做,并不会影响到这个对象本身.但是在java传递都是引用,所以往往我们在函数内部改变了对象的某一个值,在函数外面调用该对象的时候,相应的值也同样被改变了,例如下面的程序: class Test { static void myMethod(Point pt1)…
一.C#利用vs里面自带的“添加web引用”功能: 1.首先需要清楚WSDL的引用地址  如:http://www.webxml.com.cn/Webservices/WeatherWebService.asmx 2.在.Net项目中,添加web引用. 3.在弹出页面中,输入URL->点击点击绿色图标(前往)按钮->自定义引用名->点击添加引用 4.添加成功,查看类中可调用的方法: 5.在项目中,调用wsdl中的方法. private void button1_Click(object …
Java虚拟机性能管理神器 - VisualVM(8) 查找JAVA应用程序耗时的方法函数[转] 标签: javajvm监控工具性能优化 2015-04-07 16:47 1846人阅读 评论(0) 收藏 举报  分类: VisualVM(8)  版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   Java虚拟机性能管理神器 - VisualVM(8) 查找JAVA应用程序耗时的方法函数 1.为什么要监控? JAVA程序在开发前,根据设计文档的性能需求,是要对程序的性…
本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. jstack命令可以打印Java进程的各个线程堆栈跟踪信息,可以用来查看Java中各个线程的执行情况,可以用来定位和解决死循环和死锁导致的CPU飙高的问题. 所有的JDK工具都可以在Oracle官网的 Java Tools Reference 文档中找到使用说明,这是主要参考,包括命令格式.参数内容.输出信息等等. jstack命令格式: jstack [-l] <pid> jst…
Java安全之原生readObject方法解读 0x00 前言 在上篇文章分析shiro中,遇到了Shiro重写了ObjectInputStream的resolveClass导致的一些基于InvokerTransformer去实现的利用链没法使用,因为这需要去定义一个InvokerTrans数组,而该数组传入到Shiro重写后的resolveClass方法中会报错.但是在此之前,并没有去对readObject方法去做一个解读和分析.所以也不知道他具体的实现.包括在分析利用链的时候,只知道到调用了…
ubuntu查看已安装软件包信息的方法原创fang141x 最后发布于2019-04-15 10:41:34 阅读数 2802 收藏展开简介ubuntu下面是使用dpkg来管理和安装软件包的,对应centos里面的rpm命令:而apt则是对应centos里面的yum命令,是直接在线安装软件包的,而且会比yum更好用,更强大.1 查询方法查看安装的所有软件对应2个命令.root@fdm:~# dpkg -l |grep sysstatii sysstat 11.6.1-1 amd64 system…
理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都在多态:    这个人是谁,这是个人,多态来看待他了:    他是老师  把它向下造型来看待了,他是老师,知道他能讲课了,老师是人下面的子类型:我们每天都已多态来接收事物,然后向下造型:    这是人,这人是老师:    这是车,这车是奥迪小时候,不知到是什么,就问这是什么东西,世间万物都能成为东西…
[请尊重原创版权,如需引用,请注明来源及地址] > 字符串拼接一般使用“+”,但是“+”不能满足大批量数据的处理,Java中有以下五种方法处理字符串拼接,各有优缺点,程序开发应选择合适的方法实现. 1. 加号 “+” 2. String contact() 方法 3. StringUtils.join() 方法 4. StringBuffer append() 方法 5. StringBuilder append() 方法 > 经过简单的程序测试,从执行100次到90万次的时间开销如下表: 由…