2018年2月5日

Java8函数式编程探秘

摘要: 引子 将行为作为数据传递怎样在一行代码里同时计算一个列表的和、最大值、最小值、平均值、元素个数、奇偶分组、指数、排序呢?答案是思维反转!将行为作为数据传递。 文艺青年的代码如下所示: public class FunctionUtil { public static <T,R> List<R> mu 阅读全文

posted @ 2018-02-05 08:54 taich-flute 阅读(2751) 评论(0) 推荐(0) 编辑

2018年1月19日

Kaggle 神器 xgboost

摘要: Kaggle 神器 xgboost 在 Kaggle 的很多比赛中,我们可以看到很多 winner 喜欢用 xgboost,而且获得非常好的表现,今天就来看看 xgboost 到底是什么以及如何应用。 什么是 xgboost? XGBoost :eXtreme Gradient Boosting 项 阅读全文

posted @ 2018-01-19 11:24 taich-flute 阅读(1009) 评论(0) 推荐(0) 编辑

2018年1月15日

改善代码可测性的若干技巧

摘要: 概述 软件的工程性体现在质量与效率。单测是构成软件质量的第一道防线,而单测覆盖率是软件质量的重要指标之一。 编写容易测试的代码,可带来更佳的单测覆盖率,间接提升开发效率。 为什么程序员不大写单测呢? 主要有如下原因: 习惯于将细小的重要业务点重复性地混杂在应用中。 结果是:难以对那些重要的业务点编写 阅读全文

posted @ 2018-01-15 09:20 taich-flute 阅读(243) 评论(0) 推荐(0) 编辑

2018年1月8日

IDEA 代码生成插件 CodeMaker

摘要: 前言 Java 开发过程中经常会遇到编写重复代码的事情,例如说:编写领域类和持久类的时候,大部分时候它们的变量名称,类型是一样的,在编写领域类的时候常常要重复写类似的代码。类似的问题太多……这里介绍一个 IDEA 的代码生成插件,通过 Velocity 支持自定义代码模板来生成代码。 项目地址:Co 阅读全文

posted @ 2018-01-08 09:49 taich-flute 阅读(11858) 评论(0) 推荐(0) 编辑

2017年12月25日

Elasticsearch 使用中文分词

摘要: 本文演示了如何使用IK Analysis 插件来实现在 Elasticsearch 中的中文分词功能。 使用中文分词 Elasticsearch 语言分析器上的限制,它并不能友好的处理所有语言,特别是中文。这种情况下,我们就需要额外的中文分词器来协助我们了。 本章节,我们将演示使用 IK Analy 阅读全文

posted @ 2017-12-25 07:52 taich-flute 阅读(308) 评论(0) 推荐(0) 编辑

2017年12月1日

Java性能调优的11个实用技巧

摘要: 大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很容易遵循的建议和最佳实践能够帮你创建一个性能良好的应用程序。 这些建议中的大多数都是 阅读全文

posted @ 2017-12-01 14:18 taich-flute 阅读(252) 评论(0) 推荐(0) 编辑

2017年11月23日

Lucene 快速入门

摘要: Lucene大大简化了在应用中集成全文搜索的功能。但实际上Lucene十分简单,我可以在五分钟之内向你展示如何使用Lucene。 1. 建立索引 为了简单起见,我们下面为一些字符串创建内存索引: StandardAnalyzer analyzer = new StandardAnalyzer(Ver 阅读全文

posted @ 2017-11-23 09:08 taich-flute 阅读(166) 评论(0) 推荐(0) 编辑

2017年11月17日

Java中一个字符用unicode编码为什么不是两字节

摘要: 按照之前对Unicode及utf-8的描述,一个字符以Unicode编码应该是2个字节,英文字符用utf-8占一个字节,中文可能是3-4个字节。那么我们来看看这段代码的运行结果。 运行结果: 我猜你们又要凌乱了。 为什么用unicode或utf-16总数要多出两个字节?且听我一一道来。 二进制的高低 阅读全文

posted @ 2017-11-17 13:54 taich-flute 阅读(3254) 评论(0) 推荐(0) 编辑

2017年10月11日

lucene 的评分机制

摘要: lucene 的评分机制 elasticsearch是基于lucene的,所以他的评分机制也是基于lucene的。评分就是我们搜索的短语和索引中每篇文档的相关度打分。如果没有干预评分算法的时候,每次查询,lucene会基于一个评分算法来计算所有文档和搜索语句的相关评分。使用lucene的评分机制基本 阅读全文

posted @ 2017-10-11 17:32 taich-flute 阅读(313) 评论(0) 推荐(0) 编辑

2017年9月18日

面向对象设计的 10 条戒律

摘要: 面向对象设计的 10 条戒律 我们正在审查一些代码,并开始讨论为什么我们走捷径,不遵循常识原则。虽然每个人在对待关于类应该如何基于功能上下文来构建的问题上都有自己的智慧,但仍然有一些基本原则值得我们在设计类的时候牢牢记住。 I.遵循单一职责原则 每个类都应该有一个并且只有一个引起它变化的原因。这不仅 阅读全文

posted @ 2017-09-18 10:49 taich-flute 阅读(106) 评论(0) 推荐(0) 编辑

导航