macOS 安装 GCC 教程

网上的教程大多是通过安装 Xcode 实现安装 gcc 的,这种方式的花费有点太得不偿失,Xcode占据的空间是在太大,这对于128g用户简直就是噩梦。 还有就是通过homebrew安装,前提是你电脑上要安装了homebrew。 这里介绍一种简单的方法。 1.…

Java 中的单例模式

什么是单例模式? 单例模式是一种对象创建模式,用于产生对象的一个具体实例,并且可以确保系统中一个类只能产生唯一的一个实例。 这样的方式能够带来两大好处: 对于频繁使用的对象,可以省略创建对象所花费的时间,对于复制的对象,这样的创建方式的开销是十分值得的; new 的次数少了,对内存的使用频率也就下降了,当然也就减轻了 GC 的压力。…

知乎专栏 API 分析

声明 声明:以下所有 API 均由 知乎(Zhihu.INC) 提供,本人通过非正常手段获取。获取与共享的行为有侵犯知乎权益的嫌疑。若被告知停止使用与共享,本人将及时删除整个项目。请您知悉相关情况,遵守知乎的协议。API 仅供学习交流使用,请勿用作商业用途。 说明…

浅析 Android 中 Activity 的四种启动模式

standard, singleTop, singleTask, singleInstance. 启动模式一共有上述的四种,可以在AndroidManifest.xml文件中通过给标签指定android:launchMode属性来选择启动模式。 standard standard是Activity默认的启动模式,在不进行显示指定的情况下,所有Activity都会自动的使用这种模式。Android使用返回栈来管理Activity,在standard模式下,每当启动一个新的Activity,它就会在返回栈中入栈,并处于栈顶的位置。对于使用standard模式的Activity,系统不会在乎这个Activity是否已经在返回栈中,每次启动都会创建一个新的Activity实例。 现在通过实践来体会一下standard模式,首先是新建一个ActivityTest项目,修改MainActivity的onCreate()中代码,如下所示:…

进程与线程之间的关系

什么是进程? 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的独立单位。进程拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。 什么是线程? 线程是进程的一个实体,是cpu调度和分配的基本单位。它是进程更小的能独立运行的基本单位。线程本身并不拥有系统资源,运行是只是暂用一些计数器、寄存器和栈。 进程与线程之间的关系 简单来说,一个程序至少拥有一个进程,而一个进程至少拥有一个线程。 一个线程可以创建和撤销另外一个线程,同一个进程中可以有多个线程并发的执行。 线程更加接近于执行体的概念,它可以同进程中的其他线程共享数据,但是拥有独立的栈空间,拥有独立的执行序列。…

浅谈 Android 中的 ANR 现象

什么是ANR ANR,Application Not Responding,即程序未响应。发生ANR时,系统会显示一个dialog,提示用户出现了ANR,用户可以选择“等待”,或者是“强制关闭”,结束应用。ANR同崩溃一样,是在开发过程中应该避免的。 什么会触发ANR 主线程被IO操作阻塞。(文档中特别强调:you should not…