自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

转载 JDK7 AIO 入门(二)------AsynchronousServerSocketChannel

接上篇,接下来练习通过AIO实现一个简单的TCP server。熟悉NIO的朋友应该都了解ServerSocket,在AIO中与之对应的就是AsynchronousServerSocketChannel,查看其API文档,介绍如下”An asynchronous channel for stream-oriented listening sockets. “,就是一个异步的数据流监听Socke

2015-08-20 23:33:11 8543 1

转载 JDK7 AIO 入门(一)------AsynchronousFileChannel

随着JDK7的发布,Java的AIO正式支持版本也出炉了,就像当年发布NIO特性支持时,基本上所有的Java服务器都重写了自己的网络框架以通过NIO来提高服务器的性能。AIO的发布势必也会引起Java界的一次重写风潮,现在很多的网络框架(如Mina),大型软件(如Oracle DB)都宣布自己已经在新版本中支持了AIO的特性以提高性能。下面就来看一下aio的基本原理,以及如何使用JDK7的AIO特

2015-08-20 23:32:45 1365

转载 Java NIO 系列教程

Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章。) Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲

2015-08-20 23:07:33 645

转载 深入Java集合学习系列:HashSet的实现原理

0.参考文献深入Java集合学习系列:HashSet的实现原理1.HashSet概述:  HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashM

2015-08-20 01:05:11 450

转载 图解classloader加载class的流程及自定义ClassLoader

/***  转载请注明作者longdick    http://longdick.iteye.com**/ java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassL

2015-08-20 00:51:14 917

转载 理解HotSpot的CMS GC

探讨cms垃圾回收算法之前,先简单介绍下hotspot的内存模型:                 图1(hotspot内存模型)我们知道hotspot内存模型是分代的(generational collection)。Perm 也即是permanent generation,eden 和两个survivor区属于young generation,最后一个区域我们定

2015-08-19 16:25:12 1089

转载 Full GC是否真的存在

在Plumbr这和GC暂停检测打交道的这段日子里,我查阅了与这个主题相关的大量文章,书籍以及资料。在这当中,我经常会对新生代GC, 年老代GC以及Full GC的事件的使用(滥用)感到困惑。于是便有了这篇文章,希望能够清除一些困惑。本文需要读者对JVM内建的GC相关的常用原理有一定的了解。像eden区,Survivor区以及年老区空间的划分,分代假设(generational hypoth

2015-08-19 14:59:15 1689

转载 java垃圾回收之Minor GC和Major GC

深入理解Java虚拟机:JVM高级特性与最佳实践 对Minor GC和Major GC做点笔记  新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。  老年代 GC(Major GC  / Full GC):指发生在老年代的 G

2015-08-18 19:03:58 611

转载 深入理解JVM--JVM垃圾回收机制

Java语言出来之前,大家都在拼命的写C或者C++的程序,而此时存在一个很大的矛盾,C++等语言创建对象要不断的去开辟空间,不用的时候有需要不断的去释放控件,既要写构造函数,又要写析构函数,很多时候都在重复的allocated,然后不停的~析构。于是,有人就提出,能不能写一段程序在实现这块功能,每次创建,释放控件的时候复用这段代码,而无需重复的书写呢?1960年 基于MIT的Lisp首先提

2015-08-18 18:33:39 1849 1

转载 jvm内存模型

1、内存结构:包括:方法区(持久带)、堆、栈、本地方法栈、程序指示器;方法区是特殊的堆,方法区和堆是一个jvm创建一个,栈是一个线程一个栈,程序指示器也跟线程关联;堆有具体分为新生代(young)、老年代(old),新生代有可以细分为eden和survivor,survivor又细分为from和to(或者s0和s1);2、堆为什么分代:    分代的垃圾回收策略,是基于

2015-08-18 18:31:50 458

转载 Java中Class.forName和ClassLoader.loadClass的区别

Class.forName("xx.xx")等同于Class.forName("xx.xx",true,CALLClass.class.getClassLoader()),第二个参数(bool)表示装载类的时候是否初始化该类,即调用类的静态块的语句及初始化静态成员变量。ClassLoader loader = Thread.currentThread.getContextClassLoader

2015-08-17 23:49:35 1795 2

转载 实现自己的类加载时,重写方法loadClass与findClass的区别

Java中的类加载器,有启动类加载器(Bootstrap Classloader)、扩展类加载器(Launcher$ExtClassLoader)、应用程序类加载器(Launcher$AppClassLoader),用户还可以实现自定义的类加载器,见下图:     类加载的这种关系称为双亲委派模式,需要注意的是他们之间不是继承关系,而是组合关系,在执行类加载的动作时,首先都是交给父

2015-08-17 23:42:36 1819

转载 简单几句话总结Unicode,UTF-8和UTF-16

概念先说一说基本的概念,这包括什么是Unicode,什么是UTF-8,什么是UTF-16。Unicode,UTF-8,UTF-16完整的说明请参考Wiki(Unicode,UTF-8,UTF-16)。用比较简单的话来说就是,Unicode定义了所有可以用来表示字符的数值集合(称之为Code Point)。UTF-8和UTF-16等UTF标准定义了这些数值和字符的映射关系。

2015-08-17 16:37:26 523

转载 Unicode(UTF-8, UTF-16)令人混淆的概念

为啥需要Unicode       我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开始的时候

2015-08-17 16:36:53 450

转载 Java异常体系结构

一、 异常的概念和Java异常体系结构     异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,     是Java语言健壮性的一个重要体现。     Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。     在Java API中已经定义了许多异常类,这些异常类分为两大

2015-08-12 22:21:49 364

转载 Java异常处理和设计

在程序设计中,进行异常处理是非常关键和重要的一部分。一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度。试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻找出错的根源?但是如果一个项目异常处理设计地过多,又会严重影响到代码质量以及程序的性能。因此,如何高效简洁地设计异常处理是一门艺术,本文下面先讲述Java异常机制最基础的知识,然后给出在进行Java异

2015-08-12 22:21:13 418

原创 hadoop学习笔记

hadoop生态环境包括:HDFS、MapReduce、HBase、Pig、Hive、ZooKeeper等。Hadoop集群包括nameNode、secondaryNameNode、dataNode、jobTracker、taskTracker;hbase集群包括hmaster、hregionserver、region、store、memstore、storeFile、HFile等;操作方

2015-08-09 23:41:07 525

转载 java 不区分KEY大小写的MAP

有时候我们会需要一个不区分KEY大小写的MAP,当然仅仅是Map这种类型的Map今天介绍一个apache.commons包里的类,org.apache.commons.collections.map.CaseInsensitiveMap例子: public static void main(String[] args) {  Map result = new CaseInsen

2015-08-04 10:29:20 11294

转载 Spring JdbcTemplate 查询出的Map,是如何产生大小写忽略的Key的?

Java 是区分大小写的,普通的Map例如HashMap如果其中的key="ABC" value="XXX"那么map.get("Abc") 或 map.get("abc")是获取不到值得。但Spring中产生了一个忽略大小写的map使我产生了好奇例如 jdbcTemplate.queryForList(sql)产生的 Listkey="BID" value="STR1"

2015-08-04 10:28:32 1440

转载 java volatile和atomic包的区别

首先volatile是java中关键字用于修饰变量,AtomicReference是并发包java.util.concurrent.atomic下的类。首先volatile作用,当一个变量被定义为volatile之后,看做“程度较轻的 synchronized”,具备两个特性:1.保证此变量对所有线程的可见性(当一条线程修改这个变量值时,新值其他线程立即得知)2.禁止指令重新排序注

2015-08-03 22:15:36 1651

转载 HttpClient 4.3教程(转载)

转自:http://www.yeetrack.com/?p=779http://www.cnblogs.com/chenying99/p/3735282.htmlhttp://blog.csdn.net/alibert/article/details/42788189前言Http协议应该是互联网中最重要的协议。持续增长的web服务、可联网的家用电器等都在继承

2015-08-02 00:08:40 1087

转载 httpclient4.2.1 连接池

最近做了一个httpclient4.2.1的连接池?12345678910111213141516171819202122232425262

2015-08-02 00:01:51 1602

转载 Apache HttpClient4.3 Fluent API使用心得小结

HttpClient原来的API非常复杂,而且还要记着关闭InputStream,Http4.3终于提供了Fluent API, 代码在后面给出。Request.Get(url).execute().returnContent().asString();通过翻代码,可以看到它线程安全,所有请求会使用一个公共的连接池,总共200连接,每个destination最多100个连接。而且内

2015-08-01 23:58:45 13965 1

转载 Apache HttpComponents(HTTPClient) Fluent API 使用

Jakarta Commons HTTPClient 3.X版本自11年之后就不再更新了,现在4.0以后的版本叫做HttpComponents可以到这里下载 http://hc.apache.org/downloads.cgi令人惊喜的是 HttpClient 4.2提供了连贯操作(Fluent API)。抛弃原来3.X版本的GetMethod、PostMethod,使得Http访问变得非常容易。G

2015-08-01 23:44:32 3854

C++编程思想(中文)

C++编程思想(中文) 本书作者根据自己学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色。 全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别。 本书作为正式教材和自学用书均非常优秀,作为程序设计者的参考用书亦极为合适。

2009-11-11

vc文件拷贝程序(显示拷贝进度)

是一个在VC下实现文件拷贝的程序,包括浏览文件夹、拷贝进度显示功能,文家拷贝主要使用win32函数CopyFileEx,进度显示则通过其回调函数CopyProgressRoutine实现。

2009-05-17

空空如也

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

TA关注的人

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