天道不一定酬所有勤
但是,天道只酬勤

Java

使用Dozer优雅的将DO转换成VO

hollischuang阅读(1266)评论(5)

在Web开发中,我们会接触到很多领域模型中的概念,其中大部分和实体相关的概念都有缩写,一般以O(Object)结尾。其中比较常见的由DO、DTO、VO、DAO等。我们也经常有把一个实体对象转换为另外一个实体对象的操作。本文主要是介绍一种作者 […]

排名Top 16的Java实用类库

hollischuang阅读(2396)评论(3)

在Java中,有很多比较实用的类库,他们通常都定义了一系列具有常见功能的方法。本文总结了最常用的Java中的实用类以及他们的最常用的方法。无论是类和类中方法都是按照流行程度来排序的。 本文中列出来的类及方法都是经过大量实践的常用类库及方法, […]

Java开发必须掌握的线上问题排查命令

hollischuang阅读(4385)评论(1)

作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题。这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查。由于在生产环境中,一般没办法debug(其实有些问题,debug也白 […]

乐观锁的一种实现方式——CAS

hollischuang阅读(2050)评论(0)

在深入理解乐观锁与悲观锁一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。 线程安全 众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。 […]

Java开发人员最常犯的10个错误

hollischuang阅读(2752)评论(0)

一、把数组转成ArrayList 为了将数组转换为ArrayList,开发者经常会这样做: List<String> list = Arrays.asList(arr); 使用Arrays.asList()方法可以得到一个Arr […]

ArrayList vs LinkedList vs Vector 区别

hollischuang阅读(1998)评论(0)

List List 是一个接口,它继承于Collection的接口。它代表着有序的队列。当我们讨论List的时候,一般都和Set作比较。 List中元素可以重复,并且是有序的(这里的有序指的是按照放入的顺序进行存储。如按照顺序把1,2,3存 […]

深入理解Java中的组合和继承

hollischuang阅读(2103)评论(0)

Java是一个面向对象的语言。每一个学习过Java的人都知道,封装、继承、多态是面向对象的三个特征。每个人在刚刚学习继承的时候都会或多或少的有这样一个印象:继承可以帮助我实现类的复用。所以,很多开发人员在需要复用一些代码的时候会很自然的使用 […]

深入理解Java中的重写和重载

hollischuang阅读(2812)评论(3)

重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念。但是对于新手来说也比较容易混淆。本文通过两个简单的例子说明了他们之间的区别。 定义 重载 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的 […]

Java中的迭代与递归

hollischuang阅读(2227)评论(7)

递归 提到迭代,不得不提一个数学表达式: n!=n*(n-1)*(n-2)*...*1 有很多方法来计算阶乘。有一定数学基础的人都知道n!=n*(n-1)!因此,代码的实现可以直接写成: 代码一 int factorial (int n) […]

简单介绍Java中Comparable和Comparator

hollischuang阅读(1748)评论(1)

Comparable 和 Comparator是Java核心API提供的两个接口,从它们的名字中,我们大致可以猜到它们用来做对象之间的比较的。但它们到底怎么用,它们之间有又哪些差别呢?下面有两个例子可以很好的回答这个问题。下面的例子用来比较 […]

HollisChuang's Blog

联系我关于我