Silo Blog


  • Home

  • Archives

  • Tags

  • Search

用Optional取代null

Posted on 2018-08-12 | In Java

作为Java程序员我们经常会碰到 NullPointerException 异常。不管是初级,还是经验丰富的专家,NullPointerException 是一个很让人头疼的问题,一不小心程序就会出错。

Read more »

Java 多线程之CompletionService

Posted on 2018-08-04 | In Java

如果向 Executor 提交了一组计算任务, 并且希望在执行完成后获取结果,可以保存与每个任务关联的 Future ,并调用 get 方法去获取执行结果。但是如果任务还未完成,获取结果的线程将阻塞直到任务完成,由于无法确定任务执行完成的先后循序,使用这种方式效率不高。如果同时将参数 timeout 设置为 0 ,然后循环调用 get 方法,通过轮询来判断任务是否完成。这种方法可行,但是过于繁琐,好在 JDK 提供了一种更好的方法: CompletionService。

Read more »

Java 多线程之使用 Future 实现携带结果的任务

Posted on 2018-07-20 | In Java

Runnable

Runnable 是我们多线程开发过程中常用的接口。 Executor 框架使用 Runnable 作为其基本的任务表现形式。 Runnable 是一个有很大局限性的接口,run() 方法没有返回值并且不能抛出一个受检查的异常。

Read more »

MySQL EXPLAIN 命令详解

Posted on 2018-06-02 | In MySQL

EXPLAIN 语句提供有关 MySQL 如何执行语句的信息。 解释与 SELECT, DELETE, INSERT, REPLACE,和 UPDATE 语句有关的工作。

Read more »

SpringBoot之使用Hibernate Validator验证参数

Posted on 2018-05-17 | In SpringBoot

开发 WEB 应用时参数校验必不可少。前端通过 js 校验参数合法性,后端也需要对参数进行校验。常见的做法是在 Controller 或者 Service 中通过 if 或者 assert 判断参数是否合法。这样的方式虽然简单,但是代码冗余、耦合度高。其实可以通过 Hibernate Validator 优雅的进行参数校验。

Read more »

Gradle 多环境配置教程

Posted on 2018-04-08 | In Gradle

通常我们的项目会存在多个环境,比如,开发环境,测试环境,生产环境等。不同的环境配置不同,发布的时候需要根据发目标环境来选择打包对应的配置文件。使用 Gradle 作为构建工具,可以很方便的实现。

Read more »

Elasticsearch学习笔记之分片

Posted on 2018-03-23 | In Elasticsearch

为了将数据添加到Elasticsearch,我们需要索引(index)——一个存储关联数据的地方。实际上,索引只是一个用来指向一个或多个分片(shards)的”逻辑命名空间(logical namespace)”.

Read more »

GitHub pull request时Jenkins自动构建教程

Posted on 2018-03-19 | In Jenkins

当开发人员向GitHub的master分支提交pull request时,需要相关的人员进行review后,才merge到master分支。通过Jenkins,可以很方便的实现pull request时自动触发构建、测试代码,极大的提高工作效率。下面简单介绍一下配置步骤。

Read more »

Mybatis自动分页插件

Posted on 2018-01-01 | In Java , MyBatis

自己实现了一个比较简单的MyBatis分页插件。在讲解如何实现分页插件之前,我们先简单介绍一下Mybatis中的一些重要的对象。我们通过映射器Mapper对数据库进行增删改操作时,Mapper执行的过程是通过Executor、StatementHandler、ParameterHandler和ResultHandler来完成对数据库的操作和返回结果的。

Read more »

Mybatis之MappedStatement源码分析

Posted on 2017-12-14 | In Java , MyBatis

本篇文章将简单分析Mybatis的StatementHandler源码

Read more »
1 2 3 … 5
Ethen

Ethen

42 posts
14 categories
43 tags
RSS
© 2019 Ethen
Powered by Jekyll
Theme - NexT.Mist