java 獲取字節(jié)碼文件的幾種方法總結(jié)
java 獲取字節(jié)碼文件的幾種方法總結(jié)
在本文中,以Person類為例,將分別演示獲取該類字節(jié)碼文件的三種方式,
其具體思想及代碼如下所示:
public class Person {
private int age;
private String name;
public Person() {
System.out.println("person run");
}
public Person(String name, int age) {
this.age = age;
this.name = name;
System.out.println("Person param run..." + this.name + ":" + this.age);
}
public void showInfo() {
System.out.println(this.name + "......" + this.age);
}
}
public class GetClassFile {
public static void main(String[] args) throws ClassNotFoundException {
getClassObject_3();
}
/**
* 通過給定的類的字符串名稱就可以獲取該類的字節(jié)碼文件,更利于擴(kuò)展
* 可以用Class類中的"forName()"方法來完成
*/
public static void getClassObject_3() throws ClassNotFoundException {
// 包名一定要寫全,否則會(huì)報(bào)"java.lang.ClassNotFoundException"異常
String className = "src.Person";
Class clazz = Class.forName(className);
System.out.println(clazz);
}
/**
* 任何數(shù)據(jù)類型都具備一個(gè)靜態(tài)屬性
* 通過".class"來獲取對(duì)應(yīng)的Class對(duì)象
* 擴(kuò)展性較差
*/
public static void getClassObject_2() {
Class clazz = Person.class;
Class clazz1 = Person.class;
System.out.println(clazz == clazz1);
}
/**
* 運(yùn)用Object類中的getClass方法
* 用這個(gè)方法時(shí),必須明確具體的類,并創(chuàng)建對(duì)象
* 比較麻煩
*/
public static void getClassObject_1() {
Person p = new Person();
Class clazz = p.getClass();
Person p1 = new Person();
Class clazz1 = p1.getClass();
System.out.println(clazz == clazz1);
}
}
以上就是java 獲取字節(jié)碼文件的幾種方法,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
springboot + JPA 配置雙數(shù)據(jù)源實(shí)戰(zhàn)
這篇文章主要介紹了springboot + JPA 配置雙數(shù)據(jù)源實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot集成XXL-JOB實(shí)現(xiàn)靈活控制的分片處理方案
因?yàn)樾枰⑿刑幚硗粡垟?shù)據(jù)表里的數(shù)據(jù),所以比較自然地想到了分片查詢數(shù)據(jù),可以利用對(duì) id 取模的方法進(jìn)行分片,避免同一條數(shù)據(jù)被重復(fù)處理,所以本文給大家介紹了SpringBoot集成XXL-JOB實(shí)現(xiàn)靈活控制的分片處理方案,需要的朋友可以參考下2024-09-09
SpringBoot中打印SQL語(yǔ)句的幾種方法實(shí)現(xiàn)
本文主要介紹了SpringBoot中打印SQL語(yǔ)句的幾種方法實(shí)現(xiàn),,通過打印SQL語(yǔ)句可以幫助開發(fā)人員快速了解數(shù)據(jù)庫(kù)的操作情況,進(jìn)而進(jìn)行性能分析和調(diào)試,感興趣的可以了解一下2023-11-11
Java實(shí)現(xiàn)的JSONUtil工具類與用法示例
這篇文章主要介紹了Java實(shí)現(xiàn)的JSONUtil工具類與用法,結(jié)合實(shí)例形式分析了Java操作json格式數(shù)據(jù)工具類JSONUtil的定義與簡(jiǎn)單使用技巧,需要的朋友可以參考下2018-07-07
spring自定義注解實(shí)現(xiàn)攔截器的實(shí)現(xiàn)方法
本篇文章主要介紹了spring自定義注解實(shí)現(xiàn)攔截器的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
基于Java實(shí)現(xiàn)經(jīng)典蜘蛛紙牌游戲
《蜘蛛紙牌》(Ancient?Spider)?是由Oberon?Games開發(fā)的一款休閑益智類游戲。本文將利用Java語(yǔ)言實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下2022-05-05
SpringBoot JSON全局日期格式轉(zhuǎn)換器實(shí)現(xiàn)方式
這篇文章主要介紹了SpringBoot JSON全局日期格式轉(zhuǎn)換器,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04

