Java 的内存区域划分绝不仅仅只是堆内存(heap)和栈内存(Stack),实际上 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为以下几个数据区域:程序计数器、Java 虚拟机栈、本地方法栈、堆、方法区、运行时常量和直接内存。如下图所示:
Mac 实用小工具
记录备忘一下 Mac 系统下一些实用的小工具
收费
Bartender
: 菜单栏管理工具,可以将菜单放进 Bartender 的二级菜单SizeUp
: 实用分屏小工具Proxifier
: 配合 ss/ssr 可以实现真正的全局代理软件iStat Menus
: 能够在系统菜单栏实时监控 CPU、内存、硬盘、网络、温度、电池以及系统时间等CleanMyMac
: 系统清理工具,可以清除 mac 系统多余的语言包、系统缓存、应用程序等KeyCue
: 快捷键辅助工具,忘记一些快捷键的时候按住 Command 就会出现快捷键大全的菜单Araxis Merge
: 可视化文件合并以及数据同步工具BetterZip
: 功能非常强大的压缩解压缩软件Parallels Desktop
: 最佳 Mac 虚拟机解决方案TinyCal
: 小历 - 小而美的日历 (OS X)
漂 泊
Golang 反射使用总结
Go 语言中反射的操作主要定义在标准库 reflect
中,在标准库中定义了两种类型来表现运行时的对象信息,分别是:reflect.Value
(反射对象的类型)和 reflect.Type
(反射对象的值),Go 语言中所有反射操作都是基于这两个类型进行的。

为了方便演示操作(完整代码示例),首先定义以下结构体以及字段、方法:
Kubernetes 学习笔记之 MiniKube 安装
Kubernetes 集群的搭建是有一定难度的,尤其是对于初学者来说,好多概念和原理不懂,即使有现成的教程也会出现很多不可预知的问题,很容易打击学习的积极性,就此弃坑。好在 Kubernetes 社区提供了可以在本地开发和体验的极简集群安装 MiniKube,对于入门学习来说很方便。

MiniKube 官方安装介绍已经非常详细了,可以参考 installation。但是在国内由于网络访问原因(懂的),即使有梯子也很折腾,所以记录一下阿里修改后的 MiniKube 安装。使用阿里修改后的 MiniKube 就可以从阿里云的镜像地址来获取所需 Docker 镜像和配置,其它的并没有差异,下文着重介绍。