原创 Kotlin單例寫法

Java 單例的寫法 public class Single { private static Single sInstance = null; private Single() { } pu

原创 變量var和常量val以及懶加載

// const 聲明的在編譯時就已知道值,類似C中的宏 // const 修飾的可以寫在類的最外層,或者companion object中 const val constStr:String = "134" class Tes

原创 Kotlin回調寫法

接口聲明 public interface CallBack { void onCallBack(); } Java回調寫法 public class TestJava { public void setCal

原创 Kotlin判空

Java判空 public class TestJava { public void test(String data) { if (data != null) { Log.d("T

原创 RxJava在網絡請求中的應用

利用RxJava實現串行請求 class Serial { class Student constructor(var id: Int) { } fun request1(): Observable<St

原创 常用編譯tips

常用編譯tips1.INSTALL_FAILED_TEST_ONLY2.jcenter倉庫慢3.支持java8 1.INSTALL_FAILED_TEST_ONLY 在項目中的gradle.properties中設置: andro

原创 ThreadLocal源碼

threadlocal機制的實現與thread和threadlocalmap密不可分 ThreadLocalMap ThreadLocalMap是ThreadLocal的靜態內部類,內部由數組實現,默認大小16 private s

原创 is關鍵字用法

open class Parent { fun hello():Boolean { return true } } class Son : Parent() { } fun main(arr

原创 Mac+anaconda3+eclipse+opencv4編譯環境

Mac+anaconda3+eclipse+opencv4編譯環境 版本 anaconda3:Anaconda3-5.3.0-MacOSX-x86_64.pkg(對應python3.7) opencv4.0.0:https://g

原创 Kotlin 靜態常量寫法

Java靜態常量寫法 public class javaTest { public static final int DELAY_TIME = 1000; } Kotlin靜態常量寫法 class kotTest { c

原创 具名參數,默認參數,可變參數

class TestObj { /** * 變長參數可以寫在任何位置,前中後 * 一個函數只能有一個變長參數 * */ fun test1(data1: Int, vararg dat

原创 as關鍵字使用

open class Parent{ } class Son:Parent(){ } fun main(arrayList: Array<String>) { var parent:Parent = Son()

原创 if表達式和for循環

fun test(): Unit { /** * if 表達式可以直接將結果返回給變量 * */ var x = 2; var result

原创 虛擬機內存

線程共享區包括堆和方法區 堆 存放對象的區域 垃圾收集器工作區域 分爲新生代,老年代 方法區 常量 靜態變量 編譯後的代碼 線程私有區包括虛擬機棧,本地方法棧,程序計數器 虛擬機棧 棧幀:一個方法擁有一個棧幀,

原创 Java內存模型

概述 java虛擬機分爲線程共享區和線程私有區,共享區包括堆,方法區,私有區域包括程序計數器,虛擬機棧,本地方法棧,共享區是所有線程共享,私有區是每個線程獨自擁有,java內存模型可以理解成一套規則,這套規則規定了私有區和共享區