原创 java.util.ConcurrentModificationException問題原因

今天收到一個bug,查了好久,才找到java.util.ConcurrentModificationException這個異常。 歸根結底就是多線程問題, 多線程使用時不允許修改,解決方案就是對象加鎖。 報錯的地方顯示 01-07 11:

原创 一文看懂Android中的序列化

序列化,剛入門的開發者可能從字面上看不出這個到底是啥意思,這比較妨礙我們的理解。所以我們需要銘記其定義和作用。 定義: Java序列化就是指把Java對象轉換爲字節序列的過程 Java反序列化就是指把字節序列恢復爲Java對象的

原创 你必須知道的linux開發快捷鍵,熟知工具快速開發

前言 節省時間就是提高效率,時間就是金錢,時間就是生命。 魯迅名言:時間就是生命,無端地空耗別人的時間,其實是無異於謀財害命的。那如果你看到這篇文章不學習不點贊,無異於自殺。 你看了又不轉發分享,無異於謀財害命啊同志。 正文 作爲

原创 設計模式之面向對象六大原則---讀書筆記

編寫代碼,在工作了一段時間後,在不斷的面對需求變化更改,堆砌代碼之後。爲了之後的代碼編寫效率,設計和舊代碼的優化設計,我們需要考慮優化和設計代碼需要考慮的幾大原則,以指導我們的開發和優化工作。 有經驗的工程師可能記得程序員常說的S

原创 多個jar包合併成一個jar包的辦法

有時候我們提供SDK給第三方開發,但是我們的接口設計按模塊來的,爲了不想把不需要的接口提供出去,可能需要將多個單獨的jar包打成一個jar包,這樣釋放的版本簡單效率,使用者也不用挨個更換。 首先將其幫助文檔附在這裏 用法: jar {ct

原创 CopyOnWriteArrayList的原理及使用

程序語言中,容器是所有編程中的基礎工具。這裏當然也包括併發編程。 我們熟知的容器包括arraylist,map,set等。既然有了arraylist,那爲何還要設計個copyonwriteArraylist。 原理 從字面意思,這

原创 如何查看Android系統源碼

Android系統源碼是很好的學習系統架構設計,查找問題的最佳工具。 網上流傳的talk is cheap, show me the code, 或者Show me the fucking code.說明了源碼的重要性,而作爲Androi

原创 Activity的啓動模式和常見Flag組合

衆所周知,Activity是Android四大組件之一,且應是初級程序員最先接觸使用的Android技術,當然也會較早知道Activity有四種啓動模式,但是可能對其瞭解不深,即使部分幾年工作經驗的開發由於業務方向等也不一定清楚其

原创 設計模式之單例模式的幾種寫法

單例模式是初級程序員知道的唯一的設計模式,但是就是一個簡單的單例模式也有很多的寫法,而且不同的寫法有不同的優缺點,我們開發使用時可能看到別人怎麼寫,我們就怎麼寫,實際上還是有很多原理性的東西需要我們去學習,瞭解不同寫法的原理和優缺

原创 linux合併7z的分卷文件

使用cat命令合併7z的多個分卷文件爲7z文件。 比如,分卷文件有:img_celeba.7z.001,img_celeba.7z.002…到img_celeba.7z.014。 切換到分卷文件目錄下,然後: cat img_celeba