代码改变世界

随笔分类 -  java

【转】轻量级分布式 RPC 框架

2015-06-26 23:30 by Loull, 500 阅读, 收藏, 编辑
摘要: 第一步:编写服务接口 第二步:编写服务接口的实现类 第三步:配置服务端 第四步:启动服务器并发布服务 第五步:实现服务注册 第六步:实现 RPC 服务器 第七步:配置客户端 第八步:实现服务发现 第九步:实现 RPC 代理 第十步:发送 RPC 请求 总结 附录:Maven 依赖 RPC,即 Rem 阅读全文

用JAVA把内存里的二进制文件打包成ZIP包

2015-06-26 23:27 by Loull, 1663 阅读, 收藏, 编辑
摘要: import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;i... 阅读全文

Spring MVC 文件下载

2015-06-26 23:22 by Loull, 339 阅读, 收藏, 编辑
摘要: @RequestMapping("download") public void download(HttpServletResponse res) throws IOException { OutputStream os = res.getOutp... 阅读全文

运行时异常RuntimeException捕获的小测试

2015-06-25 09:42 by Loull, 1269 阅读, 收藏, 编辑
摘要: public class ExceptionTest { public static void main(String[] args) throws InterruptedException { new Thread(new Runnable() {// /// ... 阅读全文

解决'maven lifecycle mapping not converted'的问题

2015-06-14 21:33 by Loull, 10813 阅读, 收藏, 编辑
摘要: 基于maven的项目,使用各种maven plugin来完成开发中的各种工作,例如编译代码,打包,部署等等… 每个plugin包含许多的goal,用来做特定的事情。典型的基于java的maven项目就有 clean compile test package deploy等goal要执行。除了这些比较... 阅读全文

《Maven实战》整理

2015-06-14 20:41 by Loull, 244 阅读, 收藏, 编辑
摘要: 一、maven介绍Maven是优秀的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。Maven能帮助我们标准化构建过程。在Maven之前,十个项目可能有十种构建方式;有了Maven之后,所有项目的构建命令都是简单一致的,这极大地避免了不必要的学习成本,而且有利于促进... 阅读全文

java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

2015-04-28 20:11 by Loull, 4823 阅读, 收藏, 编辑
摘要: VO:值对象、视图对象PO:持久对象QO:查询对象DAO:数据访问对象——同时还有DAO模式DTO:数据传输对象——同时还有DTO模式PO:全称是persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。B... 阅读全文

Servlet 3特性:异步Servlet

2015-02-15 10:30 by Loull, 484 阅读, 收藏, 编辑
摘要: 解异步Servlet之前,让我们试着理解为什么需要它。假设我们有一个Servlet需要很多的时间来处理,类似下面的内容:LongRunningServlet.javapackage com.journaldev.servlet; import java.io.IOException;import j... 阅读全文

反射机制

2014-10-17 16:48 by Loull, 195 阅读, 收藏, 编辑
摘要: 1、反射的构造过程直接构造 1、加载程序集 2、根据类名构造反射构造1、加载程序集 2、查找需要构造类的类名 3、根据类名构造能不用反射还是别用反射,因为毕竟要以性能做为代价, 不过在某些特定场合,还是只能用它,所以要自己根据实际情况来掌握.2、反射与自身去实例化有何区别,用反射的意义何在?1)当你... 阅读全文

Java监控指南

2014-09-01 17:32 by Loull, 1 阅读, 收藏, 编辑
该文被密码保护。 阅读全文

ConcurrentHashMap 无锁读

2014-08-25 11:31 by Loull, 4400 阅读, 收藏, 编辑
摘要: ConcurrentHashMap 可以做到无锁读,而写使用分段锁机制,把整个哈希表切分成段segment(默认为16段),每段有一个锁,最多可以同时有16个写线程。而读不受限制。下文转自http://taozeyu.comConcurrentHashMap是一个线程安全的哈希实现类,它不但能使多线... 阅读全文

【转】聊聊并发(一)——深入分析Volatile的实现原理

2014-08-06 00:08 by Loull, 196 阅读, 收藏, 编辑
摘要: 即两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序,称为竞争条件(race condition)。引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。... 阅读全文

Java异常处理

2014-08-01 11:22 by Loull, 395 阅读, 收藏, 编辑
摘要: Java异常类层次结构图: 图1Java异常类层次结构图图示try、catch、finally语句块的执行: 图2 图示try、catch、finally语句块的执行RuntimeExcep... 阅读全文

ThreadLocal使用,应用场景,源码实现,内存泄漏

2014-07-31 10:41 by Loull, 6685 阅读, 收藏, 编辑
摘要: 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不... 阅读全文

【译文】走出Java ClassLoader迷宫 Find a way out of the ClassLoader maze

2014-07-30 11:18 by Loull, 386 阅读, 收藏, 编辑
摘要: 本文是一篇译文。原文:Find a way out of the ClassLoader maze对于类加载器,普通Java应用开发人员不需要了解太多。但对于系统开发人员,正确理解Java的类加载器模型是开发Java系统软件的关键。很久以来,我一直对ClassLoader许多问题感到很模糊,自己也在... 阅读全文

Java的string类为什么是不可变的

2014-07-26 19:16 by Loull, 386 阅读, 收藏, 编辑
摘要: 最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型?不可变对象,顾名思义就是创建后不可以改变的对象,典型的例子就是Java中的String类。答案一... 阅读全文

Java内部类

2014-07-22 11:12 by Loull, 177 阅读, 收藏, 编辑
摘要: 一、在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。使用内部类还能够为我们带来如下特性(摘自《Think in java》): 1、内部类可以用多个实例,每个... 阅读全文

LinkedHashMap 和 LRU算法实现

2014-07-19 23:42 by Loull, 465 阅读, 收藏, 编辑
摘要: 个人觉得LinkedHashMap 存在的意义就是为了实现 LRU 算法。public class LinkedHashMap extends HashMap implements Map{ public LinkedHashMap(int initialCapacity, ... 阅读全文

ClassLoader

2014-05-07 12:34 by Loull, 532 阅读, 收藏, 编辑
摘要: java中所有的类都是通过classloader加载的,classloader可以为java程序提供很好的动态特性,深入了解非常有必要。bootstrapclassloader(启动类加载器)在JVM运行的时候加载java核心的API以满足java程序最基本的需求,其中就包括用户定义的ClassLo... 阅读全文

java监听器

2014-05-01 21:40 by Loull, 1067 阅读, 收藏, 编辑
摘要: 一、先看看jdk提供的event包:public interface EventListener:所有事件侦听器接口必须扩展的标记接口。package java.util;/** * A tagging interface that all event listener interfaces mus... 阅读全文