自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (24)
  • 收藏
  • 关注

原创 flutter开发常用指令

adb connect 127.0.0.1:7555

2024-03-13 00:16:31 75

原创 Java系列-线程-为什么不能使用Executors创建线程池

为什么不能使用Executors创建线程池

2024-01-11 16:52:24 389

原创 Java系列-线程-线程池的创建方法和方法的参数

ThreadPoolExecutor

2024-01-10 15:12:06 435

原创 android系列-SystemServer流程图

2024-01-09 17:51:25 385

原创 android系列-SystemServer创建服务

SystemServer会开启很多服务,这些服务的创建流程类似,以Installer为例子。

2024-01-08 22:59:52 752

原创 android系列-Zygote 流程图

2024-01-08 16:26:10 378

原创 android系列-System.gc()和Runtime.getRuntime().gc()的区别

和 `` 都是用于请求垃圾回收的方法,但它们之间的主要区别在于调用方式和实现。

2024-01-08 15:44:42 417

原创 Java系列-Class.forName和ClassLoader.loadClass的区别

和是 Java 中两种加载类的方式,它们的主要区别在于加载类的时机和对异常的处理。

2024-01-08 15:25:05 462

原创 android系列-init流程图

2024-01-08 12:16:13 383

原创 android系列-init SecondStageMain

int SecondStageMain 流程

2024-01-08 12:14:00 524

原创 android系列-init 初始化日志

【代码】android系列-init 初始化日志。

2024-01-08 10:15:42 938

原创 android系列-init SetupSelinux

【代码】android系列-init SetupSelinux。

2024-01-07 18:05:15 562

原创 android系列-开机启动流程图

2024-01-07 17:00:36 422

原创 android系列-init 挂载文件系统

android init 挂载文件系统

2024-01-07 12:37:13 1151

原创 View系列-onClick执行流程

MotionEvent.ACTION_UP 触发点击事件。

2024-01-05 18:21:31 355

原创 View系列-事件分发

继续调用DecorView的superDispatchTouchEvent。DecorView是PhoneWindow的一个对象。PhoneWindow是Activity的一个对象。DecorView继承自FrameLayout。

2024-01-05 17:43:56 395

原创 retrofit系列-ServiceMethod创建流程

SuspendForResponse` 和 `SuspendForBody` 是与 Kotlin 挂起函数一起使用的,使得在异步场景中更容易进行处理。在 Retrofit 中,`CallAdapted`、`SuspendForResponse` 和 `SuspendForBody` 主要涉及到 Retrofit 如何处理异步调用和响应处理。没找到,调用ServiceMethod.parseAnnotations创建ServiceMethod后,放入缓存,返回结果;

2024-01-04 18:29:48 818

原创 Android系列-LayoutInflater 几个 inflate方法的区别

(来自chatgpt的回答)提供了多个inflate方法,用于将 XML 布局文件解析为相应的视图对象。这些方法的主要区别在于参数的组合和用途。以下是常见的几个inflate。

2023-12-29 01:37:22 594

原创 Android系列-SurfaceView和View

开发者可以在后台线程中实现自定义的绘制逻辑,而不受主线程刷新频率的限制。这对于需要高性能绘制、复杂动画或游戏开发来说尤为重要。下面是一个简单的示例,演示了如何使用。

2023-12-28 18:21:54 660

原创 Java系列-HTTP和HTTPS 的实现原理

HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在网络上传输数据的两种协议,它们在实现原理和安全性上有一些关键的区别。

2023-12-28 18:17:28 798

原创 android系列-SurfaceView和View的区别

更适合一般的 UI 绘制和交互。选择使用哪个取决于应用的具体需求和性能要求。需要注意的是,在使用。是 Android 中两种不同的视图组件,它们在渲染和刷新机制上有一些区别。适用于需要更灵活控制绘制的场景,例如游戏开发、视频播放等,而。时要注意线程同步和生命周期管理等问题。(来自chatgpt的回答)

2023-12-28 18:09:43 540

原创 java系列-CountDownLatch

并没有像锁一样控制对临界区的访问,而是提供了一种不同的线程协作机制。它通常用于一组线程需要等待另一组线程完成操作的场景。方法会阻塞当前线程,直到计数器的值减到零。这个类主要用于一个或多个线程等待其他线程完成某些操作后再继续执行。不是一种锁,而是一种同步工具类,用于协调多个线程之间的操作。关键字那样实现了锁定机制,而是通过一个计数器来实现线程的等待和通知。维护了一个计数器,这个计数器的初始值由调用者在创建。方法,计数器的值减一;

2023-12-28 18:02:50 557

原创 java系列-Semaphore

信号量(Semaphore)不是严格意义上的锁,而是一种同步工具,用于控制同时访问某个特定资源的线程数量。信号量是由计数器和等待队列组成,它维护一个可用的许可证数量,线程可以通过获取许可证来执行临界区代码,执行完成后再释放许可证。二进制信号量只有两个状态,0 和 1。也称为互斥锁(Mutex),可以用于实现对临界区的互斥访问。类提供了对信号量的支持。

2023-12-28 18:00:28 353

原创 java系列-锁分为哪几类

在 Java 多线程编程中,锁机制是一种重要的同步工具,用于协调线程之间的访问和操作。

2023-12-28 17:55:31 400

原创 JVM系列-方法区、堆区、栈区

在 Java 中,内存主要分为方法区、堆区和栈区,每个区域负责不同类型的数据和任务。

2023-12-28 13:45:00 628

原创 ANR系列-ANR是什么

ANR 是 "Application Not Responding"(应用无响应)的缩写。Android系统中,AMS和WMS会检测App的响应时间,如果App在特定的时间无法响应屏幕触摸或者键盘输入时间,或者特定事件没有处理完毕,就会出现ANR。

2023-12-28 13:19:17 343

原创 apk瘦身方法

自己项目用过的开启代码混淆 minifyEnabled true 开启去除资源 shrinkResources true 使用矢量图 使用webp 手动删除无用资源、代码 精简abi库 abiFilters "armeabi-v7a" 精简资源 resConfigs "zh" //表示只使用中文 resConfigs "xhdpi" // 表示只是用xhdpi目录下的资源文件 动画使用lottie,不使用帧动画 减少代码:公共代码提取出来共用 避免滥用第三方库还没有用过的

2023-12-28 01:18:48 348

原创 矢量图优化包大小---vectorDrawables.useSupportLibrary

是一个在 Android Gradle 插件中的配置选项,用于指定是否在应用中使用支持库(Support Library)来兼容矢量图形(Vector Drawables)。在 Android 5.0(API级别21)及以上版本,Android 系统本身开始支持矢量图形,可以直接在应用中使用矢量图形资源文件(以。然而,在使用 Support Library 的情况下,你可以在更低版本的 Android 设备上使用矢量图形。`,则在构建应用时,矢量图形将被转换成支持库中的 `

2023-12-27 23:34:08 448

原创 Binder系列-bctest

调用binder_call。调用binder_call。(韦老师的视频截图)

2023-12-27 15:17:52 325

原创 Binder系列-service_manager.c

service_manager main流程图

2023-12-27 12:33:17 400

原创 okhttp系列-一些上限值

异步请求放入readyAsyncCalls后,遍历readyAsyncCalls取出任务去执行的时候,如果发现asyncCall的callsPerHost大于等于5,就不从readyAsyncCalls取出任务执行;否则callsPerHost加1。异步请求放入readyAsyncCalls后,遍历readyAsyncCalls取出任务去执行的时候,如果发现runningAsyncCalls的数量大于等于64,就不从readyAsyncCalls取出任务执行。

2023-12-22 22:59:42 1172

原创 Java系列-ConcurrentHashMap获取size

baseCount和数组counterCells的每个元素的value之和。

2023-12-17 00:08:26 31

原创 Java系列-ConcurrentHashMap-addCount

如果有冲突,数组容量没有超过cpu核数,对数组进行扩容,新容量为老容量的2倍;初始化 counterCells,初始容量是2,将x放到要放入的位置;如果重新生成hash后,还是有冲突,将x增加到该桶的value;如果要放入的桶有冲突,重新生成hash,再看有没有冲突;如果没有冲突,放入该桶;

2023-12-17 00:03:13 63

原创 Java系列-ConcurrentHashMap源码-putVal

处理某个槽位时使用synchronized。cas+自旋保证线程安全。

2023-12-16 15:56:38 48

原创 Java系列-ConcurrentHashMap源码

二进制的最高位是符号位,HASH_BITS的最高位是0,所以&运算结果的最高位一定是0;&运算的目的是为了保证hash值一定是正数,因为hash值为负数有特殊含义;初始完后sizeCtl被赋值为0.75*n (扩容阈值)为什么比HashMap多 & HASH_BITS。

2023-12-16 15:14:14 36

原创 Java系列-ConcurrentHashMap构造方法

【代码】Java系列-ConcurrentHashMap构造方法。

2023-12-16 13:03:54 45

原创 Java系列-HashMap构造方法

将initialCapacity经过计算,换成大于等于initialCapacity的最小2的幂次方,然后赋值给threshold;在put的时候,threshold会被赋值给table的length,按照threshold来创建table。如果一开始cap是2的幂次方,如果不-1,最后的返回结果会是cap*2。只初始化了loadFactor。

2023-12-16 00:16:25 50

原创 Java系列-HashSet源码

实际调用的是HashMap的put方法,添加的值作为key。实际调用的是HashMap的containsKey方法。实际调用的是HashMap的remove方法。

2023-12-15 16:10:39 43

原创 Java系列-线程-构建线程的几种方式

创建线程的几种方式

2023-12-14 22:14:54 382

原创 java系列-LinkedHashMap怎么实现LRU

2.最近访问的节点移动到链表末尾 3.LruCache3.1.LruCache.put3.2.LruCache.evict3.3.LruCache.trimToSize循环移除,直到size小于maxSize,每次移除链表头元素3.4.LinkedHashIterator.remove

2023-12-13 13:00:13 107

Xeena-1.2EA.exe

找了好久的Xeena-1.2EA.exe,刚开始下的都是zip的,让跟我一样的人不要找的那么辛苦。

2009-06-14

jsp数据库系统开发完全手册王国辉17

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉18

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉19

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉16

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉15

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉14

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉13

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉12

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉11

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉10

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉9

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉8

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉7

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-04-07

jsp数据库系统开发完全手册王国辉6

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了

2009-04-07

jsp数据库系统开发完全手册王国辉5

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了

2009-04-07

jsp数据库系统开发完全手册王国辉4

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了

2009-04-03

jsp数据库系统开发完全手册王国辉3

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了。

2009-03-27

jsp数据库系统开发完全手册王国辉2

jsp数据库系统开发完全手册王国辉分成了19个,完全下载后,解压缩其中一个就可以了

2009-03-27

jsp数据库系统开发完全手册王国辉(光盘)1

jsp数据库系统开发完全手册王国辉 分成了19个,完全下载后,解压缩其中一个就可以了。

2009-03-27

vc++网络程序设计的光盘

vc++网络程序设计的光盘 基本网络编程实例

2009-03-27

《Java 网络程序设计: J2EE》光盘

《Java 网络程序设计: J2EE》光盘 包含其中的三个程序源码

2009-03-27

Java数据库高级编程宝典[专著

Java数据库高级编程宝典,应该有用。希望对大家有帮助

2009-03-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除