摘要:
一、线程状态 在具体分析线程转储数据之前,我们首先要明确线程的状态。java.lang.Thread.State枚举类中定义了如下几种类型: NEW:线程创建尚未启动。 RUNNABLE:包括操作系统线程状态中的Ready和Running,可能在等待时间片或者正在执行。 BLOCKED:线程被阻塞。 阅读全文
摘要:
Nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。 Nginx的upstream目前支持的5种方式的分配: 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果 阅读全文
摘要:
Dubbo服务调用的动态代理及负载均衡源码解析请参见:http://manzhizhen.iteye.com/blog/2314514 阅读全文
摘要:
Dubbo提供了服务注册、RPC服务调用、调用均衡、服务监控和服务failover等功能 Dubbo框架中有两个重要角色:(服务)提供者和(服务)消费者,这里为了简单起见,将包含了dubbo提供者或消费者功能的应用模块通称为dubbo客户端。 现在大多数java应用都离不开Spring,所以其他ja 阅读全文
摘要:
缓存技术是一个老生常谈的问题,但是它也是解决性能问题的利器,一把瑞士军刀;而且在各种面试过程中或多或少会被问及一些缓存相关的问题,如缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复等各种与缓存相关的问题。而这些问题中有些问题又是与场景相关,因此如何合理应用缓存来解决问题也是一个选择 阅读全文
摘要:
Java后端书架:http://calvin1978.blogcn.com/articles/javabookshelf.html 阅读全文
摘要:
ExecutorService是JDK并发工具包提供的一个核心接口,相当于一个线程池,提供执行任务和管理生命周期的方法。ExecutorService接口中的大部分API都是比较容易上手使用的,本文主要介绍下invokeAll和invokeAll方法的特性和使用。 这是一个通过睡眠来模拟的耗时任务, 阅读全文
摘要:
经常碰到需要动态加载jar及class文件的场景。Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,但JDK仍提供了一整套方法来动态加载jar文件和class文件。 一、动态加载jar 二、动态加载class文件 完成上述两步操作后,即可使用Class.forName来加载jar中 阅读全文
摘要:
总的来说,当动态加载一个资源时,至少有三种类加载器可供选择: 系统类加载器(也被称为应用类加载器)(system classloader) 当前类加载器(current classloader) 当前线程的上下文类加载器( the current thread context classloader 阅读全文
摘要:
动态加载jar包,在实际开发中经常会需要用到,尤其涉及平台和业务的关系的时候,业务逻辑部分可以独立出去交给业务方管理,业务方只需要提供jar包,就能在平台上运行。 下面通过一个实例来直观演示: 第一:定义一个抽象类 AbstractAction (稍后换成接口的实例) 第二:写个实体类继承一下 Te 阅读全文