Lenshood

Software Developer @ThoughtWorks

0%

码字利器 提升快感

Intellij Idea 作为写 Java 最爽、最快、最智能的 IDE,其丰富的功能和完善的快捷键让 Java Coder 可以完全采用键盘流的方式写代码,并且做各种额外的事情(包括在终端跑命令、VCS、文件操作等等)都不用切出 IDE。

在使用的时候完全感觉不到它的存在,才是最棒的工具,Idea 可以做到这一点,Vim 也能做到这一点,这两种完全不同的 editor 用习惯了后都能手随心动,行云流水,优秀的 editor 更容易让使用者进入 心流(flow) 的工作状态。

相比之下,Idea 的优势在于能够快速的在 interface、实现类、方法等等之间跳转,能够方便快速的重构,及通过代码模板自动生成样板代码;Vim 的优势在于高效的文字编辑、处理能力。在Idea 编码的时候经常会不由自主的想要按一下 gg 或是 jk 等等 Vim 的按键来快速的回到页首或是上下移动。

实际上,IdeaVim 作为 IntellliJ Idea 的插件,能实现快速的在 Idea 中使用 Vim 的能力,结合二者的优势,让编码更顺滑。

Read more »

由于某些神秘的原因,某些理所当然的数值计算,通过编程语言操作时,会让人匪夷所思。也是因为这些神秘的原因,业务中常见的集星星、代币值、金额计算等场景中,有可能会出现一长串和期望值有微小偏差的数值(尤其是前后端传递数值的时候..)

Read more »

本文非原创,是对英文原文的译文,原文请见:Notes on Reactive Programming Part I: The Reactive Landscape

响应式编程是一种非常有趣的编程思想,目前对于响应式编程,存在诸多的文章、杂谈,然而对于局外人或是从事简单企业项目开发的 Java 开发者而言(比如笔者),这些内容并不都容易理解。本文(系列第一篇)没准能帮你理清这些杂乱,文章的内容已经尽可能的具体,绝不会出现指代语义的情况。当然,如果你想要的是更加学术的论述以及 Haskell 语言的代码示例,那就 Google 一下吧,本文并不涉及这些。

响应式编程经常与并发编程、高性能等概念相混淆,以至于难以将这些概念分清,实际上在原理上他们完全不同。不可避免的,这肯定会导致混乱。响应式编程经常与函数式反应编程(FRP)相互交融(或直接就被称作是 FRP)。一些人认为响应式编程没什么新奇的,他们每天都这么干(这些人通常都使用 JavaScript 进行开发)。另一些人认为,响应式编程是微软带给人间的礼物(在先前微软在发布一些 C# 的 extension 时引起了巨大的轰动)。而在 Java 企业应用领域,近期已经有了一些风吹草动(见Reactive Streams initiative),就像任何其他的新生事物一样,在何时何地使用的问题上,还存在许多容易犯的错误。

Read more »

下文翻译自 oracle Java SE 8 官方文档, 原文链接:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jdkfiles.html

JDK 8 文件目录结构

本文介绍 JDK 的目录及其所包含的文件。JRE 的文件结构与 JDK 的 jre 目录下文件完全一致。

以下包含三个主题 - Demos 和示例 - 开发相关的文件及目录 - 其他文件及目录

Read more »