JAVA
FlyingAngelet
这个作者很懒,什么都没留下…
展开
-
Dubbo入门
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。 第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地...原创 2015-07-07 15:48:33 · 112 阅读 · 0 评论 -
Suruts2的工作原理
一个请求在Struts2框架中的处理大概分为以下几个步骤: 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3、接着Filt...原创 2016-01-08 09:34:28 · 172 阅读 · 0 评论 -
Kafka存储模型
引言 Kafka中的Message是以topic为基本单位组织的,不同的 topic之间是相互独立的。每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建topic时指定 的),每个partition存储一部分Message。借用官方的一张图,可以直观地看到topic和partition的关系。 partition是以文件的形式存...原创 2016-01-15 09:41:41 · 1202 阅读 · 0 评论 -
CAS实现SSO单点登录原理
1.CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA...原创 2016-01-15 14:44:07 · 122 阅读 · 0 评论 -
JVM内存模型
JVM运行时的内存结构图: 直接内存: 直接内存并不是jvm运行时数据区的一部分,所建议它不受jvm内存总大小的限制。个人理解直接内存就是物理机可用的内存空间。 程序计数器: 程序计数器是每一个线程所独有的一个很小的内存区域,并不是多线程所共享的共享区域。它可以被看成是字节码指令执行的指针,线程的分支,循环,跳转,异常处理,线程恢复等功能都要依赖这个计数器来完成。如果当前线程正...原创 2016-01-28 11:24:55 · 126 阅读 · 0 评论 -
JAVA线程安全和锁机制详解
在开始这篇blog之前应该先了解几个概念: 临界区: 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么 在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操 作共享资源的目的。 互斥量: 互斥量跟...原创 2016-02-14 16:37:09 · 504 阅读 · 0 评论 -
线程池与阻塞队列
前言 上一篇文章中我们将ThreadPoolExecutor进行了深入的学习和介绍,实际上我们在项目中应用的时候很少有直接应用ThreadPoolExecutor来创建线程池的,在jdk的api中 有这么一句话“但是,强烈建议程序员使用较为方便的 Executors 工厂方法Executors.newCachedThreadPool()(无界线程池,可以进行自动线程回收)、 Exec...原创 2016-02-16 11:13:14 · 610 阅读 · 0 评论 -
中文乱码问题
new String(word.getBytes("ISO-8859-1"), "UTF-8");原创 2016-04-11 16:50:33 · 153 阅读 · 0 评论