Java面试笔试题大全
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。[@more@]2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派
[转载]一篇不错的讲解Java异常的文章
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?[@more@]1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid, name from user"); 7 while (rs.next()) 8 { 9 out.println("ID:" + rs.getString("uid") // ⑹ 10 ",姓名:" + rs.getString("name
[转载]關於javac命令
可能有些人不在乎這些,但是,如果你想使JAVA水平提高,那麼這些命令還是要知道的,不說其它的,你可以寫個類似JAVAC命令的程序來嗎?在之前,我們都可以自己編寫代碼實現需要的JAVAC來編譯源文件,從而實現JAVA代碼的動態性,對於Java 6, compiler API提供编程访问javac,可以实现进程内编译,动态产生Java代码。那麼JAVAC命令你就要有所了解。[@more@]结构javac [ options ] [ sourcefiles ] [ @files ]参数可按任意次序排列。options 命令行选项。 sourcefiles 一个或多个要编译的源文件(例如 MyClass.java)。 @files 一个或
[转载]探討類加載機制
每個JAVA程序至少有三個類加載器,它們是:1.引導類加載器(bootstrap class loader)2.擴展類加載器(Ext class loader)3.系統類加載器(System class loader/Application class loader)[@more@]引導類加載器負責加載系統類,通常從rt.jar那裡加載。擴展類加載器用於從jre/lib/ext目錄加載一個標準的擴展名,比如:自己擴張了JAVA的一些類可以放到那個目錄下使用。系統類加載器負責加載應用程序類,我們可以用-classpath命令實現加載應用程序類我們可以根據需要實現自己的類加載器或者使用父類加載器,使我們的JAVA程序動態化。現在,
[转载]java线程
在论坛上面常常看到初学者对线程的无可奈何,所以总结出了下面一篇文章,希望对一些正在学习使用java线程的初学者有所帮助。[@more@]首先要理解线程首先需要了解一些基本的东西,我们现在所使用的大多数操作系统都属于多任务,分时操作系统。正是由于这种操作系统的出现才有了多线程这个概念。我们使用的windows,linux就属于此列。什么是分时操作系统呢,通俗一点与就是可以同一时间执行多个程序的操作系统,在自己的电脑上面,你是不是一边听歌,一边聊天还一边看网页呢?但实际上,并不上cpu在同时执行这些程序,cpu只是将时间切割为时间
[转载]java问题集锦
问: 如何获得某一个目录下的文件列表? 答:以“c:/Windows/.”目录为例,获得该目录下文件列表的代码为: File MyDir = new File(“C:/Windows/.”); String[] FileNames=MyDir.list();问:利用如下代码拷贝中文文件,为什么出错? int c; while ((c = MyFileReader.read()) != -1) MyFileOutputStream.write(c);答:利用如下代码片断拷贝中文文件不会出错: int c; while ((c = MyFileReader.read()) != -1) MyFileWriter.write(c);原代码造成出错的原因是:FileReader.read()返回一个int型数值,其取值范围是0 到65535,通常来说是两个
[转载]Java虚拟机的深入研究
Java虚拟机的深入研究作者:刘学超 1 Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。[@more@]它们的关系如下图所示:图1 Java四个方面的关系运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Ja
[转载]Java堆的管理--垃圾回收
Java堆的管理--垃圾回收1 引言Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。[@more@]一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JVM在实现的时候都有一个由垃圾回收所管理的堆。垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃
[转载]JVM的垃圾回收机制详解和调优
1.JVM的gc概述gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。[@more@]在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数OLTP应用程序则注重整体效率。理解了应用程序的工作负荷和jvm支持的垃圾收集算法,便可以进行优化配置垃圾收集器。垃圾收集的目的在于清除不再使用的对象。g
[转载]通过实例学习Java对象的构造过程
本文提供一个项目中的错误实例,提供对其观察和分析,揭示出Java语言实例化一个对象具体过程,最后总结出设计Java类的一个重要规则。通过阅读本文,可以使Java程序员理解Java对象的构造过程,从而设计出更加健壮的代码。本文适合Java初学者和需要提高的Java程序员阅读。[@more@]作者曾经在一个项目里面向项目组成员提供了一个抽象的对话框基类,使用者只需在子类中实现基类的一个抽象方法来画出显示数据的界面,就可使项目内的对话框具有相同的风格。具体的代码实现片断如下(为了简洁起见,省略了其他无关的代码):public abstract clas
[转载]Java程序员的存储过程
本文阐述了怎么使用DBMS存储过程。我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet。本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历。[@more@]存储过程是指保存在数据库并在数据库端执行的程序。你可以使用特殊的语法在Java类中调用存储过程。在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果。 使用存储过程拥有和使用基于EJB或CORBA这样的应用服务器一样的好处
[转载]JAVA中的指针,引用及对象的clone
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。[@more@]看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的代码不亚于使用早已臭名昭著的&qu
[转载]java文件操作大全
文件的建立/检查与删除 <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.io.*"%> <html> <head> <title>文件的建立、检查与删除</title>[@more@]</head> <body> <% String path=request.getRealPath(""); //out.println(path); File f=new File(path,"File.txt"); //out.println(f); //out.println(f.exists()); if(f.exists()){//检查File.txt是否存在 f.delete();//删除File.txt文件 out.println(path + "
[转载]Java精华积累:每个初学者都应该搞懂的问题!
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?[@more@]回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任
[转载]jar和javadoc的用法
jar使用说明功能说明: Java归档工具 语法: jar [ 命令选项 ] [manifest] destination input-file [input-files] 补充说明: jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。[@more@]将applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,可以用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,
[转载]Java面向对象程序设计之接口应用
Java语言提供了一种接口(interface)机制。这种接口机制使Java的面向对象编程变得更加灵活。我们可以用接口来定义一个类的表现形式,但接口不能包含任何实现。在《Thinking in Java》一书中,作者对接口有这样的描述:“接口(interface)比抽象(abstract)的概念更进了一步。你可以把一个接口看成是一个纯的抽象类。”我认为作者对接口的这一解释再准确不过了。理解并用好接口机制将帮助我们更好的掌握Java这种面向对象的编程语言。下面我们来讨论一下接口的使用规则以及相关的应用。[@more@]一、接口的定义及实现 定义接口和定义类
[转载]学习Design Pattern 笔记
[转载]学习Design Pattern 笔记过于僵硬:不能轻松的加入新的功能过于脆弱:修改一处可能波及到很多其他的地方复用率低:现有的代码依赖于其他的东西,想要重用这个代码就很困难黏度过高:改动总是以破坏原始意图和原始设计框架的方式进行设计原则1、OCP原则(开闭原则) [@more@]Software entities should be opon for extension but closed for modification. 对可变性的封装:当一个组件被认为是可变的时候,应该对这个可变性的组件进行封装,以便使其内部的变化只作用在内部范围内,不会延伸到其他地方。 一个可变性的不同的表象就是同