
java基础
文章平均质量分 76
ruowu
这个作者很懒,什么都没留下…
展开
-
深入探讨Java类型提升的约定[转]
转: http://doc.chinaunix.net/java/200804/160498.shtml 除了将byt型和short型提升到int型以外,java定义了若干适用于表达式的类型提升规则(type promotion rules). 首先,如刚才描述的,所有的byte型和short型的值被提升到int型.其次,如果一个操作数是long型,整个表达式将被提升到l...原创 2010-09-30 10:28:54 · 196 阅读 · 0 评论 -
Java内部类与匿名内部类
定义在类中方法之外的内部类分为实例内部类和静态内部类. 实例内部类自动持有外部类的实例的引用,即可以访问外部类的所有变量; 静态内部类可以直接访问外部类的静态成员; 定义在方法中的内部类叫局部内部类,该类只能访问被final修饰的局部变量和参数 接口定义如下: interface Super{ public void print(); } ...原创 2010-09-08 15:19:39 · 107 阅读 · 0 评论 -
javap的使用
javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。javap - Java class文件分解器 分解class文件 摘要: javap [ options ] class. . . 描述: javap命令分解一个class文件,它根据options来决定到底输出什么。如果没有使用options,那么javap将会输出包,类里的...原创 2010-09-08 14:48:56 · 212 阅读 · 0 评论 -
JAVA匿名内部类(from thinking in java 3th)[转]
简单地说:匿名内部类就是没有名字的内部类。什么情况下需要使用匿名内部类?如果满足下面的一些条件,使用匿名内部类是比较合适的: ·只用到类的一个实例。 ·类在定义后马上用到。 ·类非常小(SUN推荐是在4行代码以下) ·给类命名并不会导致你的代码更容易被理解。 在使用匿名内部类时,要记住以下几个原则: ·匿名内部类不能有构造方法。 ·匿名内部类不能定义任何静态成员...原创 2010-09-08 14:13:00 · 92 阅读 · 0 评论 -
Java内部类
在一个类内部定义类,这就是嵌套类(nested classes),也叫内部类、内置类。嵌套类可以直接访问嵌套它的类的成员,包括private成员,但是,嵌套类的成员却不能被嵌套它的类直接访问。 当一个类中的程序代码要用到另外一个类的实例对象,而另外一个类中的程序代码又要访问第一个类中的成员,将另外一个类做成第一个类的内部类,程序代码就要容易编写得多,这样的情况在实际应用中非常之多!...原创 2010-09-05 17:32:31 · 106 阅读 · 0 评论 -
java 静态块 非静态块
转自:http://blog.sina.com.cn/s/blog_499b09000100d9rj.html 静态块static block//c4:StaticBlock1.java//author:ZhangHongbin//This program is protected by copyright laws.//Static block. public cla...原创 2010-08-22 16:41:18 · 108 阅读 · 0 评论 -
java static
请先看下面这段程序:public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,world!"); //(2) } } 在1处,我们定义了一个静态的方法名为main,这就意味着告诉Java编译器,我这个方法不需要创建一个此类的对象即可使用。在2中,你可能会想,为什...原创 2010-08-22 16:20:16 · 95 阅读 · 0 评论 -
JNDI API
JNDI API由5个包组成: 1、Javax.naming:包含了访问命名服务的类和接口。例如,它定义了Context接口,这是命名服务执行查询的入口。 2、Javax.naming.directory:对命名包的扩充,提供了访问目录服务的类和接口。例如,它为属性增加了新的类,提供了表示目录上下文的DirContext接口,定义了检查和更新目录对象的属性的方法。 3、Javax....原创 2010-08-20 14:40:21 · 189 阅读 · 0 评论 -
理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datas
http://futureinhands.iteye.com/blog/213625 在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源:A: java:comp/env/jdbc/testDSB: jdbc/testDS这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实...原创 2010-08-20 14:34:10 · 198 阅读 · 0 评论 -
java继承容易犯的错误[转]
在网上看见一个关于java继承的问题,觉得这是很多初学java应该注意的问题。 public abstract class A { int i=1; public void printI() { System.out.println("i="+i); }}public class B extneds A{ int i=2; public s...原创 2010-09-09 09:32:39 · 134 阅读 · 0 评论 -
Java中的this和super[转]
转自:http://student.youkuaiyun.com/space.php?uid=414332&do=blog&id=344491. super代表父类?代表父类的对象?还是代表父类的引用?为什么super()在构造方法,super.fun()在方法能用?个才人认为应该是super表示对象能这么调用,可父类对象没被new 而如果是表示父类的话,那fun()应该是stati...原创 2010-09-09 16:41:51 · 80 阅读 · 0 评论 -
String 中的split()[转]
转:http://www.iteye.com/topic/326835 一个同事这样使用split方法: String s = "ab|cd"; String[] array = s.split("|"); System.out.println(Arrays.toString(array)); 输出: [, a, b, |, c, d] 把"|"改为":" String s = "ab:c...原创 2010-09-12 22:38:41 · 103 阅读 · 0 评论 -
java 条件表达式(即三元操作符)的陷阱[转]
转: http://apps.hi.baidu.com/share/detail/5319426 下面的程序将会打印出什么呢?public class DosEquis{ public static void main(String[] args){ char x = 'X'; int i = 0;...原创 2010-09-30 10:22:21 · 276 阅读 · 0 评论 -
response的 encodeUrl方法的使用[转]
转自 :http://edu.codepub.com/2009/1213/18697.php public java.lang.String encodeURL(java.lang.String url)Encodes the specified URL by including the session ID in it, or, if encoding is not needed, re...原创 2010-09-29 11:17:18 · 203 阅读 · 0 评论 -
java序列化的作用[转]
转: http://hi.baidu.com/springwu/blog/item/6c80036607afec20aa184c58.html 最近在阅读Core J2EE Patterns 的时候发现例子里用于在各个层次里进行传输的TO(Data Transfer Object)都实现了java.io.Serializable接口,看到这些偶突然感到茅塞顿开~困扰了很久的关于Serial...原创 2010-09-20 11:31:33 · 78 阅读 · 0 评论 -
java transient简介[转]
转:http://blog.youkuaiyun.com/zxl315/archive/2010/03/09/5359151.aspx 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的所有属性和方法都会自动序列化。 然而在实...原创 2010-09-20 11:22:51 · 85 阅读 · 0 评论 -
Collection和Collections的区别[转]
转: http://hanhongke123.blog.163.com/blog/static/62223494201072335227494/Collection是个java.util下的接口,它是各种集合结构的父接口。 Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。 Collection 层次结构中的根接口。Collection 表示一组对...原创 2010-09-17 15:37:56 · 109 阅读 · 0 评论 -
HashMap和HashTable的区别[转]
转: Hashtable和HashMap类有三个重要的不同之处。第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。 也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable...原创 2010-09-17 15:24:36 · 71 阅读 · 0 评论 -
Java 中Vector、ArrayList和LinkedList 的区别[转]
转:http://pterodactyl.iteye.com/blog/617799 SDK 提供了有序集合接口java.util.List的几种实现,其中三种最为人们熟知的是Vector、ArrayList和LinkedList。有关这 些List类的性能差别是一个经常被问及的问题。在这篇文章中,我要探讨的就是LinkedList和Vector/Array为全面分析这些类之间的性能差...原创 2010-09-17 14:43:30 · 83 阅读 · 0 评论 -
Java中ArrayList和LinkedList区别[转]
转:http://pengcqu.iteye.com/blog/502676 一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3...原创 2010-09-17 12:01:47 · 84 阅读 · 0 评论 -
InitialContext 和 Context 的区别
Context是接口,InitialContext是这个接口的一个实现。用法:一般这样用: Context ctx = new InitialContext();不提倡InitialContext ctx = new InitialContext(); 目前的软件开发都推荐面向接口编程,可以在Context的基础上自己扩展自己的实现,这就是接口的...原创 2010-08-20 11:33:42 · 1238 阅读 · 0 评论 -
java与javax的区别,java和javaw命令有什么区别
java与javax的区别 java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包java类库是java发布之初就确定了的基础库,而javax类库则是在上面增加的一层东西,就是为了保持版本兼容要保存原来的,但有些东西有了更好的解决方案,所以,就加上些,典型的就是awt和swing. =====================...原创 2010-08-17 22:05:13 · 426 阅读 · 0 评论 -
Java常见笔试面试题目解析(二): Java中的原生数据类型和引用类型的参数传递...
public class Point{ private int x; private int y; public Point(int x,int y) { this.x = x; this.y = y; } public int getX() { return x; } public void setX(int x) { th...2010-04-19 11:38:49 · 96 阅读 · 0 评论 -
Java常见笔试面试题目解析(一): 字符串相关
1 public class StringTest { 2 3 public static void main(String[] args) { 4 String str = new String("abc"); //语句(1) 5 String str1 = "abc";//语句(2) 6 String st...2010-04-16 14:55:34 · 152 阅读 · 0 评论 -
String intern()
在intern()方法被调用时,如果String Pool(java 执行时会维持一个String Pool)中 已经有了相同的String对象时就会从Pool中返回该String对象,否则 新建的String 对象会被加入Pool中并返回该String对象的Reference 举例如下: -------**************************************------- S...2010-04-16 14:54:36 · 76 阅读 · 0 评论 -
String类型对象是否改变
因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。请看下列代码: String s = "Hello"; s = s + " world!"; s所指向的对象是否改变了呢?从本系列第一篇的结论很容易导出这个结论。我们来看看发生了什么事情。在这段代码中,s原先指向一个String对象,内容是"Hello",然后我们对s进行了+操...2010-04-16 12:15:10 · 107 阅读 · 0 评论 -
String、StringBuffer和StringBuilder
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类—— StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类)。那么这个 ...2010-04-16 10:39:32 · 80 阅读 · 0 评论 -
StringTokenizer用法
StringTokenizer :字符串分隔解析类型属于:java.util包。 1、构造函数。1. StringTokenizer (String str) :构造一个用来解析str的StringTokenizer 对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer (String str, S...2010-04-15 20:47:39 · 127 阅读 · 0 评论 -
获取本机ip和主机名
代码如下: public static void main(String[] args) { try{ InetAddress addr = InetAddress.getLocalHost(); String ip=addr.getHostAddress().toString();// 获得本机IP String name=addr...2010-04-14 15:54:43 · 170 阅读 · 0 评论 -
java 控制台输入
想起了以前学c++的时候,能够在那个黑黑的界面上(console)输入些值,然后打印出来,欣喜若狂的。 今天想了一下,在java,这个怎么实现呢?想了一下,真的不知道,呵呵。 找了一下,终于找到了,代码如下: [code="java"] public static void main(String[] args) { System....2010-04-14 00:14:03 · 105 阅读 · 0 评论 -
浅谈Java多线程的同步问题[转]
作者: phinecos 多线程的同步依靠的是对象锁机制,synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。下面以一个简单的实例来进行对比分析。实例要完成的工作非常简单,就是创建10个线程,每个线程都打印从0到99这100个数字,我们希望线程之间不会出现交叉乱序打印,而是顺序地打印。先来看第一段代码,这里我们在run()方法中加入了synchronized关...2010-04-29 22:10:10 · 71 阅读 · 0 评论 -
随服务器启动加载数据
在web应用下: 可以通过servlet来实现。 新建一个类继承javax.servlet.http.HttpServlet,然后将加载数据的代码放到init方法就可以了。具体代码如下:public class StaticClass extends javax.servlet.http.HttpServlet implements javax.servlet.Se...2010-05-05 19:43:28 · 162 阅读 · 0 评论 -
JAVA UUID [转]
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同...原创 2010-05-07 16:51:40 · 161 阅读 · 0 评论 -
java中final的用法(转载)
许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面:(1) 编译期常数,它永远不会改变(2) 在运行期初始化的一个值,我们不希望它发生变化对于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销(这个应该是static final 吧。。。我的想法错了的,编译期间执行和加载时执行是不同的,...原创 2010-08-17 15:59:21 · 111 阅读 · 0 评论 -
转---java术语--对象句柄[转]
转自:http://edison87915.iteye.com/blog/735563 每种编程语言都有自己的数据处理方式。有些时候,程序员必须时刻留意准备处理的是什么类型。您曾利用一些特殊语法直接操作过对象,或处理过一些间接表示的对象吗(C或C++里的指针)? 所有这些在Java”对象,但操纵的标识符实际是指向一个对象的“句柄”(Handle)。在其他Java参考书里,还可看到有的人将...原创 2010-08-17 15:55:45 · 176 阅读 · 0 评论 -
Java对象及其引用[转]
转自:http://dev.youkuaiyun.com/author/beepbug/f5c70b05579f46d4996ce9da4f75dbc0.html 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一谈。可是,如果我分不清对象与对象引用,那实在没法很好地理解下面的面向对象技术。把自己的一点认识写下来,或许能让初学Java的朋友...原创 2010-05-16 17:03:22 · 94 阅读 · 0 评论 -
java的堆和栈的理解和疑问
1、内存分配策略(跟java中的堆栈有点不同?) 按照编译原理的观点,程序运行时,内存分配有三种策略,有静态的,栈式的,堆式的。 静态存储分配:在程序编译时就能确定每个数据目标在运行时所需要的存储空间,所以在编译时就可以给其分配内存空间,这种分配策略要求代码中不能有可变的数据结构、递归嵌套的数据结构,因为这些都会导致程序在编译的时候无法计算出准确的存储空间。 栈式...原创 2010-05-16 16:36:28 · 177 阅读 · 0 评论 -
JMS
JMS是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC(Java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商目前都支持 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 So...原创 2010-08-12 15:12:46 · 83 阅读 · 0 评论 -
Java中区分引用类型和原始类型
转自:http://blog.youkuaiyun.com/asp911/archive/2006/02/10/595852.aspx 下表列出了原始类型以及它们的对象封装类。原始类型和封装类 原始类型 封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float doubl...原创 2010-07-20 11:55:01 · 106 阅读 · 0 评论 -
servlet listener 用法
这个用法是针对ServletContextListener的新建一个类: import javax.servlet.ServletContextListener;import ejbModule.common.EJB3Factory;import ejbModule.operation.terminal.AdaptationModelMgr;public cla...原创 2010-05-08 14:50:35 · 90 阅读 · 0 评论