
Java
文章平均质量分 59
G_beginner
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
`nonmutating' is not defined (Ice)
说明出处:http://download.zeroc.com/Ice/3.2/IceJ-3.2.1-CHANGES- ["nonmutating"] provides backward compatibility for idempotent operations that were previously declared using the deprecated 'non...2012-02-20 14:40:00 · 275 阅读 · 0 评论 -
系统研究Java--容器(六)--Collections工具类
<!-- ========== METHOD SUMMARY =========== -->下面是Collections的方法摘要,Collectons就是整个Collection的工具类,里面有很多常用并且实用的方法,二分搜索、排序、洗牌、填充、反转,是我觉得比较常用的一些方法,其他方法也应该了解,以备不时之需。方法摘要static<...2011-03-01 14:36:00 · 146 阅读 · 0 评论 -
系统研究Java--容器(四)--Map和Set
Map是Java容器的又一长老,映射表(也称为关联数组),基本思想是维护一对键-值对,通过键来查找值。标准Java类库中包含Map的几种基本实现,包括:HashMap,TreeMap,LinkedHashMap,WeakHashMap,ConcurrentHashMap,IdentityHashMap,他们之间各自有一个自己的特性。HashMap:HashMap采用特殊的形式进行存储,这...2011-02-23 17:59:00 · 138 阅读 · 0 评论 -
系统研究Java--容器(五)--部分容器的底层实现
List和存储顺序从List接口展开的实现类有ArrayList,LinkedList,Vector和Stack,其中Vector和Stack被称为遗留类,是用于支持遗留代码,向前兼容,你不应该再去使用这样的东西,但Vector在处理并发的时候加了同步,而ArrayList没有这个功能,以前因为同步的问题总觉得ArrayList并不能完全的替代Vector,但后来才知道Jdk早就提供了一个Co...2011-02-23 16:28:00 · 162 阅读 · 0 评论 -
系统研究Java--容器(三)--Collection
<!-- ========== METHOD SUMMARY =========== -->做为容器家族的长老级人物,个人觉得研究一下Collection还是有必要的,下面是Collection中的方法摘要,其中包括继承自Object的方法(注:Collection并没有显示的继承于Object,而继承于Iterable,同时Iterable也非继承于Object,网上有说...2011-02-23 15:36:00 · 194 阅读 · 0 评论 -
系统研究Java--容器(二)--使用Abstract类
这个示例在于演示通过继承java.util.Abstract来创建定制的Map和Collection,实现一个只读的Map。//: net/mindview/util/Countries.java// "Flyweight" Maps and Lists of sample data.package net.mindview.util;import java.util.*;im...2011-02-23 14:34:00 · 232 阅读 · 0 评论 -
Java反射经典实例 Java Reflection Cookbook (初级)
原文地址:http://www.blogjava.net/jialing/archive/2006/08/24/JavaReflectionCookbook1.htmlJava提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套...2011-02-23 13:09:00 · 136 阅读 · 0 评论 -
系统研究Java--数组(一)
数组不可越界,如果越界将会得到一个表示程序错误的RuntimeException!新声明的对象数组,所有对象被初始化为null,对于基本数据类型来说数值型被自动化为0,char型被初始化为(char)0,布尔型为false.粗糙数组:Java数组中构成矩阵的每个向量都可以有任意的长度。数组与泛型:为了保证类型安全,Java中不允许创建泛型数组,但允许创建泛型数组的引用,可以通过创建非...2011-02-22 15:55:00 · 163 阅读 · 0 评论 -
Java中的volatile关键字
我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中...2011-02-18 10:09:00 · 151 阅读 · 0 评论 -
Struts2核心工作原理解析
这篇文章对应的并非Struts2的最新版本,但其原理还是相同的。 这是Struts2官方站点提供的Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤: 客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入”http://localhost:8080/TestMvc/add.action”就是提起一个(HttpSer...2011-09-19 18:12:00 · 175 阅读 · 0 评论 -
Java内存分配策略中的堆与栈
原文转自:http://www.examda.com/Java/zhuanye/20100907/110421485.html内存分配策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可...2011-09-17 23:25:00 · 147 阅读 · 0 评论 -
全面分析Java的垃圾回收机制
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JV...2011-09-17 23:04:00 · 139 阅读 · 0 评论 -
初看Java中ThreadLocal
最近学习Java的线程,接触了ThreadLocal,感觉还是有一些难度,所以上网查了一些资料。ThreadLocal的作用是为每一个线程保存单独的变量副本,乍一看,似乎是又这样的实现:每一个ThreadLocal的实体中维护了一个Map,当每个线程去调用threadLocal.set(T)方法时,似乎是把<Thread,Value>这样的一一对键值对放到了Map里,而...2011-09-17 15:59:00 · 187 阅读 · 0 评论 -
系统研究Java--I/O(一)
先占个位置,来两个图2011-03-03 16:14:00 · 151 阅读 · 0 评论 -
abstract class 与 interface 的区别
对于abstract class 和 interface 之间一直很模糊,最近看java源码的时候又想起来,所以上网查了一些资料,转过来备忘。原文地址:http://fzfx88.javaeye.com/blog/115393abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 ab...2011-03-07 11:43:00 · 148 阅读 · 0 评论 -
Maven学习笔记(三)——坐标和依赖
参考书籍Maven实战:可在InfoQ的Minibook出下载相关电子版。一、坐标 maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组maven坐标是通过一些元素定义的,它们是groupId,artifactId,version,packaging,chassifier。先看一组坐标定义,如下: <groupId>or...2011-12-27 12:58:00 · 301 阅读 · 0 评论 -
Maven学习笔记(二)——Eclipse插件安装(m2eclipse)
如何安装Eclipse插件关于如何安装Eclipse插件可以参考http://www.blogjava.net/wealupa/archive/2010/09/09/331493.htmlEclipse3.5以后版本推荐使用dropions的安装插件名称区分方式安装插件eclipse/ dropins/ reso...2011-12-24 19:06:00 · 192 阅读 · 0 评论 -
Maven学习笔记(一)——安装与配置
1. 准备工作操作系统:Windows7JDK version: 1.7.0(由于Maven需要有JDK的支持,所以不能只下JRE)Maven version: 3.0.3 下载页面:http://maven.apache.org/download.html2. 安装2.1. 安装JDK从orcale官网上下载JDK,Maven可以运行在JDK1.4以上版本,我的版本...2011-12-24 17:48:00 · 245 阅读 · 0 评论 -
Java几种常用关键字总结
1.abstract abstract关键字可以用来修饰类和方法abstract类可以通过子类来扩展,但是不能够直接实例化abstract方法在声明的时候没有实现,但必须在声明方法的abstract类的子类中重写abstract方法所在的类也是abstract的,如果abstract类的子类并没有实现其父类的所有方法,那么这个子类也是abstract类型的。abstract...2011-03-25 11:00:00 · 162 阅读 · 0 评论 -
盘点JDK1.5的新特性(三)——加强for循环
接着上篇文章来写,其实加强for循环现在用过的人很多,上篇文章中我就已经用到了public static int add(int i,int... js){ for(int j : js) i += j; return i; } 这里再做一个总结,首先解释一下加强for循环:J2SE 1.5提供了另一种形...2011-07-22 10:04:00 · 186 阅读 · 0 评论 -
盘点JDK1.5的新特性(二)——可变参数
在JDK中提供的方法经常可以看见可以接受多个参数的形式,如Arrays.asListasListpublic static <T> List<T> asList(T... a)Returns a fixed-size list backed by the specified array. (Changes to the returned list "writ...2011-07-14 17:47:00 · 144 阅读 · 0 评论 -
盘点JDK1.5的新特性(一)——静态导入功能
总是看到jdk在1.5之后就怎么怎么样,增加什么什么功能的,所以索性盘点一下JDK1.5以后到底新增了哪些特性,首先来说说静态导入功能,看下面一段例子package example;public class StaticImportExample1 { public static void main(String[] args){ System.out.println(Ma...2011-07-14 17:17:00 · 170 阅读 · 0 评论 -
利用Java反射机制将Json格式字符串反射为 Bean List
前面提到过Strtus2在2.1.6以后就将Json格式整合到Strtus中了,可见到struts-json-plugin,在Struts的文档里面有下面一段例子: ExampleSetup Action This simple action has some fields:Example: import java.util.HashMap;import...2011-07-14 00:13:00 · 245 阅读 · 0 评论 -
Struts2 与 Ext 整合开发
最近一直想找一个Struts与Ext整合的一个比较规范的做法,个人觉得必然使用Struts的json,弄了一个晚上,不知道是否在符合大众的规范,配置如下:Struts2从2.1.7开始便将json整合进去了,从Strtus2的lib包中可以片可以找到,名为struts2-json-plugin-2.x.x.x.jar将json-plugin放入工程的lib中去后,便可以开始进行开发:...2011-07-12 09:58:00 · 149 阅读 · 0 评论 -
NavigableMap与NavigableSet
可导航的Map和集合 NavigableMap and NavigableSetJava集合框架(Java Collections Framework)加入了一个新的NavigableMap和NavigableSet接口。分别的扩展了SortedMap和SortedSet接口,本质上添加了搜索选项到接口。NavigableMap接口对于NavigableMap,有3个方...2011-07-05 19:53:00 · 219 阅读 · 0 评论 -
Cygwin下Hadoop的安装与配置
Hadoop 支持 Linux 及 Windows 操作系统, 但其官方网站声明 Hadoop 的分布式操作在 Windows 上未做严格测试,建议只把 Windows 作为 Hadoop 的开发平台。在 Windows 环境上的安装步骤如下( Linux 平台类似,且更简单一些):一、安装Cygwin下载Cygwin,运行step.exe,选择从网络安装,选择安装路径和临时下载文件的存放...2011-07-05 19:53:00 · 206 阅读 · 0 评论 -
Hibernate将Enum枚举类型映射为Int类型
最近要用Hibernate做一个枚举类型的映射,在MySQL数据库中,hibernate的map文件中如果不配置枚举类型属性的type,那么hibernate会默认的将Enum类型映射为TinyBlob类型,这样就很尴尬了,似乎要多耗费很多的资源,去网上找了一下,有很多种解决办法如果用的是annotation那么用@Enumerated(EnumType.STRING)直接可以映射为Stri...2011-07-01 15:19:00 · 175 阅读 · 0 评论 -
系统研究Java--容器(一)
如上图:java完整容器的结构图 个人觉得java的容器结构是比较复杂的,想弄懂Java的容器,那么这个图会有很大的帮助! 图中短虚线部分为接口,长虚线部分为抽象类,实线部分为实现类,其中实线加粗为常用类。 Java SE5以后的版本新增了一些容器,主要是针对于多线程机制的 值得注意的是Java SE5之后新增了Queue接口继承于Collection,以...2011-02-14 15:12:00 · 109 阅读 · 0 评论 -
Java中为什么实现了Serializable接口就具备了被序列化的能力以及serialVersionUID的作用...
Java 规定的内部机制,实现 Serializable 接口就行了,这个接口只是个标记性的接口,表示类的设计者已经允许这个类型的对象被序列化写入磁盘或通过网络发送,对于有保密要求的东西一般不实现这个接口防止无意间复制到 jvm 内存之外。如果一个类型的多数字段可以复制但个别字段不用复制(比如,它实际上是通过其它字段计算出来的),我们可以把它标记为 transient。默认的 serializat...2011-02-14 13:38:00 · 144 阅读 · 0 评论 -
盘点JDK1.5的新特性(一)——静态导入功能
总是看到jdk在1.5之后就怎么怎么样,增加什么什么功能的,所以索性盘点一下JDK1.5以后到底新增了哪些特性,首先来说说静态导入功能,看下面一段例子package example;public class StaticImportExample1 { public s原创 2011-07-14 17:17:21 · 1009 阅读 · 0 评论 -
一个简单的验证码生成工具--servlet版本
<br />需要用到servlet-api.jar<br />package com.neuhr.utils;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.Image原创 2011-05-13 21:20:00 · 1082 阅读 · 0 评论 -
Java几种常用关键字总结
<br />1.abstract<br /> <br />abstract关键字可以用来修饰类和方法<br />abstract类可以通过子类来扩展,但是不能够直接实例化<br />abstract方法在声明的时候没有实现,但必须在声明方法的abstract类的子类中重写<br />abstract方法所在的类也是abstract的,如果abstract类的子类并没有实现其父类的所有方法,那么这个子类也是abstract类型的。<br />abstract关键字不能同static private 和 fin原创 2011-03-25 11:00:00 · 1134 阅读 · 0 评论 -
系统研究Java--数组(一)
数组不可越界,如果越界将会得到一个表示程序错误的RuntimeException!新声明的对象数组,所有对象被初始化为null,对于基本数据类型来说数值型被自动化为0,char型被初始化为(char)0,布尔型为false.粗糙数组:Java数组中构成矩阵的每个向量都可以有任意的长度。数组与泛型:为了保证类型安全,Java中不允许创建泛型数组,但允许创建泛型数组的引用,可以通过创建非泛型数组然后将其转型 List[] ls;List[] la = new List[10];ls =原创 2011-02-22 15:55:00 · 1028 阅读 · 0 评论 -
系统研究Java--容器(二)--使用Abstract类
这个示例在于演示通过继承java.util.Abstract来创建定制的Map和Collection,实现一个制度的Map。//: net/mindview/util/Countries.java// "Flyweight" Maps and Lists of sample data.package net.mindview.util;import java.util.*;import static net.mindview.util.Print.*;public class Cou原创 2011-02-23 14:34:00 · 1658 阅读 · 0 评论 -
Java反射经典实例 Java Reflection Cookbook (初级)
原文地址:http://www.blogjava.net/jialing/archive/2006/08/24/JavaReflectionCookbook1.htmlJava提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。<br /><br />1. 得到某个对象的属性 <br /><br />1 public Object g转载 2011-02-23 13:09:00 · 839 阅读 · 0 评论 -
Java中的volatile关键字
<br /> 我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程原创 2011-02-18 10:09:00 · 633 阅读 · 0 评论 -
Java中为什么实现了Serializable接口就具备了被序列化的能力以及serialVersionUID的作用
原文地址:http://czh.javaeye.com/blog/657761serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 有两种生成方式: 一个是默认的1L,比如:private static final long se... serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 有两种生成方式: 一个是默认的1L,比如:private static fin转载 2011-02-14 13:38:00 · 2619 阅读 · 0 评论 -
系统研究Java--容器(一)
如上图:java完整容器的结构图个人觉得java的容器结构是比较复杂的,想弄懂Java的容器,那么这个图会有很大的帮助!图中短虚线部分为接口,长虚线部分为抽象类,实线部分为实现类,其中实线加粗为常用类。Java SE5原创 2011-02-14 15:12:00 · 1254 阅读 · 0 评论 -
系统研究Java--I/O(一)
<br />先占个位置,来两个图原创 2011-03-03 16:14:00 · 1108 阅读 · 0 评论 -
盘点JDK1.5的新特性(二)——可变参数
在JDK中提供的方法经常可以看见可以接受多个参数的形式,如Arrays.asListasListpublic static List asList(T... a)Returns a fixed-size list backed by the specified array.原创 2011-07-14 17:47:13 · 1399 阅读 · 0 评论