`
pcpig
  • 浏览: 87706 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获取class类字节数组的方法

阅读更多
     研究jvm hotswap的过程中,有一步需要读取java class的字节流,本来想只提供一个class就好了,但是在Web项目下不通用,先记录下来,留待以后使用。

	private static byte[] loadBytes(Class<?> cls) throws IOException {
		if (cls == null)
			return null;

		String name = cls.getCanonicalName().replaceAll("\\.", "/") + ".class";

		InputStream is = ClassLoader.getSystemResourceAsStream(name);

		BufferedInputStream bis = new BufferedInputStream(is);
		try {
			int length = is.available();
			byte[] bs = new byte[length];
			System.err.println("ddd:" + bs.length);
			bis.read(bs);

			// is.close();
			return bs;
		} finally {
			bis.close();
		}
	}


ps:
-javaagent:$CATALINA_BASE/lib/classreloader-1.0.0.jar
分享到:
评论

相关推荐

    java从输入流中获取数据并返回字节数组示例

    //从输入流中获取数据并以字节数组返回public class StreamTool { /** * 从输入流获取数据 * @param inputStream * @return * @throws Exception */ public static byte[] readInputStream(InputStream ...

    c# 获取字符串的字节数的方法

    ”,所以可以由此来进行判断 代码如下:class StringOP { ///  /// 获取中英文混排字符串的实际长度(字节数) ///  /// ”str”&gt;要获取长度的字符串 /// 字符串的实际长度值(字节数) public int getString...

    day021-反射和注解笔记和代码.rar

    每个数组都是 Class字节码类中的一个具体 对象 基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象; 注意 : 1、 Class类 和它的实例的...

    xmljava系统源码-kit:java精华工具类集锦

    字节工具类:字节数组转二进制、字节数组转十六进制、十六进制转字节数组、字节转换字符串 cache 缓存工具:内存型缓存、文件型缓存、memcache缓存工具、redis缓存工具 charset 字符集工具,获取任意文本文件的字符...

    Java 基础核心总结 +经典算法大全.rar

    获取类的 Class 对象构造类的实例化对象获取-个类的所有信息 获取类中的变量(Field) 获取类中的方法(Method) 获取类的构造器(Constructor) 获取注解 通过反射调用方法反射的应用场景 Spring 的 IOC 容器反射 + 抽象...

    java编写智能合约-简单的用java代码实现智能合约.pdf

    ⼀、 编写⽣成jar包 ⼆、 通过⽂件流的⽅式读取jar,获取到每个class对象对应的字节数组 1.⾸先获取到jar对应的字节输⼊流 String jarPath = "/nghb/jar/MyFirstDemo.jar"; File file = new File(jarPath); System....

    c# 加密和解密相关代码

    //获取字节数组的第一项 return asciicode; //返回字节数组的第一项 } 图19.4 使用恺撒密码算法加密密码 C#开发实战1200 例(第II卷) 834 public string Caesar(string str) //凯撒加密算法的实现 { char[] c = ...

    疯狂JAVA讲义

    学生提问:为什么静态内部类实例方法也不能访问外部类的实例属性呢? 207 学生提问:接口里是否能定义内部接口? 208 6.7.3 使用内部类 208 学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在...

    C#基础类库

    1.把上传的文件转换为字节数组 2.流转化为字节数组 2.上传文件根据FileUpload控件上传 3.把Byte流上传到指定目录并保存为文件 复制代码 UpLoadFiles 页面专用类 19.时间操作类 DateFormat 返回每月的第一天和最后一...

    Java2实用教程.rar

    5 6字符串与字符 字节数组 5 7StringBuffer类 5 8正则表达式 习题 第6章时间 日期和数字 6 1Date类 6 2Calendar类 6 3Math类 6 4BigInteger类 习题 第7章AWT组件及事件处理 7 1Java窗口 7 1 1 Frame常用方法 7 1 2...

    Java基础反射reflect

    概述 能够分析类能力的程序成为反射reflective。反射机制的功能及其强大,再下面可以看到,反射机制可以...获取类字节码方式 Class.forName(); 静态方法调用 Class forName = Class.forName(path); 类型.class Class c

    C#基类库(苏飞版)

    1.把上传的文件转换为字节数组 2.流转化为字节数组 2.上传文件根据FileUpload控件上传 3.把Byte流上传到指定目录并保存为文件 复制代码 UpLoadFiles 页面专用类 19.时间操作类 DateFormat 返回每月的第一天和最后一...

    java 面试题 总结

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    Android字符串转Ascii码实例代码

    public class StringToAscii { private static String toHexUtil(int n){ String rt=””; switch(n){ case 10:rt+=”A”;break; case 11:rt+=”B”;break; case 12:rt+=”C”;break; case 13:rt+=”D”;...

    java源码包2

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    超级有影响力霸气的Java面试题大全文档

     声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...

    JavaScript完全自学宝典 源代码

    21.2.html 使用Prototype的$A()方法获取数组。 21.3.js 使用Prototype的Try.these()创建XML DOM。 21.4.html Prototype的Form对象的使用方法。 prototype.js Prototype的.js库文件。

    在一小时内学会 C#(txt版本)

    对 C++ 来说,前面例子中 Date 类的属性就是 day、month 和 year,而你添加了 Get 和 Set 方法。C# 提供了一种更加便捷、简单而又直接的属性访问方式。 所以上面的类应该写成这样: 复制内容到剪贴板 代码: using ...

    javaSE代码实例

    13.3.2 编写方法链以及StringBuffer类的重要方法 255 13.4 StringBuilder类 258 13.5 正则表达式 259 13.5.1 正则表达式的基本语法 259 13.5.2 Pattern类简介 262 13.5.3 Matcher类简介 263 13.5.4 ...

Global site tag (gtag.js) - Google Analytics