分布式事务往往是服务化的痛点,很多场景通过业务避免了分布式事务,但是还是存在一些场景必须依赖分布式事务,下面来讲讲如何处理分布式事务
研究 PHP opcode 是如何优化的
本文基于编译原理,结合opcache扩展提供的优化器,以PHP编译基本单位op_array、PHP执行最小单位opcode为出发点。介绍编译优化技术在Zend虚拟机中的应用,梳理各...
解析Java 内存模型—— JMM
本文主要介绍JMM原理。Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一...
Java 线程池是如何工作的
在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。
Linux进程退出之方法论
当一个进程结束了运行或在半途中终止了运行,那么内核就需要释放该进程所占用的系统资源。这包括进程运行时打开的文件,申请的内存等。
Kotlin 下 的RxJava 多数据源处理
本文主要讲解Kotlin语言处理RxJava多数据源的实现。阅读本文最好有Kotlin基础,若没有基础,可参考之前文章Kotlin初探,使用Kotlin优雅的开发Android应用...
Zabbix自动发现之fping
Zabbix自动发现功能从配置流程上比较简单:Discovery与Action。在做Zabbix的自动发现验证时,使用"ICMP ping"的check方式时,自动发现功能并不生效...
开放式工作研究
GSD指导着我的工作方式。数年来,我将各种方法论融入我日常工作的习惯中,包括精益方法的反馈循环,和敏捷开发的迭代优化,以此来更好地 GSD。这意味着我必须非常有效地利用我的时间:列...
几种Java 枚举查找且不抛异常的实现及其优劣比较
Java Enum是一个非常有用的功能,但很多人通常并不能充分利用,这是因为一些库不会优先择用该功能。通常我们也可以正确使用Java枚举功能,但在许多代码库中往往存在着这样一个问题...
Linux 调试器之处理变量!
变量是偷偷摸摸的。有时,它们会很高兴地呆在寄存器中,但是一转头就会跑到堆栈中。为了优化,编译器可能会完全将它们从窗口中抛出。无论变量在内存中的如何移动,我们都需要一些方法在调试器中...
Linux 调试器之堆栈展开!
有时你需要知道的最重要的信息是什么,你当前的程序状态是如何到达那里的。有一个 backtrace 命令,它给你提供了程序当前的函数调用链。这篇文章将向你展示如何在 x86_64 上...
安装带有 SSH 的 SOCKS 服务器!
在上一篇文章(通过 SSH 实现 TCP / IP 隧道(端口转发):使用 OpenSSH 可能的 8 种场景)中,我们看到了处理端口转发的所有可能情况,不过那只是静态端口转发。也...