自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FishGoddess的博客

感性与理性的碰撞体

  • 博客(16)
  • 收藏
  • 关注

原创 讨论如何优雅地处理 Go 中的 error

讨论如何优雅地处理 Go 中的 error这是一篇讨论而不是结论,希望大家参与思考并说出自己的想法我们在 Go 中处理 error 一般是这样的:package mainfunc execute() error { return nil}func main() { err := execute() if err != nil { panic(err) }}大多数场景我们知道发生了错误即可,所以这么处理没啥问题。如果需要根据不同的错误做不同的操作,一般有以下几种做法:

2021-07-23 17:58:19 390

原创 使用 Dockerfile 制作简易版 ECS

这两个示例仅供参考哈!这是我平时自己有在用的,就是创建一个容器之后就来拿测试搞各种神奇的东西,最后直接一个删除,不会弄得我本身的系统留下一些零零碎碎的东西,可能这就是我的技术洁癖吧哈哈哈!第一种,基于 Alpine 系统:创建 Dockerfile,默认用户名密码为 root 和 123456# 基于 alpine 系统镜像,这是一个很小的系统镜像FROM alpine:3.14.0# 设置镜像源为阿里云RUN echo "http://mirrors.aliyun.com/alpin.

2021-07-18 18:26:30 117

原创 Go 对象池一个坑引起的一次探究

Go 对象池一个坑引起的一次探究author: zijieyecreated on 2021-06-26背景研究 zerolog 源码的时候,一边调试一边做性能测试,发现了一个很神奇的东西…sync.Poolvar ( pool = &sync.Pool{ New: func() interface{} { return new(Something) }, })sth := pool.Get().(Something) // Get() in

2021-06-26 20:38:17 365

翻译 RocksDB 官方安装指南中文翻译版

RocksDB 官方安装指南:https://github.com/facebook/rocksdb/blob/master/INSTALL.md。我只是简单做了一个翻译哈,换句话说,我不生产文档,我只是官方文档的翻译工。英语水平有限,有些句子意思大概明白,但是翻译过来就不一定准确,如果发现不太准确的地方,请及时指明。编译方式注意:如果你打算在生产环境中使用 RocksDB,请不要使用 make 或者是 make all 的方式进行编译。因为这两种方式会编译出 debug 模式的 RocksDB,性

2020-11-26 00:57:10 5035

原创 B 站内推喽!扫码直接投递!

啥也不说,直接海报镇楼!社招,校招都有,想找某个岗位直接搜索就行了,哪位好心的老哥可以创个群什么的,方便大家进行讨论!

2020-07-20 21:54:06 1634 13

原创 介绍一个使用 Go 语言开发的高性能可配置可扩展的日志库 logit

这是一个使用 Go 语言开发的高性能可配置可扩展的日志库,名字叫 logit。logit 是一个高性能的日志库,从测试结果来看,比主流日志库 zap、logrus 这些要快不少。logit 支持配置文件,所有配置都可以使用配置文件进行配置。logit 支持自定义日志处理逻辑,只需要简单实现一个 Handler 接口,即可添加进 logger 中进行日志处理,对于日志采集、日志处理都是非常方便的。logit 支持按照时间和文件大小自动分割日志文件,并支持日志级别划分不同的日志文件,比如 error 级

2020-05-31 16:22:41 835

原创 关于fmt包Fprint系列方法的性能问题

关于fmt包Fprint系列方法的性能问题2019-5-172019-5-17作者:水不要鱼(注:能力有限,如有说错,请指正!)(原文发表在我的个人网站中:https://www.fishin.com.cn/blog/article.html?articleId=5)最近在使用 Go 语言实现一个日志库 (logit) 的时候,发现了一个性能问题,经过 Go 的 cpuprofile 检...

2020-03-11 23:56:07 1299 2

原创 Java 面试复习_9

Java 面试复习_9Dubbo 启动时检查Dubbo 集群容错机制Dubbo 集群负载均衡机制2019-6-1作者:水不要鱼(注:能力有限,如有说错,请指正!)今天儿童节,先祝大家儿童节快乐!!Dubbo 启动时检查dubbo 在启动时会进行服务的可用性检查,就是对依赖的服务进行判断是否可用,只有可用才会拿到代理对象,否则返回 null。但是,有时候不想要这个启动检查,就可...

2019-06-02 11:06:53 127

原创 Java 面试复习_8

Java 面试复习_8JVM 类加载类加载过程今晚就到这里,晚安!2019-5-31作者:水不要鱼(注:能力有限,如有说错,请指正!)JVM 类加载在 JVM 中,类的生命周期有以下几个阶段:加载,验证,准备,解析,初始化,使用,卸载。其中,使用和卸载不算在我们讨论的类加载范畴。上面的步骤中,除了解析之外,其他都是按顺序开始的,因为解析有可能在初始化之后才开始。首先来看看加载...

2019-05-31 20:29:58 171

原创 Java 面试复习_7

Java 面试复习_7JVM 垃圾收集器今晚就到这里,晚安!2019-5-30作者:水不要鱼(注:能力有限,如有说错,请指正!)JVM 垃圾收集器如果说垃圾收集算法是接口,那垃圾收集器就是接口的实现了。由于现在 JVM 上一般都会使用分代垃圾回收机制,也就是将堆进一步分为新生代和老年代,根据不同区域的特点进一步选择具体的垃圾回收算法和垃圾回收器,一般来说新生代使用的是复制算法,...

2019-05-30 23:51:43 109

原创 Java 面试复习_6

Java 面试复习_6new 指令垃圾收集算法Object 类的 finalize 方法今晚就到这里,晚安!2019-5-29作者:水不要鱼(注:能力有限,如有说错,请指正!)new 指令当我们使用 new 指令去创建一个对象的时候,主要会经历以下几个阶段:检查常量池中是否有这个类的符号引用检查这个符号引用指向的类是否已经被加载、解析以及初始化,如果没有的话就需要去执行加载...

2019-05-29 21:46:24 118

原创 Java 面试复习_5

Java 面试复习_5JVM 内存区域划分JVM 之外的内存 - 直接内存今晚就到这里,晚安!2019-5-28作者:水不要鱼(注:能力有限,如有说错,请指正!)JVM 内存区域划分Java 规范中将内存大致分为了以下几个区:程序计数器Java 虚拟机栈本地方法栈堆方法区其中,程序计数器,Java 虚拟机栈,本地方法栈是属于线程私有的,也就是每个线程会有自己的一份...

2019-05-28 21:49:53 147

原创 Java 面试复习_4

Java 面试复习_4volatile 和 synchronized 的区别volatile 和 synchronized 的实现原理synchronized 和 Lock 的细谈Lock 实现原理今晚就到这里,晚安!2019-5-21作者:水不要鱼(注:能力有限,如有说错,请指正!)volatile 和 synchronized 的区别volatile 是 Java 中保证内...

2019-05-21 22:29:47 128

原创 Java 面试复习_3

Java 面试复习_3创建线程的方式JDK 内置线程池今天就到这里!晚安!2019-5-19作者:水不要鱼(注:能力有限,如有说错,请指正!)创建线程的方式继承 Thread 类,并重写 run() 方法,这种方式有局限性,由于 Java 中是单继承的,所以继承了 Thread 类就意味着不能再继承别的类了实现 Runnable 接口,实现 run() 方法,这种方式不存在...

2019-05-19 15:41:38 162

原创 Java 面试复习_2

Java 面试复习_2ArrayList 和 LinkedListHashMap 和 Hashtable集合初始容量的使用今天就到这里!晚安!2019-5-18作者:水不要鱼(注:能力有限,如有说错,请指正!)ArrayList 和 LinkedListArrayList 底层使用数组,每一次空间满了就进行扩容,先创建一个容量为原来容量 1.5 倍的新数组,然后再将数据复制到...

2019-05-18 21:42:53 114

原创 Java 面试复习_1

Java 面试复习_1OOP 思想final, finally, finalize 的区别基本类型和包装类重载和重写(覆盖)接口和抽象类反射和注解HTTP 请求方式session 与 cookie2019-5-17作者:水不要鱼(注:能力有限,如有说错,请指正!)OOP 思想封装 (基础)把一些内部实现隐藏,只公开一部分“想公开”的内容。外界只需要使用这部分公开的内容即可...

2019-05-18 01:49:53 408

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除