原创 有三個線程分別打印a、l、i,請用多線程編程實現,在屏幕上循環打印n次alialiali…n由輸入行輸入

1.synchronized lock爲鎖對象,order爲1表示線程1可以打印,爲2表示線程2可以打印,爲3表示線程3可以打印 num表示打印的次數 public class PrintThread(){ private s

原创 Java集合之ArrayBlockingQueue源碼分析

ArrayBlockingQueue是Java併發框架中阻塞隊列的最基本的實現,分析這個類就可以知道併發框架中是如何實現阻塞的。它是數組實現的線程安全的有界阻塞隊列。線程安全是指,ArrayBlockingQueue內部通過“互斥鎖”保護

原创 java集合之TreeMap源碼分析

java集合(6):TreeMap源碼分析(jdk1.8) 重點:紅黑樹(一)之 原理和算法詳細介紹 TreeMap的基本概念: TreeMap集合是基於紅黑樹(Red-Black tree)的 NavigableMap實現。該集合最重要

原创 數組拷貝引發的思考

數組拷貝的三種方式 1.引用賦值 int[] a = {1,2,3,4,5}; int[] b = a; a[0] = -1; System.out.println(b[0]); //-1 數組是用堆去保存的,賦值的時候只是把地址

原创 Java集合之LinkedBlockingQueue源碼分析

問題 (1)LinkedBlockingQueue的實現方式? (2)LinkedBlockingQueue是有界的還是無界的隊列? (3)LinkedBlockingQueue相比ArrayBlockingQueue有什麼改進? (4

原创 Java 排序之快速排序

以數據結構與算法分析(Java語言描述)中2.26小題爲例進行解析 大小爲N的數組A,其主元素是一個出現超過N/2的元素(從而這樣的元素之多有一個)。例 {3,3,4,2,4,4,2,4,4}中有一個主元素4,而數組{3,3,4,2,4,

原创 Java併發編程實戰-CopyOnWriteArrayList源碼分析

參考:https://www.cnblogs.com/huangjuncong/p/9160713.html https://www.iteye.com/blog/caoyaojun1988-163-com-1754686 Java.ut

原创 ReentrantLock(重入鎖)源碼分析

簡介 ReentrantLock的實現不僅可以替代隱式的synchronized關鍵字,而且能夠提供超過關鍵字本身的多種功能。 這裏提到一個鎖獲取的公平性問題,如果在絕對時間上,先對鎖進行獲取的請求一定被先滿足,那麼這個鎖是公平的,反之,

原创 Java ArrayList類源碼分析

前言   在前面的學習集合中只是介紹了集合的相關用法,我們想要更深入的去了解集合那就要通過我們去分析它的源碼來了解它。希望對集合有一個更進一步的理解!   既然是看源碼那我們要怎麼看一個類的源碼呢?這裏我推薦的方法是:     1)看繼承

原创 樹的中序遍歷(遞歸,迭代,莫里斯)

所有涉及到中序遍歷的題都可以使用該模板解決 中序遍歷(inorderTraversal)有遞歸,迭代,莫里斯三種解法 遞歸版 public List<Integer> inorderTraversal(TreeNode root

原创 冪方級數求和的公式及推導

https://blog.csdn.net/doyouseeman/article/details/50826293 https://www.cnblogs.com/LzyRapx/p/8456075.html

原创 解決failed to connect to /10.170.65.231 from /10.175.172.106 (port 60102) after 10000ms

我用的是真機調試,搞了半天一直出現這個問題,搜尋了半天,在此將解決方法羅列出來: 1.關閉Windows防火牆,在控制面板-Windows防火牆-開啓或關閉防火牆中 選擇關閉 2.確保手機與電腦連接同一局域網。手機使用數據流量或是電腦使用

原创 Android學習-數據庫持久化方案(續)之LitePal操作數據庫

LitePal操作數據庫 LItePal是一款開源的Android數據庫框架,它採用了對象關係映射(ORM)的模式,並將我們平時開發常用的一些數據庫功能進行封裝 1.配置LitePal 因爲大多數的開源項目都會將版本提交到jcenter上

原创 Android學習-數據持久化方案

任何一個應用程序都要和數據打交道,爲了防止數據因程序關閉或其他原因被內存回收而丟失,引入了數據持久化技術。數據持久化是指將那些內存中的瞬時數據保存到存儲設備中。本文主要分三部分來學習數據持久化方式,即文件存儲、SharedPrefer