原创 android 開源庫 AndroidSlidingUpPanel 簡單使用
1 簡介 AndroidSlidingUpPanel 可向上拖動的view 官方展示: 2 使用 2.1 添加依賴 repositories { mavenCentral() } implementation 'co
原创 JetPack實戰(1)架構組件簡介
官網:https://developer.android.google.cn/jetpack/ 包含以下8大架構組件: 其中 databinding,Lifecycles,LiveData,ViewModel,Room,5個最爲常用,
原创 androidstudio配置註釋模板
步驟 一、File->Setting->Editor->Live Templates 二、創建一個Template Group 點擊最右邊+,創建一個Template Group,填寫group名,任意填寫 三、創建Live Templa
原创 JAVA設計模式----觀察者模式
概念 觀察者模式(Observer),又叫發佈-訂閱模式(Publish/Subscribe),定義對象間一種一對多的依賴關係,使得每當一個對象改變狀態,則所有依賴於它的對象都會得到通知並自動更新 其中,Subject類是主題,它把所有對
原创 coordinaryLayout簡單使用
層疊佈局,各個大廠的App使用率還是很高的 佈局: <?xml version="1.0" encoding="utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayout
原创 簡單封裝RecycleView
封裝通用RecycleAdapter package com.example.selfview.adapter; import android.util.SparseArray; import android.view.Layout
原创 JVM(2)Voletile、內存屏障
高可用、高擴展、高性能 volatile前後都會加內存屏障,這個內存屏障可以禁止指令重排序 lock: addl Volatile 1. 線程可見性 boolean flag =true; new Thread(){
原创 JAVA多線程(1)鎖,CAS,volatile 常見問題
拋出一個問題,自由發揮。。 請描述Synchronized和reentrantlock的底層實現以及衝入的底層原理 https://blog.csdn.net/Aqu415/article/details/102930585 請描
原创 JAVA多線程(1)幾種常見鎖,及其原理
1. 用戶態和內核態 JDK早期,sync都是重量級鎖,因爲申請鎖資源必須通過kernel系統調用 ring 0,1,2,3 Linux只用了0,3 0用戶態 3內核態 2. CAS 不需要系統申請鎖,通過彙編指令執行
原创 android筆記----通過View獲取Activity
通過View獲取Activity public static Activity getActivityFromView(View view) { if (null != view) { Context context = v
原创 JVM(2)相關問題
1.對象的創建過程 Object o = new Object(); 獲取內存 初始化 建立關聯 2. DLC 單例 是否需要加 Volatile 必須加! 可以防止指令重排序 做判斷的時候 if(obj != null){} 半
原创 Flutter開發(5)頁面跳轉,數據傳遞,數據回傳
頁面跳轉,傳遞數據 import 'package:flutter/material.dart'; class Product { final String title; final String description;
原创 Flutter開發(1)相關資料,安裝、下載、鏡像、環境配置、模擬器使用、示例demo
1. Flutter相關資料 GitHub:https://github.com/Solido/awesome-flutter shoocase: https://flutter.dev/showcase flutter中文網:https
原创 Flutter開發(3) 常用組件 listview 、 gridview 、rowWidget(水平佈局)、columnWidget(垂直佈局)
listview import 'package:flutter/material.dart'; void main() => runApp(MyApp( items:new List<String>.generate(1000
原创 Flutter開發(2) 常用組件 Container,image
Container 容器 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends Statele