J2SE 学习
文章平均质量分 58
dui123
这个作者很懒,什么都没留下…
展开
-
Java的内存泄漏
Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。 随着越来越多的服务器程序采用Java技术,例如JS转载 2007-07-22 15:07:00 · 536 阅读 · 0 评论 -
java基础知识二
101、java中会存在内存泄漏吗,请简单描述。 会。如:int i,i2; return (i-i2); //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。 102、java中实现多态的机制是什么? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading转载 2007-08-27 23:42:00 · 414 阅读 · 0 评论 -
synchronized的作用
synchronized的作用 一、同步方法public synchronized void methodAAA(){//….}锁定的是调用这个同步方法的对象测试:a、不使用这个关键字修饰方法,两个线程调用同一个对象的这个方法。目标类:1public class TestThread {2 public void execute(){ //synchronized,未修饰转载 2007-08-30 23:00:00 · 464 阅读 · 0 评论 -
同步(synchronized)对程序性能的影响!
在使用多线程时,可能会访问一些全局的数据,这时必然会使用同步机制来使程序按照一定顺序来执行,这样程序的性能也会下降。所以一定要慎用同步,正确用同步。看下面的程序 int curIndex = 0; AuditQueueEntry aqe; synchronized (localCriticalSection) { wh转载 2007-08-31 01:34:00 · 2525 阅读 · 0 评论 -
java基础知识一
1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。转载 2007-08-27 23:35:00 · 561 阅读 · 0 评论 -
java基础知识(线程方面)
1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runnable接口 用synchronized关键字修饰同步方法 反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修转载 2007-08-27 23:45:00 · 590 阅读 · 0 评论 -
线程的生命周期和转换
线程(thread, 台湾称 执行绪)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。 线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,转载 2007-09-02 02:05:00 · 3659 阅读 · 1 评论 -
追MM与设计模式
创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建转载 2007-09-05 17:45:00 · 442 阅读 · 0 评论 -
追MM与设计模式(Factory代码)
FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory下面是我写的一个代码For Factory//鸡翅膀基类(ChickenWing.java)public abstract class ChickenWing{}//麦当劳鸡翅膀子类(Mc转载 2007-09-05 17:46:00 · 379 阅读 · 0 评论 -
java内部类总结
内部类:1,概述内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用PROTECTED和PRIVATE修饰。(而外部类不可以:外部类只能使用PUBLIC和DEFAULT)。2,分类成员内部类、局部内部类、静态内部类、匿名内部类(图形是要用到,必须掌握)。3,使用方法A,成员内部类:作为外部类的一个成员存在,与外部类转载 2007-09-16 02:09:00 · 523 阅读 · 0 评论 -
深入理解嵌套类和内部类
一、什么是嵌套类及内部类? 可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种: 其一、在一个类(外部类)中直接定义的内部类; 其二、在一个方法(外部类的方法)中定义的内部转载 2007-09-16 02:05:00 · 441 阅读 · 0 评论 -
同步、异步、阻塞和非阻塞的概念
同步、异步、阻塞和非阻塞的概念在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务转载 2007-09-15 00:47:00 · 510 阅读 · 0 评论 -
很不错的JAVA学习笔记
1.关于参数的传递class ValHold{ public int i = 10;}public class ObParm{public void amethod(){ValHold v = new ValHold();another(v);System.out.println(v.i);}public void another(ValHold v){v.i = 20;ValHold vh转载 2007-09-16 01:52:00 · 457 阅读 · 0 评论 -
Java中静态关键字的使用和内部类的调用
1.顶级类 1) 可以定义任何静态和非静态的成员; 2) 顶级类不能是静态(static)的,若要加上其它关键字只能是public,final,abstract 3) 抽象类(abstract)和接口(interface)不能是final的. 4) 顶级类的静态方法中:可以直接访问该类的静态成员;访问非静态成员通过“new 顶级类().成员“的方法访问。访问静态内部类的成员通转载 2007-09-16 02:11:00 · 1053 阅读 · 0 评论 -
JAVA基础测试中异常问题汇总
1、第一个JAVA例程:hello world 执行时的问题:problems Executing Hello如果你看到下面的错误提示:java is not recognized as an internal or external command, ...orjava: Command not found.那么你或许没有安装java或者在环境变量中并没有设置path路径java/bin目录转载 2007-10-15 11:18:00 · 611 阅读 · 0 评论 -
java 文件操作
流、文件及基于文本的应用1、流式输入与输出为进行数据的输入、输出操作,Java中把不同的输入、输出源(键盘、文件、网络连接等)抽象为“流”(Stream),有两种基本的流:输入流和输出流。(1)输入流:只能从中读取数据,而不能向其写出数据。(2)输出流:只能向其写出数据,而不能从中读取数据。流实际上指在计算机的输入与输出之间运动的数据的序列,流序列中的数据既可以是未经加工的原始转载 2008-04-24 02:00:00 · 573 阅读 · 0 评论 -
java基础知识三
1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 2、Anonymous Inne转载 2007-08-27 23:43:00 · 506 阅读 · 0 评论 -
Java程序的输入与输出
Java程序的输入与输出这一章我们讨论Java程序的输入与输出。Java在I/O方面提供了众多支持,使我们的工作得到大大的简化。我们将学习利用这些支持以完成各种复杂的输入、输出。7.1 理解java.io的类继承关系 首先,让我们考察Java提供的常用输出输出流类(图7.1)。由于类的数目较多,没有列出1.1版本中新增的字符流类。在图7.2中,我们把字符流类与字节流类作了对比,在该图中可转载 2007-08-03 21:10:00 · 1138 阅读 · 0 评论 -
String总结
String既可以作为一个对象来使用,又可以作为一个基本类型来使用。导致String类比较特殊,容易混淆。这里指的作为一个基本类型来使用只是指使用方法上的。比如String s= "Hello",它的使用方法如同基本类型int一样,如int i=1;,而作为一个对象来使用,则是指通过new关键字来创建一个新对象,如String s = new String("Hello")。转载 2007-07-22 20:19:00 · 523 阅读 · 0 评论 -
关于Java栈与堆的思考
原文:http://blog.csdn.net/zdmilan/archive/2005/10/29/519182.aspx讲的非常好,清楚明了。1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2.栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存转载 2007-07-22 14:12:00 · 424 阅读 · 0 评论 -
栈内存和堆内存
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为改变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理转载 2007-07-22 14:38:00 · 950 阅读 · 1 评论 -
为什么方法体内部不能有任何权限修饰符。
任何在方法内的变量,绝对不能有任何权限修饰符比如public ,private ,protected,static 等,但是可以是final. 不能使用权限修饰符,是因为方法内声明的变量都是局部变量,只在方法体内部有效,和权限修饰符有冲突,所以不能在变量前面加任何权限修饰符,static的变量是类变量或全局变量,也是一样的道理.原创 2007-07-22 20:14:00 · 929 阅读 · 0 评论 -
Java中static、this、super、final用法
Java中static、this、super、final用法(转载)一、static请先看下面这段程序:public class Hello{public static void main(String[] args){ //(1)System.out.println("Hello,world!"); //(2)}} 看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Ja转载 2007-07-27 19:58:00 · 425 阅读 · 0 评论 -
用Java实现几种常见的排序算法
用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等。 插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * @author treeroot * @since 2006-转载 2007-07-27 20:06:00 · 483 阅读 · 0 评论 -
接口的变量为什么必须是常量!
接口就是提供一种统一的协议,而接口中的属性也属于协议中的成员.它们是公共的,静态的,最终的常量.相当于全局常量.抽象类是不完全的类,相当于是接口和具体类的一个中间层.即满足接口的抽象,也满足具体的实现.如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这原创 2007-07-27 20:12:00 · 2487 阅读 · 1 评论 -
彻底学习java中的重载与覆盖
彻底学习java中的重载与覆盖初次见到这两个单词并没有什么特别的感觉,但是时间长了,却发现书上一会儿用override,一会儿又用overload,搞得我的迷迷糊。于是就做了个总结,希望能对和我一样对这两个概念模糊不清的网友有一个帮助。override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只转载 2007-07-27 20:04:00 · 723 阅读 · 0 评论 -
请不要忽视这些基础知识
第一,谈谈final, finally, finalize的区别。 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。第二,Anonymous Inner转载 2007-08-01 10:57:00 · 520 阅读 · 0 评论 -
Java 虚拟机类装载:原理、实现与应用
Java 虚拟机类装载:原理、实现与应用 一、引言 Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。 二、Java虚拟机的类装载实现与应用转载 2007-08-01 11:26:00 · 539 阅读 · 0 评论 -
jvm装入原理
操作系统装入jvm是通过jdk中java.exe来完成,通过下面4步来完成jvm环境.1.创建jvm装载环境和配置2.装载jvm.dll3.初始化jvm.dll并挂界到JNIENV(JNI调用接口)实例 4.调用JNIEnv实例装载并处理class类。在我们运行和调试java程序的时候,经常会提到一个jvm的概念.jvm是java程序运行的环境,但是他同时一个操作系统的一个应用程序一个进程转载 2007-08-01 11:39:00 · 524 阅读 · 0 评论 -
List,set,Map 的用法和区别等
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。转载 2007-08-01 10:48:00 · 577 阅读 · 0 评论 -
java中的io系统总结.
java中的io系统总结java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换字符为导向的stream的stream。(很难理解么?)以字节为导向的stream------InputStream/OutputStreamInputStream 和 OutputStream是两个abstact类转载 2007-08-03 21:08:00 · 600 阅读 · 0 评论 -
Java 关于中文乱码问题的解决方案与经验
Java 关于中文乱码问题的解决方案与经验Java 关于中文乱码问题的解决方案与经验一、字节和unicode Java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的。因此Java要对这些字节流经行转化。char是unicode的,而byte是字节。Java中byte/char互转的函数在sun.io的包中间有。其中ByteToCharCo转载 2007-08-03 21:20:00 · 11586 阅读 · 0 评论 -
java全方位学习,列出所有重点
列出java语言的所有重点java 2全方位学习 J2ME无线java应用开发 JAVA手机程序设计入门与应用 1、对于一般PC平台来说,Java的程序分成两大类,一个是在PC的操作系统上通过JVM直接运行的Java Application,另一种是通过浏览器中附带的JVM运行的Java Applet。2、。3、javac,java,appletviewer。4、java是用unicod转载 2007-08-03 21:26:00 · 1236 阅读 · 0 评论 -
Java 理论与实践: 处理 InterruptedException
很多 Java™ 语言方法,例如 Thread.sleep() 和 Object.wait(),都可以抛出 InterruptedException。您不能忽略这个异常,因为它是一个检查异常(checked exception)。但是应该如何处理它呢?在本月的 Java 理论与实践中,并发专家 Brian Goetz 将解释 InterruptedException 的含义,为什么会抛出 Inte转载 2008-05-06 01:55:00 · 606 阅读 · 0 评论