Java知识点
文章平均质量分 85
PengJune
这个作者很懒,什么都没留下…
展开
-
【分享】经典常用算法 Java和C语言两种实现
通过Java C语言分别实现各种算法,图文并茂,描述很详细! 主要包括如下算法,很全面! 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 字串核对 双色、三色河内塔 背包问题(Knapsack Problem) 数、运算 蒙地卡罗法求 PI Eratosthenes筛选求质数 超长整数运算(大数运算) 长 PI 最大公因数、...2009-10-08 09:45:07 · 228 阅读 · 0 评论 -
Java中Collection和Collections的区别
今天翻看Java笔试题,发现有这样问题,比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collecti...2009-10-16 13:28:28 · 465 阅读 · 0 评论 -
Java中HashMap的实现
HashMap可谓JDK的一大实用工具,把各个Object映射起来,实现了“键--值”对应的快速存取。但实际里面做了些什么呢? 在这之前,先介绍一下负载因子和容量的属性。大家都知道其实一个 HashMap 的实际容量就 因子*容量,其默认值是 16×0.75=12; 这个很重要,对效率很一定影响!当存入HashMap的对象超过这个容量时,HashMap 就会重新构造存取表。这就是一个大问题,...原创 2009-10-17 00:42:16 · 108 阅读 · 0 评论 -
Java中对Clone的理解
面试中经常遇到Clone的相关知识,今天总算是把Clone理解的比较透彻了!Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的? 1. Clone和Copy 假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通常我们会有这样的赋值U...2009-10-17 15:35:27 · 253 阅读 · 0 评论 -
Java操作(DOM、SAX、JDOM、DOM4J)xml方式的四种比较与详解
1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,...原创 2009-10-18 11:33:47 · 139 阅读 · 0 评论 -
Java类加载原理及类加载器
Java和其他语言不同的是,Java是运行于Java虚拟机(JVM)。这就意味着编译后的代码是以一种和平台无关的格式保存的,而不是某种特定的机器上运行的格式。这种格式和传统的可执行代码格式有很多重要的区别。具体来说,不同于C或者C++程序,Java程序不是一个独立的可执行文件,而是由很多分开的类文件组成,每个类文件对应一个Java类。 另外,这些类文件并不是马上加载到内存,而是当程序需要的时候才加...原创 2009-10-18 20:11:33 · 158 阅读 · 0 评论 -
Java中静态变量的适用场景
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子,你可以发现合理应用静态变量带来的好处: public class WeekA{ static class Data { priva...2009-10-20 00:34:12 · 411 阅读 · 0 评论 -
Java中泛型的本质
泛型在Java中经常用到。泛型在本质上是指类型参数化。所谓类型参数化,是指用来声明数据的类型本身,也是可以改变的,它由实际参数来决定。在一般情况下,实际参数决定了形式参数的值。而类型参数化,则是实际参数的类型决定了形式参数的类型。 举个简单的例子。方法max()要求返回两个参数中较大的那个,可以写成:Integer max(Integer a, Integer b){ re...2009-10-20 15:09:50 · 213 阅读 · 0 评论 -
Java中通过缓冲区提高I/O系能
我们知道Java中一般的输入输出流类都是用单字节的读取方法来进行I/O操作的,也就是说每次只读写一个字节的数据,这种方法显然繁琐低效。如果从设备读取10M的文件,每次读取一个字节,完成操作将需要做10M/次I/O操作,I/O操作又是一件相当耗时的事情,无疑在很大程度上降低了系统的性能。 Java中专门提供提高I/O效率的缓冲类,这好比在数据读写时提供一个临时缓冲区,每次读取一...2009-10-21 11:59:01 · 233 阅读 · 0 评论 -
Java 1.6 新特性
一:Desktop类和SystemTray类 在JDK1.6中,AWT新增加了两个类:Desktop和SystemTray。 前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。 二:使用JAXB2来...原创 2009-10-22 11:02:13 · 183 阅读 · 0 评论 -
Java中ArrayList和LinkedList区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为Array...原创 2009-10-23 14:52:06 · 303 阅读 · 0 评论 -
Java中抽象类和接口的区别
Abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意。其实,两者之间还是有很大的区...原创 2009-10-24 11:43:01 · 188 阅读 · 0 评论 -
Java面试中遇到的一些经典算法题目
1.写一个方法,用一个for循环打印九九乘法表 /** * 打印九九乘法口诀表 */ public void nineNineMulitTable(){ for (int i = 1,j = 1; j <= 9; i++) { System.out.print(i+"*"+j...原创 2009-10-26 20:40:43 · 394 阅读 · 0 评论 -
Java知识点汇总
在Java学习尤其是笔试面试中,经常遇到这些知识点,有些内容是本人总结,有些是从网上转载的,希望对学习Java的朋友能有所帮助!Java中泛型的本质Java中静态变量的适用场景Java类加载原理及类加载器Java中对Clone的理解Java中HashMap的实现Java中Collection和Collections的区别Java数组浅析Java代码优化编程J...2009-10-26 20:44:51 · 310 阅读 · 0 评论 -
Java数组浅析
数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。注意:如果你熟悉C/C++,请注意, Java数组的工作原理与它们不同。 1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。...原创 2009-10-16 13:14:44 · 134 阅读 · 0 评论 -
Java代码优化编程
可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用java.lang.String类和java.util....原创 2009-10-16 01:03:31 · 210 阅读 · 0 评论 -
Java各种排序算法(含代码)
Java各种排序算法集合: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、基数排序) ...... 大家觉得有用的请下载,别忘了顶下帖子! 相关链接:★【分享】经典常用算法 Java和C语言两种实现 ★ Java基础知识点汇总 ...2009-10-08 09:55:35 · 159 阅读 · 0 评论 -
Java中的引用概念
Java对对象和基本的数据类型的处理是不一样的。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为"值传递"。而...2009-10-11 15:06:49 · 202 阅读 · 0 评论 -
Java多线程相关知识
1)wait() notify() sleep()sleep是Thread类的函数,wait和notify是Object的函数。sleep的时候keep对象锁,wait的时候release 对象锁。sleep时监控状态依然保持。wait进入等待池,只有针对该对象发出了notify才会进入对象锁池。Sleep时间过了就会恢复运行,wait后等到notify了,也不一定是立即运行。...2009-10-11 15:58:29 · 149 阅读 · 0 评论 -
Java中的垃圾回收算法
1)垃圾回收的两个关键要素:发现无用对象。回收无用对象的内存空间。 2)6种垃圾回收算法: 引用计数法,tracing 算法,compacting算法,copying 算法,generation算法,adaptive算法。 3)detail:引用计数法(Reference Counting Collector)引用计数法是唯一没有使用根集的垃圾回收的法,该算...2009-10-11 15:59:59 · 136 阅读 · 0 评论 -
Java IO流相关知识
1)InputStream的基本方法 int read() throws IOException 读取一个字节以整数形式返回,如果返回-1已到输入流的末尾 void close() throws IOException 关闭流释放内存资源 long skip(long n) throws IOException 跳过n个字节不读2)OutputStream的基本方法 v...2009-10-12 00:04:35 · 138 阅读 · 0 评论 -
JVM ClassLoader机制
1)三个类加载器:bootstrap classloader - 引导(也称为原始)类加载器,它负责加载Java的核心类。extension classloader - 扩展类加载器,它负责加载JRE的扩展目录中JAR的类包。system classloader - 系统(也称为应用)类加载器,加载应用程序的类。bootstrap classloader不是一个真正的ClassLo...2009-10-12 12:53:27 · 123 阅读 · 0 评论 -
Java中的synchronized使用
synchronized的两种使用方法: 1)同步对象 synchronized(对象名){临界区}2)同步方法 public synchronized方法名(参数){临界区} synchronized关键字可以让我们把任何一个Object对象做为同步对象来看待,而Java为每个Object都实现了wait()和notify()方法。它们必须用在被synchronized同步的...2009-10-12 18:39:02 · 107 阅读 · 0 评论 -
Java中的反射机制
★ Java知识点汇总 全球软件项目外包平台 兼职做外包 挣Money!1)概念:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2)功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在...2009-10-13 00:43:57 · 188 阅读 · 0 评论 -
Java中Heap与Stack的区别
1) Heap是 Stack的一个子集。 2) Stack存取速度仅次于寄存器,Stack里面的数据可共享,但是其中数据的大小和生存期必须在运行前确定。 3) Heap是运行时可动态分配的数据区,从速度看比Stack慢,Heap里面的数据不共享,大小和生存期都可以在运行时再确定。 4) new关键字 是运行时在Heap里面创建对象。每new一次都一定会创建新对象,因为堆数据...2009-10-13 08:53:59 · 249 阅读 · 0 评论 -
Java中String和StringBuffer的区别
★ Java知识点汇总 全球软件项目外包平台 兼职做外包 挣Money! Java笔试题经常考到“String和StringBuffer的区别”,对于二者区别网上已经有很多,实际应用中也要主要到二者的区别,二者性能的差别很大。本人通过小例子来比较二者性能,效果显著! String:是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. ...2009-10-14 00:40:08 · 159 阅读 · 0 评论 -
Java中Comparable和Comparator实现对象比较
★ Java知识点汇总 全球软件项目外包平台 兼职做外包 挣Money! 当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。下面通过两个例子分别用Comparable和Comparator实现对User对象中年龄排序。 1.通过实现Comparable接口,根据User的年龄进行排序。...2009-10-15 00:03:01 · 212 阅读 · 0 评论 -
Java中的JNDI (Java命名与目录接口)
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JND...原创 2009-10-16 00:19:44 · 208 阅读 · 0 评论 -
Java事件处理机制与“恋爱关系”
JAVA中事件处理机制是观察者模式或者说委托(授权)管理的一种。 1、在理解JAVA中事件处理机制前我们必须先理解三个重要的概念: 事件源:产生事件的对象; 事件处理器(监听器):负责处理事件的方法。 事件对象:用于在事件源与事件处理器间传递信息的桥梁。 它们之间的关系是:当事件源产生事件时,通过事件调用监听器相应的事件处理方法。 2、通过恋爱关系模拟事件处理机...原创 2009-10-16 00:43:49 · 237 阅读 · 0 评论 -
通过问答方式学习JDBC
l. 连接到数据库的方法 答:1) ODBC(Open Database Connectivity) 一个以C语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。 2) JDBC Java版本的ODBC 2. JDBC应用编程接口 答:JDBC应用编程接口是: 1) 标准的数据访问接口,可以连到不同的数据库; 2) ...原创 2009-11-05 15:24:08 · 150 阅读 · 0 评论