方法论
-
算法:八皇后问题
该图片由MisterMoeter在Pixabay上发布
你好,我是看山。
八皇后问题,是以国际象棋为背景:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任意两个皇后都不能处于同一条横行、纵行或斜线上。
-
JDK中居然也有反模式接口常量
你好,我是看山。
在实际开发过程中,经常会需要定义一个文件,用于存储一些常量,这些常量设计为静态公共常量(使用
public static final
修饰)。这个时候就出现两种选择:- 在接口中定义常量,比如 JDK 1.1 中的
java.io.ObjectStreamConstans
接口; - 在类中定义常量,比如 JDK 1.7 中的
java.nio.charset.StandardCharsets
;
这两种方式都能够达到要求:存储常量、无需实例化。下面分情况讨论下两种方式孰优孰劣。
- 在接口中定义常量,比如 JDK 1.1 中的
-
使用FreeMarker替换JSP的10个理由
你还在使用 Java Server Pages(俗称JSP,Java服务器页面)吗?我曾经也是,但是几年前我抛弃了它们,并且再也没有用过JSP了。JSP 是个很好的概念,但是它却剥夺了 web 开发的乐趣。 对我而言,这些都是小事,比如无法在页面模板上使用单独的文件header.jsp 和 footer.jsp,不能调用表达式语言的方法,在运行时无法合并,重新排列页面的各个部分。所以我转而使用 FreeMarker 模板。FreeMarker 已经存在一段时间了,如果你最近没有关注过 FreeMarker 的话,那这有些建议给你,让你考虑下个 web 应用使用 FreeMarker。
-
微服务编程范式
目前很多互联网公司都采用微服务架构,微服务的优点和缺点被反复说到,这里不在重复赘述,只结合工作中的一些实践,说说要用微服务要注意的点,厚颜写做编程范式,其实就是一些具体实践而已。