陈颂光
全栈工程师,承接从编译器到网站的各类软件开发与咨询,也可以聊历史哲学。
关注我的 GitHub

与java相关的博文目录

Deeplearning4j深度学习框架初探

人工智能 java

人工神经网络近年在机器学习算法中可谓一枝独秀,对自然语言处理(如机器翻译)和计算机视觉(如图像识别)等领域的进步起了重大作用。受惠于JVM久经考验的丰富生态,Deeplearning4j(DL4J)深度学习库不但容易在各种平台上使用,而且性能优异(特别是方便借助Hadoop和Spark处理大数据),适合用于开发各类模式识别软件产品。

用ANTLR解析领域特定语言

java

在开发各种软件的过程中难免要与各式各样的小语言打交道,例如要读取不同格式的数据(特别是配置)文件。虽然我们可以从头开始自己写程序去解析它们,但这样往往过于耗时且难以维护。ANTLR是Lex(或Flex)与YACC(或Bison)在Java世界的一个代用品,可以根据词法和语法自动生成解析器。

Freemarker模板引擎速查

java

Apache Freemarker是JVM平台上一个比较流行的通用模板引擎,适合用于生成网页、 邮件、 配置文件等代码。

Android开发概览

java

Android是目前在手机等移动设备上最流行的操作系统,其中的应用主要用Java语言写成,因此对于Java程序员,转型手机开发相对容易。

用OSGi打造可热拔插的插件系统

java

OSGi是Java平台上一个始于1999年的动态模块化系统,已经用于包括Eclipse在内的各种规模的软件。以下我们演示如何用OSGi框架的一个实现Apache felix来构建一个文件查看器,它用插件的方式支持各种文件类型。

Spring框架初探

java web

Spring已经从在Java EE做依赖注入的框架发展为包罗AOP、MVC、数据持久化、消息传递、安全的Spring全家桶生态,甚至已经把魔掌伸向命令行程序和手机应用开发。以下我们就来说明一下怎么用Spring做点简单的事情。

用Solr打造定制的搜索引擎

java web

在数据分析、站内搜索等应用中,我们往往需要有自己的搜索服务。Apache Solr(用户包括Instagram、Netflix和Digg)和ElasticSearch(用户包括GitHub、Quora和eBay)就是目前最流行的开源搜索服务器软件,无独有偶,它们都基于用Java语言编写的搜索引擎Apache Lucene

让世界各地的用户都能用上你的软件

可用性 java

虽然中国人口不少,但还有更多人在国外。要争取来自世界各地的客户,让软件符合当地的习惯就有助提升观感。除了众所周知的语言外,时区、图标、数字等也可能导致闹笑话。因此,国际化在早期就开始考虑的话往往能做得更好,要是由于早期过于依赖一个地区的特点,后期再作补救将会更为昂贵。

Ant项目利用Ivy借力Maven仓库

ivy maven ant java

进行开发时难免要依赖于第三方的包,而这些包还可能依赖于其它包,这是开发者共同面对的问题。就Java开发而言,Maven中央仓库大概是JAR包最齐全的地方,因此是解决依赖的理想地方。对于使用Ant而不是Maven为构建工具的项目,也可以使用Ivy插件来与Maven仓库打交道(至于maven插件已不维护 ,但似乎仍能用),解决依赖关系。值得一提的是,Maven、Ant、Ivy全是Apache基金会的项目。

正则表达式概览

unix java 正则表达式

一个正则表达式是一个描述了一个字符串集合的模式,在文本处理中是极为重要的工具。