JVM 运行时内存分配
前言
JVM
是 Java
程序员绕不过去的坎,今天学习下 Java
虚拟机运行时是怎么分配内存的。
JVM
规范中规定, JVM
运行时内存分为程序计数器、虚拟机栈、本地方法栈、方法区、堆,这5个部分,如下图所示。
我的快捷键跨平台方案
前言
我经常要在 macOS 和 Linux 下来回切换使用,使用的过程中,有许多不便之处。比如快捷键就是一个非常头疼的问题,需要记两套不同的快捷键,而且两个平台的键位还不一样。
熟练使用快捷键可以成吨的提高效率。于是在两个平台之间使用我都要刻意去配置让两个平台的快捷键尽肯能的相似,这样开发效率才不会受到太多的影响。
MPAndroidChart 使用总结
前言
今年开工以来,一直接触图表相关的开发,经过选择最后采用 MPAndroidChart ,期间碰到了一些问题,踩了不少坑。特来总结一下,以免日后忘记。这些知识点虽然不难,但是非常零碎,找起来比较麻烦。
一键自动安装 ArchLinux
前因
由于我经常需要用到 Linux
就不可避免的要经常需要安装各种 Linux
实在是非常耗费时间的事情,装系统可能不下于百次了。
每次装系统都要花费许多时间,于是我就考虑能不能写一个脚本让其自动化安装,以节约时间。
虽然现在安装 Linux
非常方便,尤其是带有良好的安装界面,基本上只要点击下一步就能够装好。
但是我的需求是不需要带有 GUI 的,毕竟在虚拟机上使用 GUI 体验并不是非常好。
GPG加密五:在 Emacs 中使用 GPG 加密
前言
之前我们介绍了 GPG
的使用,也介绍了用 GPG
来管理自己的密码。
今天我们来讲一讲在 Emacs
中配合 GPG
加密 Org mode
。
GPG加密四:用 GPG 加密你的密码
前言
前面我们讲的 GPG
的相关内容,对于大多数人来可能用的不多。今天我们就来实际的使用一下,用它来管理你的密码。
密码是我们日常都会用到的,而且使用很多,每个网站都有不同的账号和不同的密码。如果你使用同样的密码,那就非常危险了,一旦某个密码泄漏了,其他网站也会跟着遭殃。定期修改密码还是非常有必要的。
pass 介绍
pass
是一个符合 Unix
哲学的命令行工具,它被设计成用来管理密码,并且是开源的,如果你不放心,可以去查看代码,或者改成你需要的。不要看到命令行就怕了,它有很多客户端,可以满足大多数人使用。
类似 pass
的产品有我们常见的 1Password
、 LastPass
等。 1Password
是个收费的软件, LastPass
虽然也有免费的版本,但是密码放在别人那里总是不放心。毕竟之前也出过幺蛾子。如果你有使用这些产品,也可以非常方便导入到 pass
中。
pass
使用 GPG
非对称加密,这就是我们选择它的原因。
GPG加密三
前言
经过前面的两次的学习,各位小伙伴应该能够满足日常使用了。今天我们把剩下的一些知识给讲完,将来会用到的。
GPG加密二
前言
上一篇文章我们了解了怎么使用 GPG
进行加密、解密、签名。
这篇来讲讲密钥的导入导出以及子密钥的使用。
GPG加密一
GPG介绍
提到 GPG
不得不提一下 PGP(Pretty Good Privacy)
, PGP
最开始是由 Phil Zimmermann
开发,开发的目的是为了躲避监视,如果文件在网络上明文传输,那是多么危险。 PGP
虽然受很多人喜爱,但是是个商业软件,不能自由使用。所以自由基金会决定自己开发一个取名叫 GPG
,这就是 GPG
的由来。 GPG
和 PGP
都遵循 OpenPGP
加解密标准, 现在 PGP
被赛门铁克公司收购了。
2019总结
Photo by NordWood Themes on Unsplash
看书
今年读书比较多,大多数是电子书。还有两本纸质书,其中一本是在书店里看完的,用了 4 天下班后的两个小时看完的,比较新奇的体验。
我以前看书没有做笔记的习惯,有的能想起来书名,具体就要整本书的去找。如果不幸忘记,根本无从下手。所以今年用电子书看的会做一些笔记,看完之后会导出,然后使用 Org Mode
进行整理。这样提高了我查找的效率。
Parallels tools 安装失败
缘由
最近做实验,需要一个新的 Linux
环境来折腾,于是就去下载了最新版的 Manjaro
。
按照常规安装好虚拟机之后,我还会安装 Parallels tools
来更好的体验 Linux
。 Parallels tools
可以方便的在宿主机和虚拟机之间拷贝文件和共享文件,当然还有最重要的就是显示效果会好上一大截,鼠标移动不会卡顿,窗口的缩放可以自适应等,所以没有理由不装。
在安装的过程中碰到了安装失败的情况,下面记录一下解决的过程。
用Docker下载AOSP源码
AOSP 介绍
AOSP
是 Android 开放源码项目,通俗点就是整个 Android
的源码。有了 AOSP
我们就可以在源码的层面去了解整个 Android
系统。甚至可以自己基于 AOSP
去定制自己系统,这也是众多 ROM
的直接或间接起源。
在Emacs中用PlantUML画UML
简介
平时需要画 UML
图,用的比较多的就是 StarUML 、 Visio
、 Rational Rose
。其中 StarUML 是跨平台的免费软件,相比其他的收费软件是个不错的选择。
今天要介绍的是PlantUML它是一个开源的用文字来描述的工具,简单来说就是用文字去写出各种 UML
图,而不是用鼠标去拖拽。上面介绍的工具都是通过鼠标去拖拽的方式去画出各种 UML
图。可能由于是个开发的缘故,天生就喜欢纯文本的东西,解析起来方便,占用内存小,改起来也方便,只要一个文本编辑器就可以改。当然我使用的原因是可以在 Emacs
中通过 Org Mode
结合 Org-Babel
使用,生成对应的 UML
图,所见即所得。
这里有一个在线体验的网址,有兴趣可以点击链接,前去体验。
拔智齿
UML类图
概述
UML(Unified Modeling Language)统一建模语言,对于程序员来说接触比较多的就是类图了。在学习 UML
的时候没有好好学,导致后面许多别人画的类图看不懂,一些优秀的资料也看不懂,看到有 UML
的都会下意识的跳过,这样下去不行,所以回来学习 UML
相关知识。
Dockerfile
之前总结过 Docker 的使用,讲解了 Docker 的安装、相关概念以及基本使用。里面介绍的都是如何使用别人制作好的镜像,显然是不能满足我们的需要。接下来就来讲讲私人订制自己的镜像。
RxLifecycle 原理解析
介绍
从名字中可以看出 RxLifecycle
和生命周期有关。也的确如此, RxLifecycle
通过监听生命周期的变化,来解决 RxJava
内存泄漏的问题。
使用 hugo 搭建网站
hugo 是一个静态网站生成器,通过 hugo 可以快速生成属于你的静态网站。
安装 hugo
|
|
创建网站
|
|
选择主题
在Hugo Themes中选择一个喜欢的主题,下载到新 themes
目录下
Retrofit 源码解析
Retrofit 是 square 推出用来请求 RESTful 风格 API 的网络库,可以让开发人员快速开发 RESTful 风格的应用。
本文基于
retrofit2.5.0
进行分析。