在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Java同步機制
Launch mode 和 Intent flags專題
Canvas & Drawables
UTAustinX_UT.9.01x: Effective Thinking Through Mathematics
《JavaScript 語言精粹》
Memory leak專題
React基礎
《Test Driven Development: By Example》一書
Developer tools
安卓開發(fā)技能樹
<a rel="nofollow" href="https://mp.weixin.qq.com/s?__biz=MzA3NDM
Best Practices for Interaction and Engagement
各個安卓版本引入的主要新特性
Building Apps with Connectivity &amp; the Cloud
List.toArray()再強轉是一定會失敗的
深入Android frameworks
Google dev 100 days系列視頻
Building Apps with Contacts &amp; Sign-In
關系型數據庫設計范式
《App研發(fā)錄》一書
REST API設計
Google IO 2015摘要
自定義View/ViewGroup以及高性能實現自定義UI
安卓系統點擊事件處理
《50 Android Hacks》一書
Building Apps with Content Sharing
Flux基礎
<a rel="nofollow" href="http://developer.android.com/training/in
依賴注入(以Dagger 2為例)
Java同步機制
Java對象內存的使用情況
JSR133(Java memory model)
Google官方Material Design手冊(<a rel="nofollow" href="http://develop
Futurice公司安卓團隊的建議
安卓性能優(yōu)化
  • 1.
Best Practices for Performance
<a rel="nofollow" href="http://www.vogella.com/tutorials/Android
<a rel="nofollow" href="http://blog.danlew.net/2014/11/19/styles
Handling Runtime Changes
<a rel="nofollow" href="http://www.vogella.com/tutorials/Android
Building Apps with Graphics &amp; Animation
<a rel="nofollow" href="http://tools.android.com/tech-docs/new-b
Android項目架構
MVP(Model-View-Presenter)模式
<a rel="nofollow" href="http://www.infoq.com/cn/es6-in-depth/"">
《Android源碼設計模式解析與實戰(zhàn)》一書
Rx在Android中的最佳實踐
函數調用時,傳遞參數應該是不可變的(Immutable)
ProGuard
面向對象六大原則(SOLID+)
深入理解Java虛擬機
深入Java深淺拷貝、immutable、unmodifiable
Best Practices for User Input
UI上的一些高效方式/最佳實踐
<a rel="nofollow" href="https://blog.stylingandroid.com/ripples-
Best Practices for User Interface
安卓測試驅動開發(fā)/安卓測試驗證
暗時間:學會正確思考
技術筆記
Aspect Oriented Programming(AOP)
Best Practices for Background Jobs
安卓系統動效專題
Feed系統的設計
Data binding(MVVM,Model-View-ViewModel)
Effective Java一書筆記
<a rel="nofollow" href="http://developer.android.com/training/in
Rx (Reactive eXtention)
MultiDex專題
一些很棒的點子
WebRTC

Java同步機制

synchronized關鍵字

  • 有兩種用法(或三種)
    • synchronized方法
    • synchronized代碼塊
      • synchronized(this)
        • synchronized(object)
  • synchronized方法有兩種效果
    • 對于同一個對象,多線程調用synchronized方法將只有一個線程能夠進入執(zhí)行,其他線程等待(不僅僅是對同一個方法來說,如果一個類的多個方法使用了synchronized修飾,記為func1, func2...,那多線程訪問時,如果線程A正在訪問func1,其他線程不僅訪問func1會被阻塞,訪問func2也會被阻塞)
    • 當正在執(zhí)行的線程退出該方法時,其對對象狀態(tài)(成員變量)造成的修改,將立即同步到其他線程中
  • synchronized(this) 和synchronized方法有同樣的效果,即synchronized方法,一個非synchronized但是整個方法體都是用synchronized(this)包括起來的方法,兩者效果是等價的
    即可以理解為synchronized方法其實就是方法體都用synchronized(this)所括起來的方法
  • synchronized(object) 相當于把加鎖對象由this改為object,對同一個object synchronized括起來的代碼塊,同時只能有一個線程執(zhí)行