Xiaowo

I Lay My Love On You~

google protobuf 生成的Java对象结构

介绍 .proto Java对象中的方法 methods in interface methods in object methods in Builder 示例 介绍 介绍日后再补,总之想要了解protobuf的工作原理,需要首先知道编程中的“Builder模式”——由于类属...

2018-06-28 01:56:44

阅读数:270

评论数:0

Java处理InterruptedException

机制 在Java中,一个线程是不能终止另一个线程的,除非那个线程自己想退出,或者JVM退出了。 比如: Thread loop = new Thread( new Runnable() { @Override public void run() ...

2018-06-14 00:04:19

阅读数:184

评论数:0

Java并发编程:并发任务执行及结果获取

Executor:任务执行 Executor ExecutorService 任务生命周期管理 对任务提交方法的拓展 Future:未来对任务结果的获取 CompletionService:及时获取已完成任务的结果 Executor:任务执...

2018-06-13 17:54:25

阅读数:72

评论数:0

ThreadLocal原理及内存泄露预防

前言 原理 为什么key使用弱引用 内存泄露 线程池 参阅:http://www.importnew.com/22039.html 前言 ThreadLocal提供了线程独有的局部变量,可以在整个线程存活的过程中随时取用,极大地方便了一些逻辑的实现。常见的ThreadLo...

2018-05-24 13:38:21

阅读数:193

评论数:0

Java IO的实现

从一个方法看javaIO: public byte[] compress(IWritable value) { if (value == null) return null; try { ByteArrayOutputStrea...

2018-04-20 14:44:01

阅读数:101

评论数:0

DelayQueue实现的Comparable接口

DelayQueue Comparable接口和Delayed接口 外话-线程池 外话-静态内部类DelayQueueDelayQueue是JDK对BlockingQueue接口的一种实现类。对于DelayQueue的介绍,可以参考一篇很不错的文章。Comparable接口和Delayed接口De...

2017-11-28 02:31:34

阅读数:165

评论数:1

对Java8中distinct()的思考

list的转map的另一种猜想 使用distinct给list去重 直接使用distinct失败 原因distinct依赖于equals 重写equals的注意事项 引申 结论 list的转map的另一种猜想Java8使用lambda表达式进行函数式编程可以对集合进行非常方便的操作。一个比较常见的...

2017-11-16 23:59:34

阅读数:2538

评论数:0

mock

mock的由来一开始,没有mock的时候,人们测试的时候只能自己mock。比如需要一个PersonDao类的对象,其中有连接数据库查询数据库当前存储人数的方法getPersonNum()。但是可能因为数据库不存在等问题,其中的操作并不能正确执行,这时候一般:public PerSonDaoMock...

2017-10-25 22:45:02

阅读数:252

评论数:0

Spring xml配置文件头解析

最简洁xml文件头 详解 命名空间 头解析 模式内容Spring的xml配置虽然比较繁琐,不如推荐使用的注解方式简介,但是能读懂xml配置文件还是很重要的,尤其是对于一些老系统的维护,几乎不可避免要面对xml配置文件的问题。现在我们就从默认的xml文件头说起。最简洁xml文件头以下可谓是最简洁的s...

2017-10-20 03:17:42

阅读数:216

评论数:2

Java Map初始化的一个错误:new HashMap().put("a", "b");

今天在使用PowerMock进行代码测试用例编写的时候,需要新建一个map,当时脑一抽,写成了:Map<String, Object> testMap = new HashMap().put("a", "b");然后收到了IDE的友善提醒:Inc...

2017-09-16 19:34:53

阅读数:2086

评论数:0

使用枚举实现单例模式

前言 单例模式的实现方式有多种,从最基础的非LazyLoad的懒汉式,到LazyLoad但需要双重检查的饿汉式,再到比较简单实现LazyLoad的静态内部类方式,均可实现单例模式。(忘了的可以查查资料:D 友情链接:http://blog.51cto.com/devbean/203501)不过...

2017-08-10 11:32:20

阅读数:256

评论数:0

Future/FutureTask & Callable/Runnable & Executor/ExecutorService/Executors

用途:笔记。 各类具体方法参阅JDK API。Callable/Runnable接口 Runnable用于实现线程。大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread 方法,那么应使用 Runnable 接口。这很重要,因为除非程序员打算修改或增强类的基本行为,否则不应为该...

2017-07-31 17:03:01

阅读数:136

评论数:0

Java异常处理

Java的异常处理有两种方式: - 默默解决。使用try...catch。 - 甩锅。使用throw和throws。通常,我们喜欢用try/catch捕获异常,然后对异常进行处理。但是有时候,我们也会不予理会,直接将异常扔出去,让调用者自己去处理异常。当然对调用者来说,它也有两种同样的选择:自...

2017-07-28 14:02:35

阅读数:133

评论数:0

Java打log日志

最近写Java工程,需要在客户端打上log,以便进行出错追踪。刚开始试了一些log4j之类的包,想着功能强大点儿。但是由于配置、版本不兼容、傻叉Windows等一系列问题,最终放弃,干脆直接采用Java自带的log好了。关于Java内置Logger的介绍,比较好的有这篇,可以学习一下其基本用法。但...

2016-08-31 17:37:42

阅读数:15905

评论数:0

Java解析json——Jackson

在Java下,想要解析json文件,已经有了现成的Jackson框架。有几个关于Jackson的基础例子,或者也可以看本文最后的附录。看过之后也就大致了解Jackson的基本用法了。至少Java对象和json的直接转化还是比较简单的。在这里,我主要记录一下自己使用readTree从服务器接收jso...

2016-08-29 18:33:01

阅读数:2002

评论数:0

工厂的模式们

DIY SimpleFactory FactoryMethod AbstractFactory1.DIY没有工厂的年代,客户需要自己造打印机:public class PrinterLgl { private String name = null; public PrinterLgl...

2016-08-09 13:51:28

阅读数:319

评论数:0

archlinux的JDK默认安装路径

JDK在archlinux的默认安装目录是/usr/lib/jvm/java-8-jdk(根据JDK版本不同而改变目录名),当然,我们可以将JDK安装路径设置为JAVA_HOME。 其实,在/usr/lib/jvm下共有三个文件夹,准确的说,是一个文件夹和两个文件夹的链接:lgl@pArch /...

2016-01-19 15:36:44

阅读数:3116

评论数:0

Java中的equals()和hashCode()

概述在我们使用类集框架(比如使用hashMap、hashSet)的时候,经常会涉及到重写equals()和hashCode()这两个方法。 这两个方法的联系是: 1. 如果两个对象不同,那么他们的hashCode肯定不相等; 2. 如果两个对象的hashCode相同,那么他们也未必...

2015-07-18 16:34:17

阅读数:751

评论数:0

Java装饰者模式

问题提出关于日志消息,我们需要将其输出到屏幕或者是日志文档内,于是我们会写几个类: 接口ILogger 类ConsoleLogger负责将信息输出到Console 类 FileLogger负责将信息输出到文件中 但是问题在于,如果我们要对这两个输出类增加条件,比如“将信息转为大写”,“将信息转换成...

2015-06-10 16:29:27

阅读数:766

评论数:0

Java: Collection & Collections; Array & Arrays

在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了...

2015-05-24 01:55:15

阅读数:590

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭