自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 几种任务调度的 Java 实现方法与比较

几种任务调度的 Java 实现方法与比较 综观目前的 Web 应用,多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺点进行比较,目的在于给需要开发任务调度...

2014-12-03 15:00:04

阅读数 542

评论数 0

转载 深入解析Java对象的hashCode和hashCode在HashMap的底层数据结构的应用

一、java对象的比较 等号(==): 对比对象实例的内存地址(也即对象实例的ID),来判断是否是同一对象实例;又可以说是判断对象实例是否物理相等; equals(): 对比两个对象实例是否相等。 当对象所属的类没有重写根类Object的equals()方法时,equals()判断...

2014-08-17 15:55:32

阅读数 490

评论数 0

转载 Java HashMap 分析之四:查找和内存使用

获取元素 有了前面的分析,获取元素的逻辑就非常清晰。首先,调用者传递key,从key的hashCode方法获得值后,调用hash函数做一些低位置换,保证hash值的均匀分布,之后和size-1按位与后得到数组的位置。然后取出对应位置的链表,遍历该链表,查找hash值相等,并且key的引用或者...

2014-08-15 11:03:22

阅读数 378

评论数 0

转载 Java HashMap 分析之三:放入元素

现在,有了hash code,来考虑如何计算放入数组的位置。hash code值通常会很大,但是数组的大小有限,默认只有16,大的也不能超过2的30次方。所以,用模运算来保证在数组大小范围内是合理的,比如:index = hash code % array size.不过这有点慢,JDK采用了更快...

2014-08-15 11:02:45

阅读数 341

评论数 0

转载 Java HashMap 分析之二:Hash code

散列计算就是计算元素应该放在数组的哪个元素里。准确的说是放到哪个链表里面。按照Java的规则,如果你要想将一个对象放入HashMap中,你的对象的类必须提供hashcode方法,返回一个整数值。比如String类就有如下方法: [java] view plaincopyprint...

2014-08-15 11:02:07

阅读数 379

评论数 0

转载 Java HashMap 分析之一:基本结构

Java的HashMap非常的常用,本篇研究它的实现算法,最后希望计算出内存占用,性能的量化数据,然后得出什么时候使用HashMap,什么时候不能滥用的结论。 HashMap实际上是一个数组,数组里面的每个元素都是一个链表。每个元素在通过put方法放入HashMap中的时候,要按照如下步骤进行:...

2014-08-15 11:01:20

阅读数 329

评论数 0

转载 JAVA HashMap详细介绍和示例

第1部分 HashMap介绍 HashMap简介 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同步的...

2014-08-15 10:36:33

阅读数 368

评论数 0

原创 String的substring、split, StringTokenizer 截取字符串性能比较

package com.huawei.jvm.decorater; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class MainTest ...

2014-08-15 10:05:17

阅读数 887

评论数 0

转载 JAVA中subString以及split函数等几个函数的用法技巧

一、先说一说subString()函数        subString函数有个陷阱,有可能导致内存泄露(当然,在JDK1.7.0-B147之前这个问题一直存在,在JDK1.7.0_15-b03版本之后这个问题已经修改过来了,至于是具体中间哪个版本修改过来的,本人没有去细看)        在...

2014-08-14 14:45:24

阅读数 1805

评论数 0

转载 JAVA中堆栈和内存分配原理

JAVA中堆栈和内存分配原理 博客分类:  需学习 Java基础 1、栈、堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象...

2014-08-08 15:55:42

阅读数 372

评论数 0

转载 ArrayList Vector LinkedList 区别与用法

最近用到了,所以依然是转载 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)...

2014-08-04 10:49:36

阅读数 344

评论数 0

转载 ensureCapacity()方法提高ArrayList的初始化速度

我们在使用Arraylist时,经常要对它进行初始化工作,在使用add()方法增加新的元素时,如果要增加的数据量很大,应该使用ensureCapacity()方法,该方法的作用是预先设置Arraylist的大小,这样可以大大提高初始化速度。          请看代码:     Ja...

2014-08-04 10:48:22

阅读数 465

评论数 0

转载 Java 集合排序及 java 集合类详解

Java 集合排序及 java 集合类详解 (Collection, List, Set, Map) 摘要内容 Java 里面最重要,最常用也就是集合一部分了。能够用好集合和理 解好集合对于做 Java 程序的开发拥有无比的好处。本文详细解释了关 于 Java 中的集合是如何实现的,以及...

2014-06-09 23:54:15

阅读数 1401

评论数 0

转载 String,StringBuffer与StringBuilder的区别??

String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的...

2014-06-09 22:21:19

阅读数 367

评论数 0

转载 Java线程池使用说明

Java线程池使用说明 一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使...

2014-06-06 18:12:57

阅读数 358

评论数 0

转载 java动态代理(JDK和cglib)

java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象...

2014-06-05 16:56:03

阅读数 442

评论数 0

转载 JAVA动态代理

java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象...

2014-06-05 15:39:00

阅读数 438

评论数 0

转载 Hashmap与Hashtable的选择

Hashmap与Hashtable的选择 (2009-12-13 17:05:08)   1.问题   Hashtable和Hashmap是我们在开发过程中经常用来映射key到value的容器,在这两者之间选择使用的时候,我们经常被有经验者建议用 Hashmap,但我们可能对其中的缘...

2014-06-05 09:55:21

阅读数 371

评论数 0

转载 Java流操作有关的类或接口

Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类 ...

2014-06-04 14:31:47

阅读数 843

评论数 0

转载 Apache Mina Server 2.0 中文参考手册

Apache Mina Server 2.0 中文参考手册   Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP 协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等), Mina 可以帮助我们快...

2014-06-03 15:33:25

阅读数 711

评论数 0

转载 长连接与短连接

长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。  ...

2014-05-31 22:09:24

阅读数 479

评论数 0

转载 利用jdk自带的强悍工具jvisualvm检测多线程的竞争

利用jdk自带的强悍工具jvisualvm检测多线程的竞争  2012-04-11 11:41:43|  分类: JVM |  标签:jvm  java  jdk  visualvm  |举报 |字号大中小 订阅 我有一个程序,里面有大量的synchr...

2014-05-31 21:11:18

阅读数 882

评论数 0

原创 Java多线程(五)之BlockingQueue深入分析

一、概述: BlockingQueue作为线程容器,可以为线程同步提供有力的保障。 二、BlockingQueue定义的常用方法 1.BlockingQueue定义的常用方法如下: 抛出异常 特殊值 阻塞 超时 插入 add(e) o...

2014-05-31 21:03:02

阅读数 529

评论数 0

原创 线程池ThreadPoolExecutor参数设置

JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。 ThreadPoolExecutor类可设置的参数...

2014-05-31 18:16:29

阅读数 587

评论数 0

转载 Spring框架的设计原理级设计模式分析

Spring框架的设计原理级设计模式分析   Spring的骨骼架构 Spring总共有十几个组件,但是真正核心的组件只有几个,下面是Spring框架的总体架构图: 图1 .Spring框架的总体架构图 从上图中可以看出Spring框架中的核心组件只有三个:Core、Context和...

2014-05-26 16:19:04

阅读数 754

评论数 0

转载 Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。

Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Re...

2014-05-25 23:38:32

阅读数 515

评论数 0

转载 java反射理解

本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。 下面开始正文。 【案例1】通过一个对象获得完整的包名和类名 ? 1 2 3 4 5 6 ...

2014-05-25 18:29:49

阅读数 366

评论数 0

转载 spring工作原理(转)

1、spring原理 内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。 ...

2014-05-22 19:29:33

阅读数 400

评论数 0

转载 java中的io系统详解

Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unico...

2014-05-22 13:07:05

阅读数 367

评论数 0

转载 深入理解Java对象序列化

关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,develope...

2014-05-22 12:54:37

阅读数 380

评论数 0

转载 Struts2 学习小结

Struts2 学习小结 一、Struts工作原理 1.1 Struts拦截用户请求 Struts框架控制器分为核心控制器(拦截用户请求ActionServlet)和业务逻辑控制器(处理用户请求Action)。下面是序列图: 1.2 Struts程序流程 Clie...

2014-05-21 20:59:56

阅读数 438

评论数 0

转载 Struts工作原理

.2  Struts工作原理 除了学习Struts的基础知识。建议读者还要熟知Struts较为重要的部分--工作原理,这并不是必须要学习的部分。就像很多不懂汽车内部构成原理的人照样可以驾驶汽车一样,不了解Struts的工作原理,并不影响对Struts的使用。但如果能了解Struts的工作原理,则...

2014-05-21 20:56:58

阅读数 503

评论数 0

原创 探秘Java虚拟机——内存管理与垃圾回收

本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索。 1、Java虚拟机运行时的数据区 2、常用的内存区域调节参数 -Xms:初始堆大小,默认为物理内存的1/64( -Xmx:最大堆大小,默认(MaxHeapFree...

2014-05-21 20:44:09

阅读数 543

评论数 0

原创 Java虚拟机工作原理详解

一、类加载器 首先来看一下java程序的执行过程。                          从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入 [java] view plaincopyprin...

2014-05-21 20:41:40

阅读数 421

评论数 0

转载 java异常机制和异常处理原则(转)

本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框 架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。 一、 异常的概念和Java异常体系结...

2014-05-21 20:37:45

阅读数 654

评论数 0

转载 SQL注入原理讲解,很不错!

日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,由于设计的漏洞导致了不...

2014-05-21 12:40:31

阅读数 534

评论数 0

转载 《老罗Android》学习之HTTP (二) POST和GET提交数据

1.  POST和GET方式的定义   1. HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。   2.每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,...

2014-05-20 22:01:28

阅读数 593

评论数 0

转载 《老罗Android》学习之 HTTP编程(一)

1. HTTP协议的定义    WWW是以Internet作为传输媒介的一个应用系统,WWW网上基本的传输单位是Web网页。WWW的工作是基于客户机/服务器计算模型,由Web浏览器和Web服务器构成,即B/S结构,两者之间采用超文本传输协议HTTP进行通信。    HTTP协议是基于TCP/I...

2014-05-20 21:56:42

阅读数 768

评论数 0

转载 Java虚拟机工作原理详解

classloaderClassLoaderjvmJVM 一、类加载器 首先来看一下java程序的执行过程。                          从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入 ...

2014-05-20 21:51:35

阅读数 497

评论数 0

转载 对Spring进行了总体上的说明,有益于建立对Spring的总体把握和认识。

1、spring原理 spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过prope...

2014-05-20 21:17:22

阅读数 515

评论数 0

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