Java NIO分析(1): Unix网络模型

要谈Java的NIO, 还是先从I/O开始说起。 Unix提供了5种不同的I/O模型,分别是

  • 阻塞I/O(blocking I/O)
  • 非阻塞I/O(non-blocking I/O)
  • I/O复用(I/O multiplexing)
  • 信号驱动式I/O(signal-driven I/O)
  • 异步I/O(asynchronous I/O)
……

阅读全文

luminus整合shadow-cljs打包

shadow-cljs是新一代的cljs打包工具,比起以前的cljsbuild和figwheel的优势主要是:

  1. 支持直接引用npm依赖, 以前还需要使用cljsjs转一次,不仅麻烦而且还是过时的
  2. 和webpack类似的代码分割, 依赖

当然,cljs+css代码重载是最基本的,而且构建速度也足够快

……

阅读全文

使用clj1.9快速启动clojure的repl

随着Clojure1.9的发布,给我们带来了spec和命令行的支持. mac下通过HomeBrew可以快速安装最新版clojure,自带clj命令行工具

1
brew install clojure

linux平台按照

1
2
3
curl -O https://download.clojure.org/install/linux-install.sh
chmod +x linux-install.sh
sudo ./linux-install.sh

然后通过clj命令就可以快速启动clj的repl. 原来用lein replboot repl启动需要1分钟,clj命令启动只需要短短的几秒。

……

阅读全文