java
文章平均质量分 76
kiwi小白
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java线程基础(三):线程调度以及wait/notify
参考资料:http://www.javaworld.com/article/2071214/java-concurrency/java-101--understanding-java-threads--part-3--thread-scheduling-and-wait-notify.html原创 2014-04-24 09:43:13 · 1034 阅读 · 0 评论 -
Java中的String、StringBuilder、StringBuffrer
StringString就是字符串,Java中的字符串是Immutable(不可变的)。如: String before = "before"; String after = before.replace('b', 'e'); // before => "before", after => "eefore"因为String本身是原创 2014-03-31 13:21:24 · 6124 阅读 · 0 评论 -
玩玩儿Flyway:数据库迁移
在软件开发的过程中,我们原创 2014-04-05 16:39:23 · 10477 阅读 · 4 评论 -
Java线程基础(一):Thread和Runnable
参考资料:http://www.javaworld.com/article/2074217/java-concurrency/java-101--understanding-java-threads--part-1--introducing-threads-and-runnables.html原创 2014-04-23 09:31:57 · 1306 阅读 · 0 评论 -
Java线程基础(二):Synchronization
can'o'kaohttp://www.javaworld.com/article/2074318/java-concurrency/java-101--understanding-java-threads--part-2--thread-synchronization.html原创 2014-04-23 13:19:58 · 1255 阅读 · 0 评论 -
Java线程基础(四):ThreadGroup、Volatility
ThreadGroup参考资料:http://www.javaworld.com/article/2074481/java-concurrency/java-101--understanding-java-threads--part-4---thread-groups--volatility--and-threa.html原创 2014-04-28 11:58:21 · 996 阅读 · 0 评论 -
Java中的Mongodb单元测试
如何进行Mongodb测试?我们在java中使用Mongodb作为数据库进行存储的时候,怎么样对于进行测试呢?一种可能直接的方式就是在setUp中getDB,然后在tearDown里面dropDatabase。这样的方式相对来说比较慢。一种更好的方式就是使用fake的数据库,比如embedded的Mongodb用于测试。http://xunitpatterns.com/Test%20Doubl原创 2014-07-16 11:10:01 · 7143 阅读 · 0 评论 -
Mongodb ODM: morphia
Mongodb Java Driver虽然Mongodb提供了java driver,但是如果我们直接使用driver进行mongodb的操作,代码冗余很多,使用不是方便,容易出错。这就像我们在RDBMS中使用sql直接操作数据库一样,大多数时候我们不提倡这样做,更多的时候我们使用MyBatis或者Hibernate做ORM。Mongodb中有这样的工具帮助我们完成ODM吗?有很多,这里我原创 2014-07-16 12:13:26 · 3139 阅读 · 0 评论 -
使用Mockito中@Mock快速创建mock对象
1. 快速创建Mock对象:我们创建mockdui'xiang原创 2014-06-25 00:15:24 · 11344 阅读 · 0 评论 -
Jersey中处理POST格式的Best Practice
REST中,我们可以把接受POST请求的方式写成如下的方式: @POST @Consumes(MediaType.APPLICATION_JSON) public Response createProduct(CreateProductJson createProductJson, @Context UriInfo uriInfo) {CreatePr原创 2014-06-26 01:01:52 · 6114 阅读 · 0 评论 -
初识Spring Boot
参考资料Spring Boot Referencehttp://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-first-application-executable-jar原创 2014-05-26 10:03:07 · 19551 阅读 · 0 评论 -
Xtext Headless模式代码生成
XtextXtext是eclipse下用于构建DSL的工具。其使用非常方便,除了支持开发DSL以外,还能得到eclipse语法高亮、错误提示等功能。http://www.eclipse.org/Xtext/index.html建议先读读官方文档里面的最开始的几个tutorial,对Xtext的使用有个大概的了解。http://www.eclipse.org/Xtext/documentat原创 2014-07-21 22:06:30 · 2159 阅读 · 0 评论 -
java8中的Date、DateTime、Instant
LocalLocalDate.of(2014, 1, 20);=> 2014-1-20也可以表示为:LocalDate.of(2014, Month.JANUARY, 20)原创 2014-07-23 22:43:13 · 26820 阅读 · 2 评论 -
java8中的map和reduce
java8中最受人期待的就是lambda,引入了map和reduce。map和reduce原创 2014-06-19 19:14:45 · 46666 阅读 · 6 评论 -
Spring Boot + Jersey
Jersey是一个非常好的Java REST API库。当你用Jersey实现REST的时候,是非常自然的。同时Spring Boot是Java世界中另一个很好的工具,它减少了程序的应用配置。这篇博客就介绍下如何将Jersey和Spring Boot结合起来使用。原创 2014-06-21 17:49:22 · 11217 阅读 · 1 评论 -
Centos java standalone service - boot on start
假设我们已经有一个jar包:原创 2014-09-23 19:50:00 · 1359 阅读 · 0 评论 -
AWS ELB配置HTTPS转HTTP时,Jersey中scheme的问题
AWS ELB配置HTTPS转HTTP这个时候,后端instance收到的请求就是http,如果你使用了类似UriInfo.getBaseUri这样的方法去构造HATEOS,那么你返回的URI就会是http://api.server.com/,而非https://api.server.com/读ELB相关文档,ELB会在request上加上X-Forwarded-Proto,所以,原创 2014-09-26 21:40:05 · 5481 阅读 · 0 评论 -
【文档摘要】J2EE Persistence - Introduction to the Java Persistence API【Entities】
1. 参考资料:https://docs.oracle.com/javaee/7/tutorial/doc/persistence-intro001.htm#BNBQA原创 2014-11-19 11:21:25 · 1091 阅读 · 0 评论 -
【文档摘要】J2EE Persistence - Introduction to the Java Persistence API【Managing Entities】
Entity ManagerEntity Manager是和一个对应的Persistent Context相关原创 2014-11-19 22:15:57 · 1045 阅读 · 0 评论 -
【文档摘要】J2EE Persistence - Introduction to the Java Persistence API【Entities Inheritance】
参考资料:https://docs.oracle.com/javaee/7/tutorial/doc/persistence-intro002.htm原创 2014-11-19 18:14:37 · 911 阅读 · 0 评论 -
【文档摘要】J2EE Persistence - Introduction to the Java Persistence API【Querying Entities】
JPQL (Java Persistence Query Language)\Criteria API(typesafe)原创 2014-11-20 23:39:32 · 1239 阅读 · 0 评论 -
【文档摘要】J2EE Persistence - Controlling Concurrent Access to Entity Data with Locking
参考资料:https://docs.oracle.com/javaee/7/tutorial/doc/persistence-locking001.htm#GKJHZ原创 2014-11-24 21:20:03 · 1352 阅读 · 0 评论 -
脑法之一 --- DEBUG与搜索算法
何为DEBUG?DEBUG,就是搜索BUG,让后把它DE了。原创 2015-07-21 13:46:04 · 2979 阅读 · 3 评论 -
Log4j ObjectRenderer定制对象显示
log是每个应用必备的功能,log4j是其中使用很多的一个:logger.info("something happend");可能有人认为log4j只能log一般的String,其实不然,log4j也能log一般的Object:logger.info(new Hello("kiwi", "Good morning"));但是这个时候,显示的是:0 [main] INFO原创 2014-04-09 15:08:53 · 2999 阅读 · 1 评论 -
java8 Stream和Lisp对比
java8支持了函数式编程,lisp中最基本的元素就是list,car,cdr,cons,那么通过java8的stream API怎么能够构建类似lisp的使用方式呢?1.(car list)取出头list.stream().findFirst().get()2. (cdr list) 取出除头部外list.stream().skip(1)原创 2015-10-09 18:07:39 · 2871 阅读 · 0 评论 -
Java NIO Fundamentals
Basic Concepts1. Channel & Buffer: data is always read from channel to buffer, or writtern from buffer to channel2. Non-blocking IO: non-blocking while read and write data3. Selector: A single t原创 2016-06-25 17:51:18 · 2097 阅读 · 0 评论 -
IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题
程序员的工作不是写程序,而是写程序解决问题。做到心中无码,才更容易专注于解决问题。原创 2013-12-04 11:20:36 · 19751 阅读 · 3 评论 -
QuickSort(Java)
实现代码:public class QuickSort { public void sort(int[] input) { quickSort(input, 0, input.length - 1); } private void quickSort(int[] input, int begin, int end) { if (begi原创 2012-09-20 08:17:55 · 3607 阅读 · 0 评论 -
Java中编写可变长参数的函数
越来越多的Java库使用了可变长参数,不再需要加一个new Object[]那么别扭。那么如何自己实现一个这样的可变长函数呢?我们就以实现一个一长串的整数相加作为例子:变长参数传到函数以后,其实就是一个数组,像数组那样操作就行了。例子:public class KMath { public static int add(int... args) {原创 2013-07-15 18:00:45 · 4511 阅读 · 0 评论 -
读源码练内功(一):guava之eventbus
从guava中eventbus中学习如何进行annotation编程原创 2013-07-16 23:14:55 · 9886 阅读 · 0 评论 -
把长方形的构造函数写的文艺点儿
如何用更文艺的方式实现一个长方形的构造函数呢?本文用了三种方式来实现,看看不费电原创 2013-07-22 18:07:41 · 1339 阅读 · 0 评论 -
使用Spring中Transcation进行数据库集成测试
数据库是程序中几乎必不可少的一部分,那么如何对于数据库进行测试呢?如果多个测试同时使用同一个数据库,我们怎么能够保证不同测试之间的测试数据不会相互影响呢?这里我们可以使用事务(transaction)进行数据库的测试。直接上代码:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations原创 2013-10-15 22:26:16 · 2537 阅读 · 0 评论 -
使用spring jdbc的batchUpdate功能提高性能
在spring batch中,我们经常使用spring提供的jdbcTemplate进行数据库操作。假设有一张表People.我们需要插入多条数据。处理的方法有两种:第一种方法是对每一个数据,都执行一直insert命令:jdbcTemplate.update(INSERT_PEOPLE_QUERY, people.getFirstName(), people.getLa原创 2013-10-15 14:31:41 · 36841 阅读 · 4 评论 -
Dropwizard:用Java轻轻的写一个RESTful Service
在我的上一篇博客《 Embedded Server:像写main函数一样写Web Server》中,提到了使用Jetty Embedded Server进行Java Web Server的开发比传统的Web Container的方式进行开发的优势。如果直接使用Jetty提供的API进行Web Server的开发,特别是RESTful service的开发,难免看起来还是简单粗暴了一些。原创 2013-12-10 14:22:58 · 18935 阅读 · 2 评论 -
MergeSort(Java)
实现代码:MergeSort.javapublic class MergeSort { public int[] sort(int[] input) { if (input.length <= 1) return input; if (input.length == 2) { if (input[0] > input[1]) {原创 2012-09-19 22:54:09 · 2605 阅读 · 0 评论 -
在IntelliJ下如何做parameterize method的重构
今天在做项目的时候,发现在测试代码中有一个bad smell。在准备数据的时候,有些代码在结构上是类似的,可以用parameterize method的方法进行重构。那么在intellij下怎么更高效的做这样的事情呢?原创 2013-08-19 21:19:51 · 3220 阅读 · 0 评论 -
Heroku:快速部署Dropwizard开发的RESTful Service
上一篇博客《Dropwizard:用Java轻轻的写一个RESTful Service》中讲到了使用Dropwizard可以快速的开发出一个RESTful service,同时因为Dropwizard使用的是Jetty Embedded Container,就可以不再需要繁琐的去安装相应的container,以及其他的好处(参考《Embedded Server:像写main函数一样写Web Server》)。唯一需要的东西,只是java的运行时环境。为了说明这样带来的好处,这篇博客将会采用大家耳熟能详的一个原创 2013-12-12 11:12:19 · 6192 阅读 · 0 评论 -
Dokku:搞一个你自己的'Heorku'
在上一篇博客《Heroku:快速部署Dropwizard开发的RESTful Service》中,我们使用了Heroku这个PaaS进行快速部署。如果因为某些原因,你觉得把你的Service部署到Heroku这样的public PaaS不太靠谱或者在需求上做不到,你也完全可以动手自己做一个类似Heroku这样功能的PaaS平台。而且,很幸运,有现成的Open Source工具Dokku,可以帮原创 2013-12-12 20:59:25 · 8940 阅读 · 1 评论 -
新技术的窘境
小的终究会代替大的,简单的终究会代替复杂的。原创 2013-12-27 22:56:47 · 1825 阅读 · 2 评论 -
丢弃重口味的xml配置--spring4用groovy配置bean
spring4之前,bean的配置可以主要分为两种方式,一种是使用基于xml,个人非常讨厌这种方式,因为明明一件很简单的事,放在xml中就会多了不少繁杂的信息。另一种方式是基于java的配置。在几天前release的spring4中,我们可以用groovy作为spring的配置文件啦!比起最早的基于xml配置,使用groovy会更加灵活,而且干扰信息会更少。原创 2013-12-21 17:29:29 · 38550 阅读 · 11 评论
分享