Java
文章平均质量分 81
intervalintl
这个作者很懒,什么都没留下…
展开
-
StringBuStringffer 和 StringBuilder 区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容...原创 2010-02-05 17:37:34 · 170 阅读 · 0 评论 -
Java 运算符 详解
有些运算符在JAVA语言中存在着,但是在实际开发中我们或许很少用到它们,在面试题中却时常出现它们的身影,对于这些运算符的含义和用法,你是否还记得呢? 自增(++)和自减(--)运算符 我们先来回答几个问题吧:Java代码 int i = 0; int j = i++; int k = --i; int i = 0;int j = i+...原创 2009-06-23 09:59:30 · 102 阅读 · 0 评论 -
Java protected
(1)除了在(2)中表述的有关继承方面的区别之外,在某个类中定义的protected 方法和属性(注意是定义的,不是继承而来的,对于继承而来的情况在(2)中有表述)和默认权限方法和属性是一样的。比如,某类的protected 方法和属性在包外是不能通过该类对象进行访问的(你能在包外访问一个类的默认权限的方法和属性吗?当然不能),这就是为什么在某对象所在的包的以外的任何地方,你不可以通过该类的对象引...原创 2009-12-16 15:17:28 · 101 阅读 · 0 评论 -
ConcurrentHashMap
关键字: concurrenthashmap 原理分析 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,...原创 2009-12-15 11:40:33 · 84 阅读 · 0 评论 -
SimpleDateFormat 参数 Z
import java.text.SimpleDateFormat; String strDate=new SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date()); 其中参数解释: Letter Date or Time Component Present...原创 2009-12-11 17:20:59 · 773 阅读 · 0 评论 -
常用java date 方法集合
计算某一月份的最大天数Calendar time=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,year); //year 为 int time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calen...原创 2009-02-12 14:05:16 · 130 阅读 · 0 评论 -
java递归的经典例子
1。汉诺塔这是递归的超经典的例子,几乎每本程序设计书上谈到递归都会介绍。具体情景不再赘述。以我上述的方法观之:(1)递归的出口在于disk数为一的时候(2)向出口逼近:如果不是一,是n ,则我们先挪动上面n-1块disk,等上面挪完,即递归返回的时候,我们挪动最底下的disk。仅仅如此,一个貌似十分复杂的问题就解决了,因为挪动那n-1块disk的时候,会继续向上减少,直到disk的数量为一为止。下...原创 2009-02-12 10:11:35 · 1453 阅读 · 0 评论 -
比较分析Vector、ArrayList和hashtable hashmap数据结构
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMa...原创 2009-02-06 14:15:59 · 87 阅读 · 0 评论 -
经典java问题,你能答出几个?
经典java问题 ,你能答出几个?第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时...原创 2009-02-05 18:04:32 · 317 阅读 · 0 评论 -
Java反射
JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的...原创 2009-01-15 17:37:26 · 90 阅读 · 0 评论 -
Java 字节 字符 字符串
String的length()方法和数组的length属性 String类有length()方法吗?数组有length()方法吗? String类当然有length()方法了,看看String类的源码就知道了,这是这个方法的定义:Java代码 public int length() { return count; } public i...原创 2009-06-23 10:07:51 · 104 阅读 · 0 评论 -
java 多态 例子
其实也就是两种绑定状态:动态绑定(也称后期绑定),静态绑定(也称前期绑定). 1 实例方法: 实例方法与引用所实际引用的对象绑定.(动态绑定).2 静态方法: 静态方法与引用所实际声明的类型绑定.(静态绑定).3 成员变量(静态或非静态): 成员...2009-06-30 21:58:26 · 118 阅读 · 0 评论 -
Java 动态绑定
代码: public class Parent { public void validate(){ System.out.println("parent validate"); customer(); customer("ssssss"); } public void customer(){ ...2009-09-08 11:45:50 · 119 阅读 · 0 评论 -
JAVA虚拟机命令行参数
一、运行class文件执行带main方法的class文件,命令行为:Java <CLASS文件名>注重:CLASS文件名不要带文件后缀.class例如:java Test假如执行的class文件是带包的,即在类文件中使用了:package <包名>那应该在包的基路径下执行,命令行为:java <包名>.CLASS文件名例如:PackageTe...原创 2009-08-18 15:51:03 · 335 阅读 · 0 评论 -
Java中操作Json对象
在www.json.org上公布了很多Java下的json解析工具,其中org.json和json-lib比较简单,两者使用上差不多。下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序。 http://nchc.dl.sourceforge.net/sourceforge/json-lib/json-lib-2.2.1-jdk15.jar(Needs libs below:)[ ...2009-02-18 18:05:28 · 315 阅读 · 0 评论 -
Java timezone
转自:行者买刀 获得java时间时,突然获得的时间不是当前的系统时间 先打开系统时间设置图片 把当前的时区改成其他的随便一个.这时候会出现如下图片一个"根据夏时制自动调节时钟(U).这时我们把这个勾去掉,再把时区设置为原来的时区,这里我的时区是中国GMT+8. 设置完之后,打开你的IDE, public static void main(String[] args)...原创 2010-01-13 20:57:07 · 119 阅读 · 0 评论 -
Javap
javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。下面我们通过具体的一个例子来简单的讲讲这个工具的作用,你不需要很深入的使用,这个简单的介绍和简单的使用就可以使你受益非浅。 源代码: class StringTest { public static void main(String[] args) { String re...原创 2010-01-04 10:07:28 · 161 阅读 · 0 评论 -
JAVA 主动调用与被动调用
public class Test { static { System.out.println("***"); } public static final String a = "sss"; //final static double a = Math.random();}public class Test1 { public static void m...原创 2009-12-31 13:54:35 · 727 阅读 · 0 评论 -
Java解析XML文件的方法比较
1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存...原创 2009-12-24 17:14:30 · 130 阅读 · 0 评论 -
Collections.sort
第一种方法:容器内要排序的类必须时下Comparable接口: sort ( List list)例子:import java.util.*;public class Main{public static void main(String args[]){ArrayList al=new ArrayList();al.add(new Student(2,"aa"));al.add(new...原创 2009-07-03 16:59:49 · 150 阅读 · 0 评论 -
Java 遍历二叉树
Binary.javaimport java.util.Stack;public class BinaryTree {protected Node root;public BinaryTree(Node root) { this.root = root;}public Node getRoot() { return root;}/** 构造树 */public stat...原创 2009-12-18 17:13:27 · 150 阅读 · 0 评论 -
利用反射实现JavaBean的自动赋值
在开发Web应用程序时,经常需要将Post的表单的内容传递给JavaBean。虽然一些框架可以自动完成这一动能,但是如果需要一些额外的灵活性,我们还是考虑自己来实现这一过程。我们可以利用反射实现表单的字段自动赋给JavaBean的相应setXxx方法。为此,我们设计了一个ParameterUtil类,实现一个setFormBean()的静态方法:package com.crackj2ee.web....原创 2009-01-15 16:54:00 · 251 阅读 · 0 评论 -
利用java 中的反射将Pojo 对象转换为HashMap
// POJO package com.test;public class Person { private Integer id; private String lastName; private String firstName; public String getFirstName() { return firstName; } ...原创 2009-01-15 16:52:38 · 1140 阅读 · 0 评论 -
Java 面试题 经典
请下载见附件~~~2009-06-22 16:42:21 · 75 阅读 · 0 评论 -
Java的输入输出流
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个简要的介绍。 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流...原创 2009-05-22 15:35:28 · 98 阅读 · 0 评论 -
Java 锁机制 Synchronized
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。在此我们先来明确一下我们的前提条件。该对象...原创 2009-05-21 17:07:19 · 111 阅读 · 0 评论 -
递归排列组合
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class recursionTest { static int size; static int count; static char[] arrChar=new char[100]; ...2009-05-13 17:05:55 · 142 阅读 · 0 评论 -
Runtime.exec
首先说点Runtime类吧,他是一个与JVM运行时环境有关的类,这个类是Singleton的。我说几个自己觉得重要的地方。1、Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。2、Runtime上其他大部分的方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。3、Runtime中的e...原创 2009-04-21 18:16:33 · 115 阅读 · 0 评论 -
Java子类父类属性的覆盖
Java code class ParentClass { public int i = 10; } public class SubClass extends ParentClass { public int i = 30; public static void main(String[] args) { ...原创 2009-04-08 15:19:12 · 511 阅读 · 0 评论 -
Java字符串 String
在栈中有一个字符串池:字符串字面池指的是常量池.//// 字符串对象的创建方式有两种//// 如下://// String s1 = new String(""); //第一种//// String s2 = ""; //第二种////// 第一种始终不会入池的.//// 第二种要看情况而定(等号右边如果是常量则入池,非常量则不入池)//// 例:/...2009-04-01 16:46:14 · 68 阅读 · 0 评论 -
java中堆和栈
Java 中的堆和栈[转载]简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来...原创 2009-04-01 16:44:58 · 87 阅读 · 0 评论 -
java中equals方法的用法以及==的用法
equals 方法是 java.lang.Object 类的方法。有两种用法说明:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。比如:String s1,s2,s3 = "abc", s4 ="abc" ;s1 = new S...2009-04-01 16:31:19 · 99 阅读 · 0 评论 -
Tomcat的class加载的优先顺序一览
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。2.环境变量CLASSPATH中的jar和class文件。3.$CATALINA_HOME/common/classes下的class文件。4.$CATALINA_HOME/commons/endorsed下的jar文件。5.$CATALINA_HOME/commons/i18n下的jar文件。6.$CATALINA...原创 2009-03-24 18:13:38 · 111 阅读 · 0 评论 -
String java
众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是普通的类哦!!! 【镜头1】 String对象的创建 1、关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外: String s=new String("Hello world"); 问题:参数"Hello w...原创 2009-11-24 16:29:41 · 173 阅读 · 0 评论 -
JAVA自动装箱与拆箱
自动装箱与拆箱的功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的语法,决定是否进行装箱或拆箱动作。例如:Integer i = 100.相当于编译器自动为您作以下的语法编译:Integer i = new Integer(100).所以自动装箱与拆箱的功能是所谓的“编译器蜜糖”(Compiler Sugar),虽然使用这个功能很方便,但在程序运行阶段您得了解Java的语义。例如下...2009-11-24 17:15:51 · 77 阅读 · 0 评论 -
Java 基本类型
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将从面试中常考的几个方面来回顾一下与基本类型相关的知识。 基本类型共有九种,它们分别都有相对应的包装类。对于基本类型void以及它的包装类java.lang.Void,我们都无法直接进行操作。基本类型可以分为三类,字符类型char,布尔类型boolean以...原创 2009-06-22 16:39:32 · 117 阅读 · 0 评论 -
java 传值 传引用
JAVA中的传递都是值传递吗?有没有引用传递呢? 在回答这两个问题前,让我们首先来看一段代码:Java代码 public class ParamTest { // 初始值为0 protected int num = 0; // 为方法参数重新赋值 public void change(in...原创 2009-06-22 16:18:37 · 91 阅读 · 0 评论 -
创建了几个 string 对象
我们首先来看一段代码:Java代码 String str=new String("abc"); String str=new String("abc");紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的...原创 2009-06-22 16:14:55 · 110 阅读 · 0 评论 -
java 继承、多态、重载和重写
什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承、多态、重载和重写。 继承(inheritance) 简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。继承是面向对象的三个基本特征--封装、继承、多态的其中之一,我们在使用JAVA时编写的每一个类都是在继承,因...原创 2009-06-22 16:02:04 · 96 阅读 · 0 评论 -
Java 日期和时间
java.util.Date类 提到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到毫秒数,这个毫秒数是相对于格林威治标准时间“1970-01-01 00:00:00.000 GMT”的差值。那么,什么是格林威治标准时间呢?要回答这个问题,我们需要先来了解一下世界时间标准方面的知识。 世界时间标准主要有UTC,即Coordinated Universal T...原创 2009-06-22 15:55:47 · 98 阅读 · 0 评论