java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)

java日志,需要知道的几件事如果对于commons-loging、log4j、slf4j、LogBack等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这块有更深刻理解的同学,也贡献出自己的知识和见解。一、概念Commons-logging:apache最早提供的日志的门面接口。 …… 阅读全文

Kryo:快速、高效的序列化框架

Kryo是一个快速高效的Java序列化框架,旨在提供快速、高效和易用的API。无论文件、数据库或网络数据Kryo都可以随时完成序列化。Kryo还可以执行自动深拷贝(克隆)、浅拷贝(克隆)。这是对象到对象的直接拷贝,非对象->字节->对象的拷贝。安装Kryo JAR可以在发布页面和Maven中央仓库下载。Kryo最新镜像可以在Sonatype仓库找到,包括对master分支的 …… 阅读全文

三个实例演示 Java Thread Dump 日志分析

jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注)执行中,Runnable 等待资源,Waiting on condition(重点关注)等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wait() 或 TIMED_WAITING阻塞,Block... …… 阅读全文

mina、netty的线程模型

netty从twitter发布的这篇《Netty 4 at Twitter: Reduced GC Overhead》文章让国内Java界为之一振,也小火了一把,同时netty的社区发展也不错,版本迭代非常快,半年不关注大、小版本就发了好几轮了。但是mina就有点淡了,github上面它最后大多数代码最后的修改日期均在2013年,不过我从个人情感上还是挺喜欢mina3的代码,没有太多的用不上的功能... …… 阅读全文

常用排序算法总结(一)

目录冒泡排序  鸡尾酒排序  选择排序插入排序二分插入排序  希尔排序  归并排序堆排序快速排序  我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。  排序算法大体可分为两种:    一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。    另一种是非比较排序,时间复杂度可以达到O(n)... …… 阅读全文

Java泛型详解

引言泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。泛型基础泛型类我们首先定义一个简单的Box类:12345public class Box {private String object;public void set(String object) { this.... …… 阅读全文