转:https://www.cnblogs.com/ktao/p/7563289.html 1. 为什么构造函数不能为虚函数? 虚函数的调用需要虚函数表指针,而该指针存放在对象的内存空间中;若构造函数声明为虚函数,那么由于对象还未创建,还没有内存空间,更没有虚函数表地址用来调用虚函数——构造函数了。 ...
分类:
其他好文 时间:
2020-05-14 19:36:26
阅读次数:
74
一.Semaphore是什么 Semaphore 是一个计数信号量,必须由获取它的线程释放。用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。 Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的sy ...
分类:
其他好文 时间:
2020-05-14 19:22:25
阅读次数:
47
内存分区模型 C++程序在执行时,将内存大方向划分为 4个区域 代码区:存放函数体的二进制代码(0,1),由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存 ...
分类:
编程语言 时间:
2020-05-14 15:37:00
阅读次数:
61
转自 https://www.jianshu.com/p/5841df465eb9 我们来聊聊GZIPOutputStream 和 GZIPInputStream, 如果不关闭流会引起的问题,以及GZIPStream申请和释放堆外内存的流程, Let's do it! 引子 在我的工程里面又一个工具 ...
分类:
编程语言 时间:
2020-05-14 15:11:19
阅读次数:
92
8.3 死锁的基本概念 一、定义 多个进程因为竞争资源而产生的一种僵死状态,若无外力推动,这些进程将无法继续执行。 在一组进程发生死锁的情况下,这组死锁进程中的每一个进程,都在等待另一个死锁 进程所占有的资源。或者说每个进程所等待的事件是该组中其它进程释放所占有的资源。 但由于所有这些进程己都无法运 ...
分类:
其他好文 时间:
2020-05-14 15:03:15
阅读次数:
54
一、前言 这是一篇指导驱动工程师如何使用DMA API的文档,为了方便理解,文档中给出了伪代码的例程。另外一篇文档dma-api.txt给出了相关API的简明描述,有兴趣也可以看看那一篇,这两份文档在DMA API的描述方面是一致的。 二、从CPU角度看到的地址和从DMA控制器看到的地址有什么不同? ...
分类:
移动开发 时间:
2020-05-14 11:12:42
阅读次数:
69
Marshal.FreeCoTaskMem(IntPtr) 方法:https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.marshal.freecotaskmem?view=xamarinandroid- ...
JDBC:操作所有关系型数据库的规则,即接口;各个数据库厂商去实现接口提供所谓的驱动jar 1:导入jar包 2:注册驱动 3:获取数据库连接对象Connection 4: 定义Sql 5: 获取Statement对象 6 执行sql接收返回结果 resultset 7:释放资源 package c ...
分类:
数据库 时间:
2020-05-14 10:53:59
阅读次数:
62
我的华为Mate8手机手机存储(手机内存)32G, 运行内存3G,2016年买的手机,两样数值都偏小,导致使用手机的时候经常卡顿,一天来回清理垃圾、清理内存很多次,要运行微信、QQ等占用运行内存较多的软件时,经常要提前优化一下手机,退出所有其它正在运行的软件,然后再启动微信或QQ,反正这个手机使用起 ...
分类:
移动开发 时间:
2020-05-14 09:13:22
阅读次数:
253
例子: 生产者,消费者问题;消费者先进入临界区,条件变量未满足条件,阻塞等待;生产者无法进入临界区,从而无法修改条件变量,也就产生死锁; 解决方法:如果遇到条件变量未满足条件,消费者先释放锁,进入阻塞,等待条件变量得到满足;然后生产者可以进入临界区,修改条件变量,修改后通知消费者进入临界区,生产者释 ...
分类:
系统相关 时间:
2020-05-14 01:36:41
阅读次数:
76