一直听说go语言的良好特性,于是开始我的第一个go语言程序。我是用goLand编译器开始这段旅程,记录一下遇到的坑,Let’s go~。
下载SDK
我是mac本开发的,首先第一步是去官网下载go的SDK,可能需要翻墙才能下载。我有个百度网盘可以提供给大家。
然后双击这个go1.10.3.darwin-amd64.pkg安装包即可,其实这个时候go已经安装好了,在终端输入
|
|
Keep Moving, Keep Learning
一直听说go语言的良好特性,于是开始我的第一个go语言程序。我是用goLand编译器开始这段旅程,记录一下遇到的坑,Let’s go~。
我是mac本开发的,首先第一步是去官网下载go的SDK,可能需要翻墙才能下载。我有个百度网盘可以提供给大家。
然后双击这个go1.10.3.darwin-amd64.pkg安装包即可,其实这个时候go已经安装好了,在终端输入
|
|
Unsafe类存在sun.misc.Unsafe中可以直接读写内存、获得地址偏移值、锁定或释放线程。concurrentHashmap的1.7版本大量使用该类来提高提升Java运行效率。下面我们介绍一下其使用。
|
|
concurrentHashmap是Java工程师接触最多的关于并发和线程安全的类,本篇从jdk1.6, jdk1.7, jdk1.8三个版本的实现来详细分析其设计之美。
首先简单从整体把握concurrentHashmap的结构原理。
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
“适配器”这个词我们平时倒是不少见,比如“电源适配器”,将220V的点转换为电子设备可以接收的小电压的电,可见变压器就是一种“适配器”。不难想到,读卡器是作为内存卡和笔记本之间的适配器,您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。还有我们平时用到的转接头,也是适配器,一端是VGA接口的信号,另一端就可以转换成HDMI的信号。
装饰器模式(Decorator Pattern)以客户端透明的方式扩展对象的功能。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装,是继承关系的一个替代方案。说到装饰者模式,估计大家都不陌生,Java I/O的设计就是采用了装饰者模式。想必初学Java I/O的时候大家都经历过一段“懵逼”期,各种InputStream
和OutputStream
层层嵌套,感觉就像洋葱,如果给装饰者一个形象化的吉祥物,想必非洋葱莫属。