嗨!怎么样,工作还顺利吗?
订阅RSS:

标签:代码

极狐GitLab上的Building风云 - 之Docker风云必胜 JIHULAB 101

小白在极狐GitLab溜达的时候,又碰到了总舵主,赶紧拉住总舵主,上次说要教我Docker缓存优化,赶紧给我讲讲吧。舵主:好吧,你还挺好学的,你知不知道咱们极狐GitLab天地会有Package仓库,用来管理制品的?小白:当然知道啦,只是我没有使用过,这个可以怎么玩?

进入阅读
极狐GitLab上的Building风云 - 之Java Maven雄霸天下 JIHULAB 101

小白在江湖漂泊已久,听闻天下会帮主武功盖世,三分归元气(DevOps、DevSecOps、GitOps)天下无敌,一天,看到极狐GitLab天下会正在广发英雄帖招募极狐侠,加入内测堂开始修炼武功。

进入阅读
正确使用 Optional 优雅的解决 null 空指针 NPE 异常

要说起 Optional 的诞生,需要先了解一下 NPE,很多面向对象编程语言中都会有 null 值,也就是空指针,在程序栈上指向了一个不存在的堆地址,当你使用这个指向不存在的堆地址对象时就会抛出一个 NullPointerException 异常,如果你没有很好的遇见到空指针的情况,那么你的程序将会崩溃。

进入阅读
免费IP数据库IP2Location的Java版客户端与BIN文件下载

本文使用的是IP2Location LITE数据库,通过读取BIN文件进行数据查询,代码参考官方案例进行精简并上传Maven仓库。

进入阅读
国内版 Gitlab.cn(极狐)正在为期一个月的内测阶段中

国内版 Gitlab.cn 由极狐信息技术(湖北)有限公司运营,取名为「极狐」,主打企业级 DevOps 服务,我有幸参与了SaaS平台的内测,来跟大家分享一下国内版本的极狐。

进入阅读
谷歌 Google Indexing 推送接口教程的更新

谷歌搜索引擎作为全球第一的搜索引擎早就支持了站长主动推送的功能,只不过不是面向普通用户的可视化界面,而是通过编程API接口实现的,有很多站长并不是专业的开发者,但由于谷歌需要验证网站所有权,所以我不能直接做一个可视化界面让站长自己填写自己的秘钥,所以只能对谷歌的接口进行二次封装,以降低使用的难度。

进入阅读
Java中高级高并发与多线程系列(六):经典的生产者-消费者模型

上一篇我们学会了 synchronized 线程同步,到这里已经可以做一些东西了,最为经典的就是生产者-消费者模型,一个生产者不停的生产资源,一个消费者不停的消费资源,两个线程模拟这样的关系,好比厨师和传菜工,厨师不停的炒菜,传菜工看到有菜了就端走。

进入阅读
Java中高级高并发与多线程系列(五):线程的 synchronized 同步与死锁

了解过多线程的同学肯定听说过 synchronized 这个关键词,我们先用一个错误的案例来引出不使用 synchronized 引发的问题,然后再使用 synchronized 解决问题,然后再由 synchronized 引出死锁问题。

进入阅读
Java中高级高并发与多线程系列(四):线程运行状态的切换与操作

要明确的是在 Java 中线程有 6 种状态,网络上包括 CSDN 上一群复制转载党无脑复制,不知道从哪复制的都在讲 5 种状态,我是亲自找的文档,我可以确定的是 6 种状态

进入阅读
Java中高级高并发与多线程系列(三):FutureTask 类与 Callable 接口

上一篇我们了解了 Thread 类与 Runnable 接口,但这两个组合有一个问题就是他们没有返回值,如果我们希望线程给我们一个返回值,那就需要今天介绍的 FutureTask 类与 Callable 接口。

进入阅读
Java中高级高并发与多线程系列(二):Thread 类与 Runnable 接口

上一篇大致说了下我们为什么需要多线程,既然想要研究多线程,接下来我们就开始自己创建线程,来探究一下多线程的奥秘。

进入阅读
微信搜一搜:任霏博客