- 走读webrtc的代码能看到各种风格的代码,比如析构函数就有很多种,看到图1的写法还是可以理解的,但是图2就些疑惑了。 图1 RtpSenderBase类在定义时用到了另一种析构函数声明的方式: 图2 基类的析构函数通常必须是虚拟的,但是派生类的析构函数呢?在C++ 11中,使用关键字“override”和“default”明确使用... 走读webrtc的代码能看到各种风格的代码,比如析构函数就有很多种,看到图1的写法还是可以理解的,但是图2就些疑惑了。 图1 RtpSenderBase类在定义时用到了另一种析构函数声明的方式: 图2 基类的析构函数通常必须是虚拟的,但是派生类的析构函数呢?在C++ 11中,使用关键字“override”和“default”明确使用...
- 第二步 创建win7系统 启动 Virtual Box 以后,点击窗口左上角的“新建”按钮,如图所示 接下来为虚拟取一个名称,可随意取。系统类型保持不变,版本在下拉列表中选择 Windows 7。点击“继续”按钮,如图所示 注:如果你安装的是 Windows 64 系统的话,在下拉列表中选择时,请选择 Windows 7 (64 bit)。 ... 第二步 创建win7系统 启动 Virtual Box 以后,点击窗口左上角的“新建”按钮,如图所示 接下来为虚拟取一个名称,可随意取。系统类型保持不变,版本在下拉列表中选择 Windows 7。点击“继续”按钮,如图所示 注:如果你安装的是 Windows 64 系统的话,在下拉列表中选择时,请选择 Windows 7 (64 bit)。 ...
- 如 果想要在虚拟机上使用连接在 Mac 上的硬件外设,比如 U 盘,iPhone 等,需要我们在 Virtual Box 官网下载一个硬件支持扩展安装包。同样地,我们先打开虚拟机的下载页面: https://www.virtualbox.org/wiki /Downloads ,在页面中点击“All supported platforms ”下载链接,如图所示... 如 果想要在虚拟机上使用连接在 Mac 上的硬件外设,比如 U 盘,iPhone 等,需要我们在 Virtual Box 官网下载一个硬件支持扩展安装包。同样地,我们先打开虚拟机的下载页面: https://www.virtualbox.org/wiki /Downloads ,在页面中点击“All supported platforms ”下载链接,如图所示...
- Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Downloads ,在页面中点击“VirtualBox 5.0.16 for OS X hosts amd64”下载链接,如图所示: 下载好了以... Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Downloads ,在页面中点击“VirtualBox 5.0.16 for OS X hosts amd64”下载链接,如图所示: 下载好了以...
- 安卓EditText点击后虚拟键盘回车变成搜索 一般这种情况用在搜索功能,就如下图, 点击输入框,右下角的回车键变成了搜索键 方法 这个很简单,只需要在输入框的父布局加两句, android:focusable="true"android:focusableInTouchMode="true" EditText中加入 android:imeOptions="... 安卓EditText点击后虚拟键盘回车变成搜索 一般这种情况用在搜索功能,就如下图, 点击输入框,右下角的回车键变成了搜索键 方法 这个很简单,只需要在输入框的父布局加两句, android:focusable="true"android:focusableInTouchMode="true" EditText中加入 android:imeOptions="...
- 第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示 接下来点击“现在安装”按钮,如图所示 在协议条款中,勾选我同意,点击“下一步”按钮,如图所示 在安装系统的类型中,选择“自定义”一项,如图所示 ... 第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示 接下来点击“现在安装”按钮,如图所示 在协议条款中,勾选我同意,点击“下一步”按钮,如图所示 在安装系统的类型中,选择“自定义”一项,如图所示 ...
- JVM系列之类加载机制(从类文件到虚拟机) 文章目录 一、类加载机制简介二、类加载机制过程2.1、加载(Load)2.2、连接(Linking)2.2.1、验证(Verify)2.2.2、准备(Prepare)2.2.3、解析(Resolve) 2.3、初始化(Initialize) 三、类加载器Classloader3.1、类加载器简介3.2、类加载器分类3... JVM系列之类加载机制(从类文件到虚拟机) 文章目录 一、类加载机制简介二、类加载机制过程2.1、加载(Load)2.2、连接(Linking)2.2.1、验证(Verify)2.2.2、准备(Prepare)2.2.3、解析(Resolve) 2.3、初始化(Initialize) 三、类加载器Classloader3.1、类加载器简介3.2、类加载器分类3...
- 加载 类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义此类的二进制字节流将字节流所代表的静态存储结构转换为方法区的运行时数据结构在内存中生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口 虚拟机规范多上面这3点并不具体,因此是非常灵活的。比如:"通过全类名获取定义此类的二进制字节流" 并没有指明具体从哪里获取、怎样获取。比如:比较常见的就是从... 加载 类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义此类的二进制字节流将字节流所代表的静态存储结构转换为方法区的运行时数据结构在内存中生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口 虚拟机规范多上面这3点并不具体,因此是非常灵活的。比如:"通过全类名获取定义此类的二进制字节流" 并没有指明具体从哪里获取、怎样获取。比如:比较常见的就是从...
- I/O设备:输入输出和存储功能的设备 I/O设备的分类 按传输的速度: 低速设备(如键盘、鼠标、语音输入输出设备) 中速设备(如行式打印机、激光打印机等) 高速设备(如磁带机、磁盘机、光盘机等)。 设备按信息交换的单位分类 块设备:用于存储信息。对于信息的存取总是以数据块为单位。典型例子是磁盘。该类设备基本特征是传输... I/O设备:输入输出和存储功能的设备 I/O设备的分类 按传输的速度: 低速设备(如键盘、鼠标、语音输入输出设备) 中速设备(如行式打印机、激光打印机等) 高速设备(如磁带机、磁盘机、光盘机等)。 设备按信息交换的单位分类 块设备:用于存储信息。对于信息的存取总是以数据块为单位。典型例子是磁盘。该类设备基本特征是传输...
- 引用计数 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可能再被使用的。 这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决对象之间相互循环引用的问题。 所谓对象之间的相互引用问题,如下面代码所示:除了对象 objA 和 obj... 引用计数 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可能再被使用的。 这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决对象之间相互循环引用的问题。 所谓对象之间的相互引用问题,如下面代码所示:除了对象 objA 和 obj...
- 目前主流的垃圾收集器都会采用分代回收算法,因此需要将堆内存分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 大多数情况下,对象在新生代中 eden 区分配。当 eden 区没有足够空间进行分配时,虚拟机将发起一次 Minor GC.下面我们来进行实际测试以下。 在测试之前我们先来看看 Minor GC 和 Full GC 有什么不同呢? 新生... 目前主流的垃圾收集器都会采用分代回收算法,因此需要将堆内存分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 大多数情况下,对象在新生代中 eden 区分配。当 eden 区没有足够空间进行分配时,虚拟机将发起一次 Minor GC.下面我们来进行实际测试以下。 在测试之前我们先来看看 Minor GC 和 Full GC 有什么不同呢? 新生...
- serial Serial(串行)收集器收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程( "Stop The World" ),直到它收集结束。 ... serial Serial(串行)收集器收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程( "Stop The World" ),直到它收集结束。 ...
- 标记-清除 该算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它是最基础的收集算法,后续的算法都是对其不足进行改进得到。这种垃圾收集算法会带来两个明显的问题: 效率问题空间问题(标记清除后会产生大量不连续的碎片) 复制 为了解决效率问题,“复制”收集算法出现了。它可以将内存分为大小相同的两块,每次使用其中的一块。当... 标记-清除 该算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它是最基础的收集算法,后续的算法都是对其不足进行改进得到。这种垃圾收集算法会带来两个明显的问题: 效率问题空间问题(标记清除后会产生大量不连续的碎片) 复制 为了解决效率问题,“复制”收集算法出现了。它可以将内存分为大小相同的两块,每次使用其中的一块。当...
- 安装所需要硬性软件 虚拟机版本 Oracle VM VirtualBox-4.1.18-78361-Win.exe linux版本 红帽 RHEL_5.5 i386 DV.iso 安装过程 首先安装虚拟机(傻瓜试安装,直接点) 虚拟机安装完事后,在虚拟机的界面双击绿色地方的按钮, 进行安装红帽的iso 安装注意事项 ... 安装所需要硬性软件 虚拟机版本 Oracle VM VirtualBox-4.1.18-78361-Win.exe linux版本 红帽 RHEL_5.5 i386 DV.iso 安装过程 首先安装虚拟机(傻瓜试安装,直接点) 虚拟机安装完事后,在虚拟机的界面双击绿色地方的按钮, 进行安装红帽的iso 安装注意事项 ...
- 作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 看了一篇文章30岁有多难! 每篇文章的开篇总喜欢写一些,从个人视角看这个世界的感悟。 最近看到一篇文章,30岁有多难。文中的一... 作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 看了一篇文章30岁有多难! 每篇文章的开篇总喜欢写一些,从个人视角看这个世界的感悟。 最近看到一篇文章,30岁有多难。文中的一...
上滑加载中
推荐直播
-
仓颉编程语言开源创新人才培养经验分享
2025/08/06 周三 19:00-20:00
张引 -华为开发者布道师-高校教师
热情而富有活力的仓颉社区为学生的学习提供了一个充满机遇和挑战的平台。本次直播探讨如何运用社区的力量帮助同学们变身为开源开发者,从而完成从学生到工程师身份的转变。
回顾中 -
“全域洞察·智控未来” ——云资源监控实战
2025/08/08 周五 15:00-16:00
星璇 华为云监控产品经理,霄图 华为云监控体验设计师,云枢 华为云可观测产品经理
本期直播深度解析全栈监控技术实践,揭秘华为云、头部企业如何通过智能监控实现业务零中断,分享高可用系统背后的“鹰眼系统”。即刻预约,解锁数字化转型的运维密码!
即将直播
热门标签