【java字节码类定义】教程文章相关的互联网学习教程文章

java – 获取xml元素的字节/字符

我想知道java中的哪个XML解析器(如果有的话)可以提供它解析的xml元素的字节偏移量. 我正在使用Lucene索引我的XML文件,当我搜索特定单词时,我需要输出包含XML元素,文件名以及字节偏移量,以便我可以快速查找该偏移量.解决方法:查看VTD-XML:http://vtd-xml.sourceforge.net,VTDNav.getContentFragment()对元素的偏移量和长度进行编码:javadoc. 通过将其转换为int(int)VTDNav.getContentFragment()来获得偏移量.

Java字节码检测:反射调用defineClass时出现NullPointerException【代码】

意图: 我正在使用java.lang.instrument包为Java程序创建一些工具.我的想法是我通过这个系统使用字节码操作,以便在每个方法的开头和结尾添加方法调用.一般来说,修改后的Java方法看起来像:public void whateverMethod(){MyFancyProfiler.methodEntered("whateverMethod");//the rest of the method as usual...MyFancyProfiler.methodExited("whateverMethod"); }MyFancyProfiler是一个相对复杂的系统的入口点,它在premain方法(jav...

java – 从字节数组创建URL的任何方法?【代码】

有没有办法从字节数组创建URL?我有一个自定义类加载器,它存储来自存储条目名称及其字节的HashMap中JarInputStream的所有条目.我想要从字节数组创建一个URL的原因是为了满足ClassLoaders中的getResource(String name)方法.我已经使用ByteArrayInputStream完成了getResourceAsStream(String name).解决方法:假设您使用自定义类加载器,并且希望将内容的字节存储/缓存在散列映射(而不是byte []形式的位置).比你有同样的问题把我带到了...

JVM Java字节码方法表与属性【图】

方法表 methods_count method_info,前三个字段和field_info一样 2、方法的属性结构 方法中的每个属性都是一个attribut_info结构JVM定义了部分attribute,但是编译器自己也可以实现自己的attribute写入class文件里,供运行时使用。 不同的attribute通过attribute_name_index来区分。

java – 从Jar文件中的Class文件中读取字节【代码】

我有一个.jar文件,其中包含.class文件和.java文件.我想将特定.class文件的内容加载为byte []数组.static byte[] getBytes(String javaFileName, String jar) throws IOException {try (JarFile jarFile = new JarFile(jar)) {Enumeration<JarEntry> entries = jarFile.entries();while (entries.hasMoreElements()) {JarEntry entry = entries.nextElement();// We are only interested in .class files spawned by compiling the ...

java – Scala的多个参数列表如何编码为JVM字节码【代码】

在Scala中,以下两个函数是不同的:def paren(): Int = 42 def noparen: Int = 42第一个参数列表有1个零参数,而下一个参数列表有0个参数列表. 但是,使用javap -v查看时,它们的字节码是相同的:public int paren();Signature: ()Iflags: ACC_PUBLICCode:stack=1, locals=1, args_size=10: bipush 422: ireturnLocalVariableTable:Start Length Slot Name Signature0 3 0 this LParentheses$;LineNumberTabl...

java – 如何清除字节中最重要的位?【代码】

我想从字节解析温度. 温度由2个字节组成.第一个字节的最高有效位表示温度是正还是负. 这是我到目前为止:public double parseTemperatureBytes(byte[] temperatureBytes) {// Must be divided by 10 (1 decimal)// First bit indicates sign (bit 1 = negative, bit 0 = positive)// Range [0x7FFF] : [-3276.7 … +3276.7]byte firstByte = temperatureBytes[0];int positiveOrNegative = ParseUtils.getMostSignificantBit(first...

java – 如何从ByteBuffer转换为Avro字节?【代码】

我有一个avro架构,其中包括以下作为其中一个字段{"name" : "currency","type" : ["null","bytes"],"logicalType": "decimal","precision": 9,"scale": 4 },我运行了avro-tools jar来创建java文件来表示模式.这产生了如下属性:public java.nio.ByteBuffer currency; 在我的代码中,我将使用BigDecimal类型中的货币值. 在创建此类的实例时,如何将BigDecimal值转换为预期的ByteBuffer?我可以只使用ByteBuffer.toByteArray(),还是需要...

java – 使用| =将字节打包到long中会产生意外结果【代码】

我试图将我的byte []数据连接成一个long变量.但由于某种原因,代码没有像我预期的那样工作. 我有这个字节数组,最大大小将是8个字节,这是64位,长度变量具有相同的大小,所以我试图将此数组连接到long变量.public static void main(String[] args) {// TODO Auto-generated method stubbyte[] data = new byte[]{(byte)0xD4,(byte)0x11,(byte)0x92,(byte)0x55,(byte)0xBC,(byte)0xF9};Long l = 0l;for (int i =0; i<6; i++){l |= data[...

在java中改变一个字节内的位【代码】

所以我理解如何更改一个字节内的单个位,我不确定为什么我的特定代码不起作用.public static void setBit(byte[] input, int position, int value) {int byteLocation = position / 8;int bitLocation = position % 8;byte tempByte = input[byteLocation];if (value == 0) tempByte = (byte) (tempByte & ~(1 << bitLocation));elsetempByte = (byte) (tempByte | (1 << bitLocation));input[byteLocation] = tempByte; }现在我一直...

java – 如何比较null字节?

想象一下,我正在将文件直接写入1025字节的位置,将前1024个字节保留为空. 我想再次打开文件,并从第一个字节位置搜索,检查第一个字节是否为空(没有真实数据)?解决方法:您如何期望将具有1024字节的文件全部写为零的文件和“没有实际数据”的文件之间的区别? 如果您要做的只是检查前1024个字节是否为零,只需读取数据并以正常方式进行比较.

java – 如何在不解压缩的情况下通过SFTP(Jsch)编写gzip压缩字节数组?【代码】

(这是x-post到Jsch邮件列表BTW).我正在从数据库中读取数据并将其作为byte [](用于跨中间件组件进行传输). 从那个字节[]我知道如何使用GZIPOutputStream类在本地文件系统上创建一个gzip压缩文件.我想要做的是使用JSch SFTP方法在远程文件系统上创建一个gzip压缩文件. 我已经解压缩了数据的byte []并将其作为InputStream传递给JSch库,以便SFTP到远程文件目录(作为.gz文件).但是,传递的文件具有意外的EOF并且不能被“枪杀” gunzip:G...

本机java字节码检测

对于java中的字节码检测,有asm框架和bcel和javaassist库. 但是我需要在本机代码中进行检测,因为javaagent运行时已经加载了一些java类,例如java.lang.Thread,java.lang.Class等. 是否有任何库用于在本机代码中检测java类? 编辑:似乎有点混乱. 我想要的是:创建一个本机java代理,它使用JVMTI apis在加载类时使用OnClassLoad事件挂钩更改类的字节码.解决方法:我在博士研究期间遇到了这个问题.对我来说最有效的答案是使用java库(我使...

java – 将字节数组转换为PDF并在JSP页面中显示【代码】

我正在做一个JSP站点,我需要显示PDF文件.我有webservice的PDF文件的字节数组,我需要在HTML中将该字节数组显示为PDF文件.我的问题是如何将该字节数组转换为PDF并在新选项卡中显示该PDF.解决方法:使用输出流将这些字节保存在磁盘上.FileOutputStream fos = new FileOutputStream(new File(latest.pdf));//create an object of BufferedOutputStream bos = new BufferedOutputStream(fos);byte[] pdfContent = //your bytes[]bos.writ...

java – iload_1,iload_2,iload_3和iload #index字节码有什么区别?

iload #index与其他3字节代码的区别.它们之间是否有任何性能差异.解决方法:How iload #index differs from other 3 byte codes. iload_1 _2 _3使用一个字节的字节代码.另一种形式使用2.Is there any performance difference between them.只是间接的.大多数情况下它没有任何区别,但是有一些基于字节码字节计数的性能调整指标.例如是否内联方法.稍长的方法可能意味着不执行某些优化. 例如即使不经常调用,内联方法的度量标准也是35个...