Java通过Executors提供四种线程池,分别为:
newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
转载
2023-07-19 11:24:30
38阅读
一.什么是线程池? 线程池顾名思义就是事先创建若干个可执行的线程放入一个池(容器)中,需要的时候从池中获取线程不用自行创建。使用完毕后不需要销毁线程而是放回池中,从而减少创建和销毁线程对象的开销。二.线程池的工作原理 当提交一个任务时,首先判断线程池中核心线程池所有的线程是否都在执行任务。如果不是,则新创建一个线程执行刚提交的任务,否则,核心线程池中所有的线程都在执行任务,则进入第2步; 判断当前
转载
2024-07-07 21:41:32
43阅读
线程池设计原理一、池化设计数据池的设计通常运用了工厂,单例和享元三种设计模式。二、线程池的构建无论是什么样的线程池,其构架都依托于ThreadPoolExecutor,其核心参数如下(七个):corePoolSize:核心线程数maximumPoolSize:最大线程数(临时线程数=maximumPoolSize-corePoolSize)keepAliveTime:临时线程存活时间unit:存活
转载
2024-06-09 19:24:15
922阅读
最近再系统的整理了一下RxJava,感觉挺好用的,因为它,GitHub 上衍生了一堆比如 RxAndroid、RxBus、RxPermission 等之类的开源库。下面写写整理出来的文档。一、RxJava的介绍1、RxJava是什么在讲RxJava之前,先了解一下相关术语响应式编程:一种面向数据流和变化传播的编程范式不懂?那举个简单的例子,界面上的按钮,点击的时候会触发按钮的写好的点击事件。 我们
转载
2023-10-12 11:58:16
148阅读
前言及预览最早一直用的macbook pro 2016,后面公司整体大环境都是windows平台,就出了mac入了win笔记本,后来疫情在家搞测试,便买了一个NUC8,配上闲置的三星16G DDR4 3200Hz笔记本内存条,三星500GB 970EVO 固态硬盘,装了windows10一直用到现在。 前几天心血来潮,准备把系统换成黑苹果,并将安装过程记录下来备用。参考了网上多篇教程后,两次便安装
转载
2023-07-31 19:45:07
224阅读
# Android Adapter简介
在Android开发中,Adapter是一个非常重要的概念。它用于将数据与用户界面元素进行绑定,实现数据的展示和交互。在本文中,我们将介绍Android Adapter的基本概念、用法和常见的几种Adapter实现方式。
## 1. 什么是Adapter
Adapter是一种用于数据与视图之间进行交互的桥梁。它通过将数据与视图进行绑定,实现数据的展示和
原创
2023-11-18 13:56:06
104阅读
# Android MQTT 简介
## 什么是 MQTT
MQTT(Message Queue Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议。它被广泛应用于物联网领域,具有低带宽、低功耗、可靠性高等特点,适用于各种网络环境。
## MQTT 在 Android 上的应用
在 Android 开发中,我们可以使用 MQTT 协议实现设备之间的消息传递
原创
2023-12-26 05:39:50
194阅读
最近想使用ImageView实现一个小功能,就是ImageView被点击之后显示另外一张图片,然后就想通过定义XML文件来实现不同的图片的切换,感觉这样更加节省内存,逻辑实现其实很简单,如下:mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(Vie
想象一下这样的场景:有一个业务,需要设计一个黑盒系统,可以针对不同的输入参数,动态采取不同的策略及措施和输出,比如平台活动等场景。可能大家会想到的是规则,不同的规则场景下执行不同的一套java代码,也许是个好办法,但该办法可能不能简单的应对产品的热部署。那我们换一个思路,是不是可以把那段实际经常发生变动的java代码分离出来呢,答案当然是肯定的。方式一:通过字节码的机制,动态加载新的规则执行类cl
一、关于TyporaTypora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本,并且完全免费。 Typora 的极简的设计理念是我最喜爱的地方。它的功能之强大、设计之冷静、体验之美妙、理念之先进,我认为值得所有笔记应用厂商学习。 正如Typora官网首页所说的 「A truly minimal markdown editor. Ne
简书 Android sqliit问题探讨与解决方案
简书 Android 应用程序中的 SQLIIT(SQLite 交互问题)是一个大家都可能会遇到的问题,特别是在涉及数据库操作时。随着用户数据的不断增加,以及数据库的复杂性增强,如何高效且稳健地处理应用中的 SQLite 操作成为了一件不容忽视的事情。解决这一问题不仅影响应用性能,更关键的是用户的体验质量。
### 背景定位
在我处理这个
# Android Audiorecord实现步骤
## 1. 简介
在Android开发中,使用AudioRecord可以实现录制音频功能。AudioRecord是一个Android提供的可以实时录制音频的类,可以通过设置参数来控制录制的音频格式、采样率、声道等。
## 2. 实现步骤
下面是实现"android audiorecord简书"的步骤:
```mermaid
journey
原创
2023-11-02 03:26:23
230阅读
参考文章 https://www.jianshu.com/p/264f4dbedf5b 参考文章https://tech.sina.com.cn/csj/2019-07-15/doc-ihytcitm2045967.shtml 第一次接触即刻这款应用是在一款 朋友圈的分享中 第一印象是 类似于知乎+ 今日头条的混合体的感觉... “即刻”在AppStore上
本文不讲解线程池执行过程过状态的判断,如要阅读k、completedTasks。工作线程创建会调用r...
原创
2023-08-03 19:23:34
119阅读
//第一版
package com.hra.riskprice;
import com.hra.riskprice.SysEnum.Factor_Type;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
转载
2024-09-07 16:58:42
16阅读
简书App 是我很喜欢的一款软件。今天就模仿了一下他的登录框。先上图: 好了下面上代码,自定义ImgEditText 继承与EditText。重写一些方法。 1 package lyf.myimgedittextdemo;
2
3 import android.content.Context;
4 import android.graphics.Rect
转载
2024-01-17 05:57:37
95阅读
# Android PopupWindow 使用教程
在Android开发中,`PopupWindow`是一种非常常用的UI组件,常用于显示自定义的视图层或菜单,与Activity或Fragment进行交互时,具有很好的灵活性。本文将详细介绍如何使用`PopupWindow`,并提供代码示例和流程图,希望能帮助您更好地理解和应用这一组件。
## 什么是PopupWindow
`PopupWi
# Android 心跳服务的实现
在 Android 开发中,心跳服务通常用于保持与服务器的连接状态,定期发送数据包以防止连接超时。本文将系统地教会你如何创建一个简单的心跳服务,并与服务器保持连接。
## 整体流程
我们将整个实现流程分为以下几个步骤:
| 步骤 | 描述 |
|------|------------------------
# Android 播放 PCM 声音的实现方法
在信息化的时代,音频播放已成为大多数应用的基础功能之一。PCM(Pulse Code Modulation,脉冲编码调制)是一种非常常见的音频编码方式,常用于录音、音频处理等场景。本文将讲述如何在 Android 应用中播放 PCM 文件,并附上详细的代码示例。
## 1. PCM 文件简介
PCM 文件是未压缩的声音文件,通常以 `.pcm
原创
2024-08-13 07:23:23
632阅读
# Android启动相机简介
相机是Android系统中常用的设备之一,它允许用户拍摄照片和录制视频。在Android应用中启动相机,我们可以利用系统提供的相机API来实现。
本篇文章将介绍如何在Android应用中启动相机,并提供相应的代码示例。
## 1. 准备工作
在开始之前,我们需要确保以下几点:
- Android设备上已经安装了相机应用。
- 在AndroidManifest
原创
2024-01-12 06:54:25
123阅读