原创 動態規劃與貪心、分治的區別

貪心算法(Greed alalgorithm) 是一種在每一步選擇中都採取在當前狀態下最好或最優(即最有利)的選擇,從而希望導致全局結果是最好或最優的算法。 分治算法(Divide and conquer alalgorithm) 字面

原创 Java基礎之反射

如何創建class對象呢?有兩種方式: class.forName(“class名稱”); Class a = a.class; 兩者的區別在於:forName()會幫你初始化好靜態變量; 而Cla

原创 前端後臺以及遊戲中使用Google Protocol Buffer詳解

0、什麼是protoBuf protoBuf是一種靈活高效的獨立於語言平臺的結構化數據表示方法,與XML相比,protoBuf更小更快更簡單。你可以用定義自己protoBuf的數據結構,用ProtoBuf編譯器生成特定語言的源代碼,如C

原创 一文讀懂AspectJ

AspectJ可以說是Java中當之無愧的黑魔法。說它是黑魔法,一方面是因爲它很強大,能夠解決一些傳統編程方法論解決不了的問題,而另一方面,它也相當的晦澀,有着比較陡峭的學習曲線。 本文將帶大家探索下AspectJ是什麼,能做什麼,以及如

原创 程序員的自我修養(一)

1)數據結構 數據結構課程通俗的說就是告訴你如何用最基本的語言類型、變量,關鍵詞語句等,去處理各式各樣的邏輯問題,我們稱之爲算法,而日常編程中的各種問題,例如排序、文件夾遍歷操作、數據庫查詢等,都可以在數據結構課程中,找到對應的數學原型

原创 程序員的自我修養(二)

有的人說愛乾淨浪費時間,所以不修邊幅,但歸根結底這還是習慣問題,當養成清潔衛生的習慣並使之成爲生活慣性時,往往就不會耗費更多的時間,反而顯得乾淨幹練。寫程序同樣如是,有一些編程習慣,看似不足爲道,看似浪費時間,可是如果堅持下去,最終都能收

原创 Autorelease機制講解

Autorelease機制是在iOS內存管理中的一員。在MRC中,是通過調用[obj autorelease]來延遲內存釋放;在ARC中,我們已經完全不需要知道Autorelease就能很好地管理好內存。而在這背後,Objective-C

原创 GIT命令清單

一、新建代碼庫 在當前目錄新建一個Git代碼庫 $ git init 新建一個目錄,將其初始化爲Git代碼庫 $ git init [project-name] 下載一個項目和它的整個代碼歷史 $ git clone [url] 歡迎加

原创 線程的基本概念

進程和線程算是操作系統內兩個很基本、很重要的概念了,進程是操作系統中進行保護和資源分配的基本單位,操作系統分配資源以進程爲基本單位。而線程是進程的組成部分,它代表了一條順序的執行流。 進程從操作系統獲得基本的內存空間,所有的線程共享着進程

原创 前端靜態資源緩存控制策略淺析

前端靜態資源緩存是什麼呢?爲了描述方便,在這裏只討論瀏覽器緩存。瀏覽器緩存就是瀏覽器在訪問網頁時將當前訪問的網頁中所涉及到的靜態文件(css, js, png, jpg等等)下載到本地,後續再次訪問該網頁時瀏覽器直接用緩存下來的靜態文件就

原创 java優點和缺點

Java:優點用幾個詞形容一下Java語言: 優美, 嚴謹, 健壯,不易出錯.當然, 使用也非常的廣泛: 常年盤踞編程人員數量排行榜第一名!各種庫也灰常多: akullpp/awesome-java · GitHub同樣的代碼, 相比C+

原创 python優點和缺點

優點: 語法簡潔優美, 功能強大, 標準庫跟第三方庫灰常強大, 應用領域非常廣: vinta/awesome-python · GitHub(跟PHP形成宣明對比!)語言方面, 舉幾個例子:一切都是對象!!!類(class本身)/函數/

原创 CSS文本屬性總結

文本修飾 (1)text-decoration: 文本修飾(橫線) 4個屬性值 overline line-through underline blink (1)overline 定義文本上的一條橫線 歡迎加羣四九·九七·五

原创 web新手學習路線

PHP在WEB領域應用最爲廣泛,大多數中小網站都是用PHP做的。單純掌握PHP並不難,難就難在PHP程序員必須懂前端,後端,數據庫,服務器。 具體的學習順序是: 第一階段:掃盲。瞭解什麼是B/S模式,原理上知道從瀏覽器輸入一個url是

原创 未來小程序將如何發力

從服務提供的形態上來看,小程序帶來的改變是巨大的,本質上來講是基於平臺、用端點、API來提供服務的巨大進步,將會成爲獲取服務的新的方式,會導致利益重新分配、生態重構。 一年內,騰訊股價持續高漲,在去年11月,騰訊市值已超過Facebook