自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (10)
  • 收藏
  • 关注

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2017-06-18 17:48:11 249

转载 MySQL存储引擎MyISAM与InnoDB区别

MyISAM 和InnoDB 讲解  InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。  以下是一些

2017-06-18 17:28:58 74

转载 HashSet实现原理

HashSet是Java Map类型的集合类中最常使用的,本文基于Java1.8,对于HashSet的实现原理做一下详细讲解。(Java1.8源码:http://docs.oracle.com/javase/8/docs/api/)一、HashSet实现原理总结HashSet的实现原理总结如下:①是基于HashMap实现的,默认构造函

2017-06-18 15:53:08 1141

转载 volatile和synchronized特点

volatile和synchronized特点首先需要理解线程安全的两个方面:执行控制和内存可见。执行控制的目的是控制代码执行(顺序)及是否可以并发执行。内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存),操作完成后再把结果从线程本地刷到主存。synchronized关键字解

2017-06-17 17:12:18 225

转载 FIFO、LRU、LFU的含义和原理

含义:FIFO:First In First Out,先进先出LRU:Least Recently Used,最近最少使用LFU:Least Frequently Used,最不经常使用以上三者都是缓存过期策略。原理和实现:一、FIFO按照“先进先出(First In,First Out)”的原理淘汰数据,正好

2017-06-16 10:58:28 354

转载 java基础点

http://www.cnblogs.com/xrq730/category/731394.html

2017-06-15 16:06:29 171

转载 40个Java多线程问题总结

前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作

2017-06-15 15:15:12 164

转载 JDK动态代理的实现及原理

JDK动态代理的实现及原理       动态代理,听上去很高大上的技术,在Java里应用广泛,尤其是在hibernate和spring这两种框架里,在AOP,权限控制,事务管理等方面都有动态代理的实现。JDK本身有实现动态代理技术,但是略有限制,即被代理的类必须实现某个接口,否则无法使用JDK自带的动态代理,因此,如果不满足条件,就只能使用另一种更加灵活,功能更加强大的动态代理技术——

2017-06-15 15:02:46 81

原创 Filter(过滤器)与Interceptor(拦截器)的区别

一、filter基于filter接口中的doFilter回调函数,interceptor则基于Java本身的反射机制;     二、filter是依赖于servlet容器的,没有servlet容器就无法回调doFilter方法,而interceptor与servlet无关;     三、filter的过滤范围比interceptor大,filter除了过滤请求外通过通配符可以保护页

2017-06-15 14:58:05 204

原创 LinkedHashMap

初识LinkedHashMap上两篇文章讲了HashMap和HashMap在多线程下引发的问题,说明了,HashMap是一种非常常见、非常有用的集合,并且在多线程情况下使用不当会有线程安全问题。大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题,就是迭代HashMap的顺序并不是HashMap放置的顺序,也就是无序。HashMap

2017-06-15 14:25:30 296

转载 类加载机制

类加载过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持 Java 语

2017-06-12 17:13:12 275

转载 ThreadPoolExecutor机制

ThreadPoolExecutor机制 一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机制。 3、先来了解其线程池管理的机制,有助于正确使用,避免错误使用导致严重故障

2017-06-05 10:22:28 251

转载 spring中bean,factorybean与beanfactory

1 普通Bean的创建    spring 中的普通bean的创建是通过读取配置文件,将所有配置文件信息保存到beandefinition中,在使用getbean的时候通过反射创建实例,然后再将属性值填充。 1.1  普通bean的注入方式  1)   使用构造器注入 Java代码  "font-size: 16px;">"person" class

2017-06-04 17:45:34 312

转载 SpringMVC工作原理

SpringMVC框架介绍    1) spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,S

2017-06-04 17:36:10 266

转载 理解Java垃圾回收机制

永久代GC的原因:永久代空间已经满了调用了System.gc()注意: 这种GC是full GC 堆空间也会一并被GC一次GC有环怎么处理根搜索算法什么是根搜索算法垃圾回收器从被称为GC Roots的点开始遍历遍历对象,凡是可以达到的点都会标记为存活,堆中不可到达的对象都会标记成垃圾,然后被清理掉。 GC Roots有哪些类,由系统类

2017-06-04 17:18:25 321

转载 内存泄露和内存溢出区别

1、内存泄漏是指分配出去的内存无法回收了2、内存溢出是指程序要求的内存,超出了系统所能分配的范围,从而发生溢出。   为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,

2017-06-04 12:13:12 283

转载 (入门贴)JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配

如果想观察JVM进程占用的堆内存,可以通过命令工具jmap或者可视化工具jvisualvm.exe。JVM这些启动参数都拥有默认值,如果想了解JVM的内存分配策略,最好手动设置这些启动参数。再通过JDK提供的工具的统计结果,进行对比,就比较容易理解这些内存分配的理论知识。运行环境是win7 32位操作系统,JDK1.7.0_60版本。测试代码和JVM启动参数如下:[java] 

2017-06-04 11:10:34 559

转载 什么时候使用字节流、什么时候使用字符流,二者的区别

先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串. 

2017-06-03 18:14:35 13513 4

转载 UTF-8和GBK有什么区别

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UT

2017-06-03 18:10:43 14247 1

转载 nio的实现原理

在开始之前关于本教程新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就可以利用低级优化,这是原来的 I/O 包所无法做到的。在本教程中,我们将讨论 NIO 库的几乎所有方面,从高级的概念性

2017-06-03 18:05:10 6612 2

转载 ConcurrentHashMap的实现原理

ConcurrentHashMap是Java1.5中引用的一个线程安全的支持高并发的HashMap集合类。这篇文章总结了ConcurrentHashMap的内部实现原理,是对于自己理解后的一些整理。1.HashTable与ConcurrentHashMap的对比HashTable本身是线程安全的,写过Java程序的都知道通过加Synchronized关键字实现线程安全,这样对整

2017-06-03 17:47:13 232

转载 java中基本类型占用字节数

在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)1.整型类型              存储需求     bit数    取值范围      备注int                 4字节           4*8 short       

2017-06-03 17:38:06 633

转载 java类加载

一 Java类装载过程装载:通过累的全限定名获取二进制字节流,将二进制字节流转换成方法区中的运行时数据结构,在内存中生成Java.lang.class对象; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;   校验:检查导入类或接口的二进制数据的正确性;(文件格式验证,元数据验证,字节码验证,符号引用验证)   准备:给类的静态变量分配并初始化存储

2017-06-03 17:28:01 251

转载 LinkedList的实现原理

LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的。基于链表也决定了它在随机访问方面要比ArrayList逊色一点。    除此之外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。这些方法中有些彼此之间只是名称的区别,以使得这些名字在特定的上下文中显得更加的合适。   

2017-06-03 17:00:00 88

转载 经典书籍_java学习基础编程篇

java基础编程篇:Java程序设计语言.(美国)阿诺德.清晰版 http://download.csdn.net/detail/shenzhq1980/9076093JAVA2核心技术第1卷.基础知识7th.part1 http://download.csdn.NET/detail/shenzhq1980/9083549JAVA2核心技术第1卷.基础知识7th.part2 http:

2017-05-29 19:44:06 242

转载 Java工程师成神之路

一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133http://ifeve.com/jmm-faq/1.1.2. 了解JVM各种参数及调优1.1.3. 学习使用Java工具jps, jstack, jmap,

2017-05-29 19:43:03 427

转载 高级工程师面试题

一、三大框架方面问题1、Spring 事务的四种隔离性,并说说每个隔离性的区别Read uncommitted(未授权读取、读未提交):如果一个事务已经开始写数据,则另外一个事务则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。避免了更新丢失,却可能出现脏读。也就是说事务B读取到了事务A未提交的数据。这是事务最低的隔离级别

2017-05-29 18:37:59 5155

转载 JVM调优总结&eee

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms355

2014-05-12 10:52:22 600

转载 HashMap的实现原理

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,H

2014-01-27 15:17:58 753

转载 ArrayList的实现原理

1. ArrayList概述:    ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。   每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也

2014-01-27 14:40:30 598

转载 Set集合、list集合

1. List概览List,就像它的名字暗示的一样,是一组排列有序的元素。当我们讨论List的时候,很容易将它和Set作比较。Set是一组唯一的而且排列无序的元素。下图是集合类的层次结构图。你可以总体上知道我们今天讨论的主题。2. ArrayList vs. LinkedList vs. Vector从上图可知,它们都实现了List接口。它们的用法差不多,主要的区别在于它们对于

2014-01-23 15:53:11 711

转载 对象的强、软、弱和虚引用

1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。图1 ⑴强

2014-01-21 18:04:19 518

转载 JavaScript垃圾回收、闭包、作用域

JavaScript 垃圾回收和C#、Java一样JavaScript有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分配及无用内存的回收问题了。JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是时时的,因为其开销比较大,所以垃圾回收器会按照固定的时间间隔周期性的执行。变量

2014-01-21 14:32:40 1023

转载 HashMap,HashTable,HashSet区别

Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合

2014-01-21 11:04:20 578

原创 HTTP协议详解

HTTP由两部分组成:请求和响应。当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。直到浏览器解析该响应并显示出网页(或其他资源)为止。· 2.1.1 HTTP请求· HTTP请求的格式如下...

2014-01-17 17:12:50 148

转载 编译和解释区别

编译是把源代码全部转换为可以直接执行的指令,从而程序运行速度比较快。解释是把当前行的代码转换为可以直接执行的指令,执行完毕,就要解释下一句代码,边解释,边执行,速度慢一、特征      1.编译型就是编译的时候直接编译成机器可以执行的(exe.dll.ocx)程序文件,编译与执行是分 开的,但不能跨平台。例如delphi,c++,asm,C是直接编译成exe文件并且带条件编译功

2014-01-16 16:18:50 1159

转载 JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述

随着web2.0的彪悍发展,以及浏览器端所承载的工作越来越大(在不是很影响性能的情况下,开发者都习惯把能用浏览器做的事儿都让浏览器做,以减轻服务器的压力和带宽费用等)。所以Javascript已经成为了web开发最最基本的要求之一了。 而在现实的敏捷开发中,我们通常会选择一个JS框架来取代繁琐的Native Javascript的编写。你会发现这样会节省很多的时间,写的代码也很清晰便捷。(当然

2014-01-14 17:40:19 604

转载 http协议详解

HTTP由两部分组成:请求和响应。当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。直到浏览器解析该响应并显示出网页(或其他资源)为止。· 2.1.1 HTTP请求· HTTP请求的格式如下

2013-12-26 15:40:08 487

转载 XMLHttpRequest对象和DOM对象

XMLHttpRequest对象和DOM对象2009-05-19    文章来源:互联网    浏览次数: 5618一、XMLHttpRequest对象XMLHttpRequest对象的属性: 属性描述onreadystatechange状态改变的事件触发器readyStat

2013-12-25 17:40:18 556

原创 jQuery对象与DOM对象区别与联系

一、什么是DOM对象所谓DOM,即Document Object Model(文档对象模型),每一个DOM都可以表示成一棵树,请看下面的代码,这是一个简单的网页基本结构。 1 doctype html> 2 html lang="en"> 3 head> 4 meta charset="gbk"> 5 title>Documenttitle> 6

2013-12-25 17:36:54 520

Java编程思想第四版完整中文高清版

对象入门、一切都是对象、控制程序流程、初始化和清除、类再生、IO系统。第四版完整中文高清版.pdf

2014-01-23

云计算与Azure平台实战

云计算与Azure平台实战

2013-05-24

XFire_Web_Service应用.pdf

XFire_Web_Service应用.pdf

2013-01-06

ivr开发资料

jar包里面包括(中国电信全网声讯业务IVR流程编译器和编写手册.rar、流程示例.rar、网关开发资料.rar、sleedbg.rar、SMC操作手册(sp).doc、suntek.rar、编译环境+测试话机.rar、116平台业务上线流程工单(模板).doc、116业务流程开发规范.doc、116平台通用工单.doc、炫音系统业务开发指南.pdf、炫音系统业务网关开发接口.pdf)

2012-12-25

visualvm_135最新版本

VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中,您可以方便、快捷地查看多个 Java 应用程序的相关信息。

2012-12-06

全文检索所用jar包3.6版本

IKAnalyzer3.2.8.jar lucene-analyzers-3.5.0.jar lucene-core-3.6.1.jar lucene-highlighter-3.5.0.jar lucene-memory-3.5.0.jar

2012-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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