java的字节码无法显示_【java】查看Java字节码文件内容的方法+使用javap找不到类 解决方法...

研究synchronized底层实现,涉及到查看java字节码的需要

前提是,你的PC已经成功安装了JDK并别配置了环境变量。

==========查看方法=========

一.javap查看简约字节码方式

1.准备一个java文件

例如,文件所在目录在此处

481b6e3422c4fec018df9e70ba00dc31.png

Student.java文件内容如下:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

packagecom.sxd.sweeping.test.synchron;public class Student implementsRunnable{static intage;public static synchronized voidadd(){

age++;

}

@Overridepublic voidrun() {int size = 100000;for (int i = 0; i < size; i++) {

add();

}

}public static voidmain(String[] args) {

Thread thread1= new Thread(newStudent());

Thread thread2= new Thread(newStudent());

thread1.start();

thread2.start();try{

thread1.join();

thread2.join();

}catch(InterruptedException e) {

e.printStackTrace();

}

System.out.println(Student.age);

}

}

View Code

2.CMD进入该目录下

015d79e8a5304ec03931f606fd8d4ef5.png

3.执行命令查看简约字节码信息

javap -c Student

报错提示:

找不到类

f9ddaa76d3904d38b70dd2e198a1c05c.png

文末查看解决方法

4.查看到的简约字节码信息如下

65f063ccadaece6752be3651d52d3768.png

二.查看java详细字节码信息

1.使用javap -verbose 命令查看详细字节码信息

javap -verbose Student

53c2cfbd2ffa38adc64c59624bbaf1f0.png

cf5c56b368c0a3485e8112520e22118b.png

==========报错解决=========

1.javap查看字节码,提示找不到类

报错提示:

找不到类

f9ddaa76d3904d38b70dd2e198a1c05c.png

解决方法:

先执行一次javac命令,在此处生成class文件后,再执行javap命令即可。

如下:

先执行

javac Student.java

再执行

javap -c Student

a99e81a4e53e32fd26f039752d8459a8.png

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

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

相关文章

SparkR

SparkR 支持原创&#xff1a;http://blog.csdn.net/dr_guo/article/details/51377784 突然有个想法&#xff0c;R只能处理百万级别的数据&#xff0c;如果R能运行在Spark上多好&#xff01;搜了下发现13年SparkR这个项目就启动了&#xff0c;感谢美帝&#xff01; 1.你肯定得先…

彻底颠覆神经科学?神经信号可能不是电信号,而是机械波?!

来源&#xff1a;环球科学就职于哥本哈根尼尔斯玻尔研究所的托马斯亨伯格&#xff08;Thomas Heimburg&#xff09;&#xff0c;是一位研究量子力学和生物物理的物理学家。然而&#xff0c;他却希望推翻很多神经科学教科书上的内容。在亨伯格看来&#xff0c;神经元之间通过类似…

java可视化压缩_25个小众的Java库

25年前&#xff0c;James Gosling创建了Java&#xff0c;并永远地改变了编程语言的版图。与许多其他编程语言不同&#xff0c;Java在整个生命周期中都受到业界的高度欢迎和需求。Java具有非常优秀的Core库&#xff0c;提供了许多基本功能。 基于其高度流行性&#xff0c;因此也…

java 线程变量put_Java线程(篇外篇):线程本地变量ThreadLocal

首先说明ThreadLocal存放的值是线程内共享的&#xff0c;线程间互斥的&#xff0c;主要用于线程内共享一些数据&#xff0c;避免通过参数来传递&#xff0c;这样处理后&#xff0c;能够优雅的解决一些实际问题&#xff0c;比如hibernate中的OpenSessionInView&#xff0c;就是使…

深度解读:人体防御病毒的免疫力究竟是什么?

来源&#xff1a;国际仿生工程学会“免疫力作为机体免除瘟疫的一种能力&#xff0c;已被广大民众广泛使用&#xff0c;特别是本次新型冠状病毒的暴发&#xff0c;更是使得免疫力在新闻媒体中广泛传播。对于这样一个极其抽象模糊的术语&#xff0c;我们需要理解其真实的含义是什…

洛谷 1087——FBI树

题目描述 我们可以把由“0”和“1”组成的字符串分为三类&#xff1a;全“0”串称为B串&#xff0c;全“1”串称为I串&#xff0c;既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树&#xff0c;它的结点类型也包括F结点&#xff0c;B结点和I结点三种。由一个长度为2^N的“…

python开发web使用什么工具_常用的Python web开发工具盘点

www.oldboyedu.com老男孩IT教育&#xff0c;只培养技术精英常用的Python web开发工具盘点Python是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的&#xff0c;并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外&#xff0c;Python标准库也是值得…

java的add方法的使用_Java HashSet add()方法与示例

HashSet类add()方法add()方法在java.util包中可用。当尚不存在给定元素时&#xff0c;使用add()方法将其插入此HashSet中&#xff0c;否则它将忽略它并返回false。add()方法是一种非静态方法&#xff0c;只能通过类对象访问&#xff0c;如果尝试使用类名称访问该方法&#xff0…

国自然:信息科学部优先发展领域及主要研究方向(含跨科学部)

来源&#xff1a;科奖多媒体中心“十三五”期间&#xff0c;通过支持我国优势学科和交叉学科的重要前沿方向&#xff0c;以及从国家重大需求中凝练可望取得重大原始创新的研究方向&#xff0c;进一步提升我国主要学科的国际地位&#xff0c;提高科学技术满足国家重大需求的能力…

缓冲区不能为空。 参数名: buffer_Java Nio 之Buffer

了解历史在 java1.4之前java io ,最核心的点是在"流"上&#xff1b;java io 的两大基石InputStream和OutputStream 也就是大家耳熟能祥的输入流和输出流,通过这个两个基石可以实现从外界读取数据到内存&#xff0c;以及将内存中数据写到外界&#xff1b;但是输入流和…

怎样把java项目转换成web项目_Eclipse中将Java项目转换成Web项目的方法

注意&#xff1a;0.点击Further configuration available&#xff0c;修改eclipse默认的WebContent 并修改为WebRoot&#xff0c;勾选Generate web.xml deployment descriptor1.需要把web 工程的版本改成2.5本地项目&#xff1a;struts2-3其中的无需修改的文件&#xff1a;org.…

新增方法

//新增方法addRecord : function() {var me this;var height 500; //取得当前屏幕高度var width 500; //取得当前屏幕宽度var content Ext.create("BeidaSoft.SFJCGL.rcjwgl.bdgl.BdglAddPanel", {}); var win new Ext.Window({layout:fit,width:wi…

机器人行业疫情之下的“危”与“机”

来源&#xff1a;腾讯网口罩脱销令口罩生产线炙手可热&#xff0c;医护人士紧缺令送药机器人走俏&#xff0c;站场监控让自动测体温机器人成为网红&#xff0c;武汉街头配送出现物流机器人身影……新型冠状病毒感染肺炎疫情&#xff0c;给机器人和智能制造行业带来了意想不到的…

线性查找python_Python实现搜索算法的实例代码

将数据存储在不同的数据结构中时&#xff0c;搜索是非常基本的必需条件。最简单的方法是遍历数据结构中的每个元素&#xff0c;并将其与您正在搜索的值进行匹配。这就是所谓的线性搜索。它效率低下&#xff0c;很少使用&#xff0c;但为它创建一个程序给出了我们如何实现一些高…

mysql 二进制日志变化_MySQL运维之二进制日志

MySQL二进制日志里保存会造成或可能造成数据变化的SQL语句。通过二进制日志可以完成如实时异地容灾备份、读写分离、数据恢复等功能。下面&#xff0c;我们一起来看看Mysql二进制日志。开启bin-log日志Mysql默认是没有开启bin-log日志的&#xff0c;需要我们自己去添加配置。lo…

Python 模块(二)

1 logging 模块 logging有两种的配置的方式&#xff0c;configure、logger 1.1 config方式 import logging日志的配置&#xff1a;config模式 只能选择在屏幕或者在文件输出logging.basicConfig(levellogging.DEBUG,format%(asctime)s [%(lineno)s] %(message)s ,filenamelog.t…

影响和改变世界的50件发明专利,猜下中国有几个?

来源&#xff1a;国家知识产权局创新创造未来&#xff0c;专利改变世界。最近几十年究竟有哪些专利真正改变了世界呢&#xff1f;国家识产权局选取了一批具有历史意义的、促进社会经济发展的、对人类社会产生重要影响的中外专利。未来智能实验室的主要工作包括&#xff1a;建立…

js 自动分配金额_JS内存图以及原型与原型链

内存以及内存图在JS中&#xff0c;每一个数据都需要一个内存空间。内存空间又被分为两种&#xff0c;栈内存(stock)与堆内存(heap)。JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变量&#xff0c;堆存放复杂对象&#xff0c;池存放常量。JS中的基础…

全球首个AI宇宙模拟器不仅有6亿光年宽度,还“自行”跑出了暗物质

来源&#xff1a;大数据文摘《创世纪》里&#xff0c;神用7天创造了这个世界。而现在&#xff0c;你可能也有机会体验这个过程&#xff0c;创造一个属于自己的宇宙。Space Engine 0.990版本在Steam平台发售不到一天&#xff0c;近300测评全部为最高评价。之后&#xff0c;还得到…

一个HelloWorld网站

一个HelloWorld网站 点击直达 介绍 很多技术在里面都有很多的HelloWorld 当初是我在windows下使用redis在官方文档没有找到入门的资料发现的 个人理解 作为HelloWorld是不错的,当然还有一些东西值得看,参考用过直接上某个技术的官方文档。 转载于:https://www.cnblogs.com/bean…