Tag: linux
All the articles with the tag "linux".
Understanding Java NIO (Part 2): I/O Multiplexing and Reactor Servers in C
Starting from the limitations of polling with nonblocking I/O, this post introduces select and epoll through C examples. It explains file descriptors, level-triggered and edge-triggered notifications, then combines connection management, I/O event handling, and a business thread pool into a Multi-Reactor server.
Understanding Java NIO (Part 1): Blocking I/O Servers in C with Processes, Threads, and Thread Pools
C implementations of blocking socket servers use a single process, multiple processes, multiple threads, and a thread pool to explain connection handling, file descriptors, and resource release. Comparing their concurrency and overhead establishes a foundation for nonblocking I/O and I/O multiplexing.
Arthas
This article records Arthas startup, reconnection, and common startup issues, with practical examples of finding classes, decompiling, compiling, and hot updates. It also covers changing log levels dynamically, inspecting and modifying JVM options, and cautions when using redefine.
Using Git Rebase
Uses a branch merge that requires combining multiple commits to introduce interactive Git rebase and commit-message editing. It compares squash, fixup, commit --amend, and resetting followed by a new commit, and explains how to abort an unfinished rebase.