第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++與java: 如何實現(xiàn)根據(jù)結(jié)構(gòu)體定義動態(tài)構(gòu)造java類

c++與java: 如何實現(xiàn)根據(jù)結(jié)構(gòu)體定義動態(tài)構(gòu)造java類

牛魔王的故事 2019-05-25 14:23:03
java中動態(tài)代理有兩種實現(xiàn)方式,一個是java本身提供的面向接口的動態(tài)代理,一個是cglib動態(tài)代理。cglib動態(tài)代理可以動態(tài)生成字節(jié)碼文件,但是我看了這個好像與我的需求不符。我的需求是這樣的:很多orm框架可以自動根據(jù)數(shù)據(jù)庫的字段生成實體bean,現(xiàn)在的需求是我想根據(jù)結(jié)構(gòu)體的定義動態(tài)生成javabean,也就是說任意給定一個結(jié)構(gòu)體的定義,通過某種方式可以生成對等的java實體,這個能夠?qū)崿F(xiàn)嗎,有相關(guān)參考嗎,各位能否指點一下,非常感謝
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

Java有反射可以拿到字段的名稱,但是C++的結(jié)構(gòu)體你自己去malloc的話,是一塊連續(xù)的內(nèi)存,通過結(jié)構(gòu)體每個字段的大小來確定指針位置。所以應(yīng)該是不能實現(xiàn)的,因為在源碼級別確實你能看到字段,但是在運行時所面對的就是一塊一塊的內(nèi)存區(qū)域。答主C++很差,會C和Java,如有錯誤望指正。
補:===C++是有反射的,但是結(jié)構(gòu)體只能用結(jié)構(gòu)映射來替代。具體的樓主去研究吧,很久沒接觸了
                            
查看完整回答
反對 回復 2019-05-25
?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

讓它們具有一模一樣的內(nèi)存布局是不現(xiàn)實的,保證轉(zhuǎn)換過程中不丟失信息就夠了。
你可以用一種中間格式,將一邊的對象序列化,在另一邊恢復,或者反過來。
你可以試試各種跨語言序列化的方案,比如JSON、Protobuf或者別的什么。各有優(yōu)劣。
                            
查看完整回答
反對 回復 2019-05-25
  • 2 回答
  • 0 關(guān)注
  • 413 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號