原创 android進階一:程序運行時,內存到底是如何分配的?

之前有很多人將 Java 的內存分爲堆內存(heap)和棧內存(Stack),這種劃分方式在一定程度上體現了這兩塊區域是 Java 工程師最關注的內存區域。但是其實這種劃分方式並不完全準確。 Java的內存區域劃分實際上遠比這複雜

原创 使數組唯一的最小增量題解

題目 945題 使數組唯一的最小增量(中等) 給定整數數組 A,每次 move 操作將會選擇任意 A[i],並將其遞增 1。 返回使 A 中的每個值都是唯一的最少操作次數。 示例 1: 輸入:[1,2,2] 輸出:1 解釋:經過一

原创 程序運行時,內存到底是如何分配的?

之前有很多人將 Java 的內存分爲堆內存(heap)和棧內存(Stack),這種劃分方式在一定程度上體現了這兩塊區域是 Java 工程師最關注的內存區域。但是其實這種劃分方式並不完全準確。 Java的內存區域劃分實際上遠比這複雜

原创 volatile和synchronized的區別

volatile和synchronized的區別預備知識Java內存模型原子性可見性舉個栗子volatile使用場景再舉栗子synchronized兩者的區別最後修改的代碼 預備知識 Java內存模型 首先我們來了解一下JMM(j

原创 List、Set、Map詳解及區別

一、List接口 List是一個繼承於Collection的接口,即List是集合中的一種。List是有序的隊列,List中的每一個元素都有一個索引;第一個元素的索引值是0,往後的元素的索引值依次+1。和Set不同,List中允許有重複的

原创 View繪製流程以及自定義控件

一、前言概述 在Android的知識體系中,View扮演着很重要的角色,簡單來理解,View是Android在視覺上的呈現。在界面上Android提供了一套GUI庫,裏面有很多控件,但是很多時候我們並不滿足於系統提供的控件,因爲這樣就意味

原创 cocoscreator獲取和加載資源

最近公司從cocos2dx轉cocoscreator。第一次使用,遇到很多坑。工欲善其事,必先利其器。學習官方文檔是必須的。重要的地點標紅,還有自己出錯的地點就加了備註。以官方文檔爲基礎。 Cocos Creator 有一套統一的資源管理

原创 從Java到android:類的加載機制

一直想寫一個關於從java到android的系列博客,知道android的用法,更知道爲啥會這樣。17年開始,一起gogogo。 一、Java的類加載過程 JVM(虛擬機)把描述類的數據的字節碼.Class文件加載到內存,並對數據進行校正

原创 cocos2dx 3.x 保存sprite上的圖片

首先是cocos的截圖保存功能,親測有效: auto pic = utils::captureNode(Director::getInstance()->getRunningScene()); time_t customTime = t

原创 android進程常駐、保活研究

1、產品需求 一說到進程常駐,立馬就有很多人開始吐槽,什麼流氓軟件啊,什麼流氓技術啊之類的。但是技術不分好壞,只有看做產品的人怎麼使用了(但一般情況是一個牛逼的程序擁有着一羣牛逼的技術,卻被一個流氓產品驅動着)。 我們經常會遇到一些必須

原创 線程篇(一):Java中的線程(基礎)

線程和進程的概念 幾乎所有的操作系統都支持進程的概念,所有運行中的任務通常對應一個進程(Process)。當一個程序進入內存運行時,即變成一個進程。進程是處於運行過程中的程序,並且具有一定的獨立功能,進程是系統進行資源分配和調度的一個獨立