- 一个事务必须具有以下四个特点,即所谓的ACID特性: 原子性:所有的操作要么全部成功,要么全部失败。一致性:在事务完成后,系统保持一致性状态。隔离性:在一个事务成功或失败前,产生的数据对于系统中的其他事务是不见的。持久性:事务操作的结果要持久化保存。 Akka使用(Software Transactional Memory)软件事务内存来实现事务。这是一种多线程之间... 一个事务必须具有以下四个特点,即所谓的ACID特性: 原子性:所有的操作要么全部成功,要么全部失败。一致性:在事务完成后,系统保持一致性状态。隔离性:在一个事务成功或失败前,产生的数据对于系统中的其他事务是不见的。持久性:事务操作的结果要持久化保存。 Akka使用(Software Transactional Memory)软件事务内存来实现事务。这是一种多线程之间...
- 内存泄漏的本质 申请了的内存在不再使用时无法回收。 Android应用程序内存泄漏的含义 Android系统为每个应用程序都分配了相应限额的内存。当应用程序中产生的内存泄漏较多时,将会导致应用程序运行所需要的内存超过系统为其分配的限额,这时应用程序就会Crash(崩溃)。 常见引发内存泄漏的情况 集合类static关键字修饰的成员变量非静态内部类 / 匿名类资... 内存泄漏的本质 申请了的内存在不再使用时无法回收。 Android应用程序内存泄漏的含义 Android系统为每个应用程序都分配了相应限额的内存。当应用程序中产生的内存泄漏较多时,将会导致应用程序运行所需要的内存超过系统为其分配的限额,这时应用程序就会Crash(崩溃)。 常见引发内存泄漏的情况 集合类static关键字修饰的成员变量非静态内部类 / 匿名类资...
- 内存溢出的定义 本来应该被回收的对象不能被回收而停留在堆内存中。 内存溢出的原因 当一个对象实例不再被使用时,正常来说应该被回收,但却因为有另外一个正在使用的对象持有它的引用,从而导致它不能被回收。这就导致了内存溢出。 由Handler引起的内存溢出问题 Handler的一般用法是在Activity中新建Handler子类(内部类)或匿名Handler内部类。... 内存溢出的定义 本来应该被回收的对象不能被回收而停留在堆内存中。 内存溢出的原因 当一个对象实例不再被使用时,正常来说应该被回收,但却因为有另外一个正在使用的对象持有它的引用,从而导致它不能被回收。这就导致了内存溢出。 由Handler引起的内存溢出问题 Handler的一般用法是在Activity中新建Handler子类(内部类)或匿名Handler内部类。...
- 用户界面是操作系统的外在表象,内核才是操作系统的内在核心。系统其他部分都必须依靠内核提供的服务。 内核的大概组成: 中断服务程序:负责响应中断调度程序:负责管理多个进程从而分享处理器时间内存管理程序:负责管理进程地址空间网络服务程序进程间通信服务程序… 对于提供保护机制的现代操作系统来说,内核独立于普通应用程序,一般处于系统态,拥有受保护的内存空间(称为内核空间)和... 用户界面是操作系统的外在表象,内核才是操作系统的内在核心。系统其他部分都必须依靠内核提供的服务。 内核的大概组成: 中断服务程序:负责响应中断调度程序:负责管理多个进程从而分享处理器时间内存管理程序:负责管理进程地址空间网络服务程序进程间通信服务程序… 对于提供保护机制的现代操作系统来说,内核独立于普通应用程序,一般处于系统态,拥有受保护的内存空间(称为内核空间)和...
- 为了让远程Service与多个应用程序的组件(四大组件)进行跨进程通信(IPC),需要使用AIDL IPC:Inter-Process Communication,即跨进程通信 AIDL:Android Interface Definition Language,即Android接口定义语言;用于让某个Service与多个应用程序组件之间进行跨进程通信,从而可以实现多... 为了让远程Service与多个应用程序的组件(四大组件)进行跨进程通信(IPC),需要使用AIDL IPC:Inter-Process Communication,即跨进程通信 AIDL:Android Interface Definition Language,即Android接口定义语言;用于让某个Service与多个应用程序组件之间进行跨进程通信,从而可以实现多...
- IntentService是Service的子类,在独立的handler线程里处理异步任务请求。 IntentService中HandlerThread线程类,开启了一个HandlerThread线程实例,这个实例做一件就是开辟一个线程,并创建Looper循环器和消息队列MessageQueue。最后在IntentService里,通过HandlerThread线程实... IntentService是Service的子类,在独立的handler线程里处理异步任务请求。 IntentService中HandlerThread线程类,开启了一个HandlerThread线程实例,这个实例做一件就是开辟一个线程,并创建Looper循环器和消息队列MessageQueue。最后在IntentService里,通过HandlerThread线程实...
- 作用: 是在后台长期运行某些服务,如复杂的计算 、音乐播放、下载等等。 分类: Service按运行的位置划分有:本地服务、远程服务Service按运行的类型划分有:前台服务、后台服务Service按运行的功能划分有:可通信服务、不可通信服务 下面逐一讲解。 本地服务与远程服务 类型说明优缺点应用场景本地服务(最常用)运行在主线程,当主线程终止后,服务也会跟着... 作用: 是在后台长期运行某些服务,如复杂的计算 、音乐播放、下载等等。 分类: Service按运行的位置划分有:本地服务、远程服务Service按运行的类型划分有:前台服务、后台服务Service按运行的功能划分有:可通信服务、不可通信服务 下面逐一讲解。 本地服务与远程服务 类型说明优缺点应用场景本地服务(最常用)运行在主线程,当主线程终止后,服务也会跟着...
- new Thread的缺点: 每次new Thread新建对象都会影响性能线程缺乏统一管理,可能出现无限制新建线程,导致相互竞争,及可能占用过多系统资源导致死机或oom没有定时执行、定期执行、线程中断等功能 相比new Thread,Java提供的四种线程池的优点: 重用存在的线程,减少对象创建、消亡的开销,性能好能够有效控制最大并发线程数,提高系统资源的使用率,... new Thread的缺点: 每次new Thread新建对象都会影响性能线程缺乏统一管理,可能出现无限制新建线程,导致相互竞争,及可能占用过多系统资源导致死机或oom没有定时执行、定期执行、线程中断等功能 相比new Thread,Java提供的四种线程池的优点: 重用存在的线程,减少对象创建、消亡的开销,性能好能够有效控制最大并发线程数,提高系统资源的使用率,...
- 我们有一个这样的场景:主程序希望与子程序进行通信。我们用pipe()函数为他们创建管道,这样他们就可以通过管道来通信了。 为了演示方便我们只考虑: 子程序把数据发送到父进程中来的情况。因此要用管道把子进程的标准输出和父进程的标准输入连接起来 我们将用pipe()函数建立管道。每当我们打开数据流时,它都会加入描述符表。pipe()函数也是如此,它创建两条相连的数据流,并... 我们有一个这样的场景:主程序希望与子程序进行通信。我们用pipe()函数为他们创建管道,这样他们就可以通过管道来通信了。 为了演示方便我们只考虑: 子程序把数据发送到父进程中来的情况。因此要用管道把子进程的标准输出和父进程的标准输入连接起来 我们将用pipe()函数建立管道。每当我们打开数据流时,它都会加入描述符表。pipe()函数也是如此,它创建两条相连的数据流,并...
- 安全发布对象 错误发布对象: 发布对象:使一个对象能被当前范围之外的代码所使用 ... 安全发布对象 错误发布对象: 发布对象:使一个对象能被当前范围之外的代码所使用 ...
- linux的systemd与init的区别 一、介绍1.init2.systemd 二、systemd作用1.管理系统`systemctl`2.查看启动耗时`systemd-analyze`3.`hostnamectl`查看当前主机信息4.`localectl`查看本地化设置5.`timedatectl`查看当前时区设置6.`loginctl`查看当前登录的... linux的systemd与init的区别 一、介绍1.init2.systemd 二、systemd作用1.管理系统`systemctl`2.查看启动耗时`systemd-analyze`3.`hostnamectl`查看当前主机信息4.`localectl`查看本地化设置5.`timedatectl`查看当前时区设置6.`loginctl`查看当前登录的...
- 这是【从0到1学习Java线程池】系列文章的第 贰 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章介绍了 Java 线程池的原理。 在上一篇文章中(【从0到1学习Java线程池】Java线程池的简介以及使用),我们总结了线程池的3个优点: 线程复用控制最大并发数管理线程 这篇文章会分别从这三个方面,... 这是【从0到1学习Java线程池】系列文章的第 贰 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章介绍了 Java 线程池的原理。 在上一篇文章中(【从0到1学习Java线程池】Java线程池的简介以及使用),我们总结了线程池的3个优点: 线程复用控制最大并发数管理线程 这篇文章会分别从这三个方面,...
- 线程池 (1)new Thread 弊端 每次new Thred 新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者oom缺少更多功能,如更多执行,定期执行,线程中断 (2)线程池的好处 重在存在的线程,减少对象的创建,消亡的开... 线程池 (1)new Thread 弊端 每次new Thred 新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者oom缺少更多功能,如更多执行,定期执行,线程中断 (2)线程池的好处 重在存在的线程,减少对象的创建,消亡的开...
- (1)Future 、FutureTask public class FutureExample { static class MyTask implements Callable<String> { @Override public String call() throws Exception { return "10000"; } } public stati... (1)Future 、FutureTask public class FutureExample { static class MyTask implements Callable<String> { @Override public String call() throws Exception { return "10000"; } } public stati...
- Chapter16 | 爬虫性能提升 一、基础简介1、任务调度2、线程与进程2.1、进程2.2、线程2.3、线程与进程的联系2.4、线程与进程的区别 3、多线程3.1、多线程的原理3.2、多线程爬虫结构3.3、多线程的优势3.4、与单线程相比 3、Python的多线程模块3.1、threading模块3.2、Thread类的调用3.3、线程池的创建 ... Chapter16 | 爬虫性能提升 一、基础简介1、任务调度2、线程与进程2.1、进程2.2、线程2.3、线程与进程的联系2.4、线程与进程的区别 3、多线程3.1、多线程的原理3.2、多线程爬虫结构3.3、多线程的优势3.4、与单线程相比 3、Python的多线程模块3.1、threading模块3.2、Thread类的调用3.3、线程池的创建 ...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
即将直播
热门标签