说下我对AOP的理解:AOP是给程序添加统一功能的一种技术。在代码层面上来说,AOP就是在必要的业务代码中织入业务无关的、统一的代码的一种技术。在实现AOP的时候,通常努力争取的目标是对业务代码无侵入或是低侵入。 平时用得比较多的是Spri
[阅读更多...]-
理解AOP
-
使用ThreadLocal
之前和同事讨论过一个日期格式化的问题,程序比较简单,大体是这样: import java.text.SimpleDateFormat; import java.util.Date; public class DateFormat { pri
[阅读更多...] -
jar包中的jar
前两天在整理一个工程的时候突发奇想,能不能把需要的jar都打到一个类似于war包的jar包里面去,但是不解开原始jar包,而是将之统一放到外面jar包中的一个lib目录下。 按这个思路试了好几次,都遇到了NoClassDefFoundErr
[阅读更多...] -
从一段计时代码开始
下面这段代码估计是我们见过(或写过)最多的代码了: long start = System.currentTimeMillis(); /** * 代码逻辑 */ long end = System.currentTimeMillis();
[阅读更多...] -
关于Zero Copy
概述 很多web应用都会有大量的静态文件。我们通常是从硬盘读取这些静态文件,并将完全相同的文件数据写到response socket。这样的操作需要较少的CPU,但是效率有些低,它需要经过如下的过程:kernel从硬盘读取数据,越过kern
[阅读更多...] -
SpringBoot集成Jersey的单元测试方案
使用SpringBoot集成Jersey做单元测试时遇到了application.xml找不到的提示。详情如下: Caused by: java.io.FileNotFoundException: class path resource [
[阅读更多...] -
解决Gson 处理Map将整型处理为浮点型的问题
gson一直是我用着非常得心应手的json处理工具。但是最近遇到了一个坑,就是在处理java.util.Map型json字符串的时候会把整型转为浮点型。 示例程序如下: public static void main(String[] ar
[阅读更多...] -
Hello Akka
Akka是一个工具,用来在JVM上构建高并发、分布式、容错的事件驱动的应用。Akka支持java和scala两种语言。Akka最强大的一个特性是使用了并发Actor模型。 这一次本文会同时使用java和scala来进行说明。 示例代码 下面
[阅读更多...] -
需要class,interface或enum
引入github上的一个项目后在编译时收到了“需要class,interface或enum”这样的错误。就像下图: 图片是我随便找的,不过错误是一样的。 这样的错误通常是由编码问题导致的,只需要修改文件编码或项目编码就可以了,然而随之而来的
[阅读更多...] -
HttpClient多线程并发
说明:以下的代码基于httpclient4.5.2实现。 我们要使用java的HttpClient实现get请求抓取网页是一件比较容易实现的工作: public static String get(String url) { Closeab
[阅读更多...]