Java的深入理解
Java語言和java虛擬機(jī)的一些高級機(jī)制和話題。
摘要:
基于官方文檔2013.12.19最后一次改動。
翻譯人:Weir Zhang (zh.weir)
旁白:水平有限,很多地方只是意譯。不準(zhǔn)確的地方,大家以原版文檔為準(zhǔn)。
原版地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html
一、介紹
本文檔為Google Java編程規(guī)范的完整定義。依照此規(guī)范編寫的Java源碼文件可以被稱為Google Style。
和其他編程規(guī)范指南一樣,規(guī)范不僅包括了代碼的結(jié)構(gòu)美學(xué),也包括了其他一些業(yè)界約定俗成的公約和普遍采用的標(biāo)準(zhǔn)。本文檔中的規(guī)范基本都是業(yè)界已經(jīng)達(dá)成共識的標(biāo)準(zhǔn),我們盡量避免去定義那些還存在爭議的地方。
1.1 術(shù)語說明
本文檔除非特殊說明,否則:
a、class(類)統(tǒng)指普通的class類型、enum枚舉類型、interfa
閱讀全文
摘要: 從最近幾年開始,做平臺的公司都流行起Open API。這是一個非常好的理念,也受到廣大開發(fā)者的歡迎。如今,開發(fā)一款軟件,你可以很容易地集成微博、微信、人人網(wǎng)等流行社交媒介的分享功能,做一個社交應(yīng)用變得越來越簡單。
主流社交媒介要集成到第三方應(yīng)用中,最重要的入口就是安全便捷的授權(quán)認(rèn)證系統(tǒng)。讓用戶在享受一鍵分享和各種社交樂趣的同時,又不用擔(dān)心帳號安全和隱私泄露等問題。而對于一些有特殊目的的組織或個人來說,攻占這個授權(quán)認(rèn)證系統(tǒng)意味著自己獲取了信息傳播的入口和渠道,數(shù)量龐大地社交入口往往能帶來巨大的社會效應(yīng)。所以,這個入口就成了軟件安全攻防雙方的必爭之地。
而本文所要講的就是當(dāng)前最為流行的新浪微博Android客戶端SSO授權(quán)認(rèn)證入口的一個安全缺陷。此缺陷使得第三方APK在一定條件下可以不通過授權(quán),在不需要人為操作的情況下就可以操作Android手機(jī)用戶的微博。包括關(guān)注、評論、發(fā)微博等OpenAPI中提供的功能。
閱讀全文
摘要: 最近微信出了5.0,新增了游戲中心,并內(nèi)置了一個經(jīng)典游戲《飛機(jī)大戰(zhàn)》。游戲其實(shí)很簡單,但由于可以和好友一起競爭排名,一時間受到大家的追捧,小伙伴們進(jìn)入“全民打飛機(jī)”時代。
ios 版出來不久就被破解出了無敵模式。Android版出后好像一直風(fēng)平浪靜。周末無事,加之看雪zmworm版主邀請,于是花了一天的工夫研究了下。也出了個Android版的無敵模式增強(qiáng)版。具體來說就是無敵、雙排子彈加無限炸彈。當(dāng)然,這個不是重點(diǎn),我們的重點(diǎn)當(dāng)然是技術(shù)細(xì)節(jié)啦!
微信的游戲繼承了Android版手機(jī)QQ游戲中心的思想,也采用插件動態(tài)加載方式。具體來說,就是插件及游戲以jar包形式存在,jar包中有classes.dex及其他資源文件,在運(yùn)行時動態(tài)加載資源及classes.dex代碼。這樣的好處是靈活管理,易于擴(kuò)展。以后更多的游戲只要上架到微信的服務(wù)器,用戶就能在微信應(yīng)用內(nèi)部下載、安裝、運(yùn)行。具體原理可以參考我2011年的一篇文章《Android類動態(tài)加載技術(shù)》 。
當(dāng)然,那篇文章講的只是基本原理,而微信在代碼動態(tài)加載方面則走得更遠(yuǎn)。針對插件的管理
閱讀全文