java
00M
keep alive
展开
-
Eclipse.ini说明
Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效。eclipse.ini是一个文本文件,其内容相当于在Eclipse运行时添加到 Eclipse.exe之后的命令行参数。格式要求1、所有的选项及其相关的参数必须在单独的一行之内2、所有在-vmargs转载 2013-03-13 15:47:52 · 1858 阅读 · 0 评论 -
java Native Method初涉
转自:http://www.iteye.com/topic/72543一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern转载 2012-09-11 21:46:14 · 1471 阅读 · 0 评论 -
再议Static
1、静态变量与静态方法(1)静态变量(方法)存放在方法区,与类信息共处;成员变量(方法)存放在堆中,只有通过对象实例化后引用(2)静态调用非静态,需要实例化对象,通过实例引用;非静态调用静态,只需要类名调用即可2、静态语句块java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就原创 2012-09-27 10:51:04 · 577 阅读 · 0 评论 -
Java GC 算法总结
转自:http://www.blogjava.net/Jack2007/archive/2008/04/11/192288.html引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它转载 2012-09-06 22:16:22 · 1744 阅读 · 1 评论 -
JVM内存管理-----堆内存
Heap堆内存理解一个JVM实例只有一个堆内存,堆内存的大小是可以调节的。类加载器读取类文件后,需要把类文件、方法、常量放入到堆内存中,以便执行器执行,堆内存分为三部分:1. Permanent Space 永久存储区永久存储区是一个常驻内存区域,用于存放JDK自身所携带的Class,Interface的元数据,也就是说它存储的是运行环境必须的类信息,被装载进此区域的数据是转载 2012-09-06 21:07:42 · 862 阅读 · 0 评论 -
Java内存泄漏
转自:http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/问题的提出Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。转载 2012-08-27 20:11:02 · 545 阅读 · 0 评论 -
简单说说java多态
多态有3个条件:1:继承2:重写(重写父类继承的方法)3:父类引用指向子类对象 为什么会出现多态?Java 中的引用变量有两个类型,一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时的类型与运行时的类型不一致就会出现所谓的多态。(Polymorphism)例题如下:原创 2011-11-09 18:36:16 · 1543 阅读 · 0 评论 -
Java 复习
1、成员变量与局部变量成员变量:作为类的成员而存在,直接存在于类中。局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。所有类的成员变量可以通过this来引用。成员原创 2012-08-11 09:56:37 · 661 阅读 · 0 评论 -
2012年百度实习生招聘——java开发
简答题1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如单词army和mary互为兄弟单词。现在要给出一种解决方案,通过用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地提高。解答:这题考试的时候没做出来,我想把一个单词的所有字母组合计算出来都不会算。。。有点郁闷后来上网找了原创 2012-05-06 15:34:17 · 1642 阅读 · 0 评论 -
Java为什么要使用内部类?
1.内部类 首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个 方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口。由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直 接实现这个接口的功能。 不过你可能要质疑,更改一下方法的不就行了吗? 的确,以此作为设计内转载 2012-04-16 16:30:55 · 24556 阅读 · 10 评论 -
Java:使用wait()与notify()实现线程间协作
转自:http://zhangjunhd.blog.51cto.com/113473/71387使用wait()与notify()/notifyAll()可以使得多个任务之间彼此协作。1. wait()与notify()/notifyAll()调用sleep()和yield()的时候锁并没有被释放,而调用wait()将释放锁。这样另一个任务(线程)可以获得当前对象的锁,从而进入它的转载 2012-09-28 15:37:37 · 715 阅读 · 0 评论 -
Java序列化的机制和原理
有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列转载 2012-09-29 09:09:26 · 585 阅读 · 0 评论 -
JUnit的各种断言
转自:http://dongbiying.iteye.com/blog/1002188JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。下面我们来介绍一下JUnit的各种断言。 1、assertEquals 函数原型1:assertEquals([String message],expected,转载 2013-02-20 16:19:10 · 529 阅读 · 0 评论 -
JAVA反射机制的学习
转自:http://hejianjie.iteye.com/blog/136205JAVA语言中的反射机制: 在Java 运行时 环境中,对于任意一个类,能否知道这个类有哪些属性和方法? 对于任意一个对象,能否调用他的方法?这些答案是肯定的,这种动态获取类的信息,以及动态调用类的方法的功能来源于JAVA的反射。从而使java具有动态语言的特性。 JAVA反转载 2012-08-16 22:02:04 · 453 阅读 · 0 评论 -
搜人2013笔试题(java)
今天应该又不少同学去ZD参加搜狗的笔试,由于时间冲突,我选择了去三星。回来看看搜狗的笔试题,总体上感觉还好,不是很“难”(纯粹马后炮)。现奉上题(只关注java部分和DS部分)。字符串问题分析:A:s1==s2为false,前者定义是对象的引用,"abc"存储在堆内存中,而s2中的“abc”存储在常量池中,用s1的栈内存地址和“abc”比较自然是否。B:String是fin原创 2012-09-23 20:45:56 · 2476 阅读 · 0 评论 -
说说Java线程池
线程池的作用线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;如果线程少了会浪费系统资源,多了又会造成系统拥挤效率不高。用线程池控制线程数量,使得其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有任务等待进程,则线程池中的线程处于等待。为什么要用线程池减少了创建和销毁线程的次数,每个工作线程转载 2012-10-12 19:42:21 · 849 阅读 · 0 评论 -
java中多种方式读文件
一、多种方式读文件内容。 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.I转载 2012-10-11 15:37:26 · 764 阅读 · 0 评论 -
Servlet相关知识
什么是Servlet?Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的Servlet是对支持Java的服务器的一般扩充。它最常见的用途是扩展Web服务原创 2012-09-18 14:02:19 · 752 阅读 · 0 评论 -
Java中的hashCode()与equals()
equals()和hashcode()这两个方法都是从object类中继承过来的equals()方法equals()方法在object类中定义如下: public boolean equals(Object obj) { return (this == obj); } 很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、原创 2012-10-08 13:45:29 · 607 阅读 · 0 评论 -
工厂方法模式与抽象工厂模式
一、引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?! 而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍存在的现象。幸运转载 2012-10-02 15:13:17 · 827 阅读 · 0 评论 -
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为转载 2012-09-29 14:40:22 · 523 阅读 · 0 评论 -
Java中的异常处理机制的简单原理和应用
异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间、地点、人物、情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息。 Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.la转载 2012-04-23 19:25:14 · 10044 阅读 · 0 评论 -
java初始化顺序
1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行 3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行 4. 父类构造方法 5. 子类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行 6. 子类构造方法 public abstract class Base { /转载 2012-03-22 22:44:59 · 736 阅读 · 0 评论 -
Java I/O的典型使用形式
//: c11:IOStreamDemo.java// Typical I/O stream configurations.// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002// www.BruceEckel.com. See copyright notice in CopyRight.txt.import java原创 2012-01-04 19:29:07 · 573 阅读 · 0 评论 -
JAVA死锁解密
一般来说,每一种使用线程的语言中都存在线程死锁问题,Java开发中遇到线程死锁问题也是非常普遍。笔者在程序开发中就常常碰到死锁的问题,并经常束手无策。本文分享笔者在JAVA开发中对线程死锁的一些看法。 一. 什么是线程 在谈到线程死锁的时候,我们首先必须了解什么是Java线程。一个程序的进程会包含多个线程,一个线程就是运行在一个进程中的一个逻辑流。多线程允许在程序中并发执转载 2012-02-09 19:39:19 · 826 阅读 · 0 评论 -
Java正则表达式详解
Java正则表达式详解 如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。许多语言,包括Perl、PHP、Python、JavaScri转载 2011-09-14 22:20:26 · 530 阅读 · 0 评论 -
深入理解HashMap
转自:http://www.iteye.com/topic/539465/Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。1、hashmap的数据结构要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一转载 2012-01-30 17:20:37 · 835 阅读 · 0 评论 -
【面试题】Java基础知识
1、迅雷面试题:门面模式的解释、适用场合?门面模式又被称为外观模式,为子系统中的一组接口提供一个一致的界面,该模式定义了一个高层接口,使得这个子系统更加容易使用。举个例子:在做项目或产品的过程中进行跨部门合作的时候,每个部门都有个相应的接口人,那么我们只需和对应部门的接口人交互即可。适用场合:为一个复杂子系统提供一个简单接口:子系统往往因为不断演化而变得越来越复杂,使用门面模式原创 2011-12-13 22:14:41 · 570 阅读 · 0 评论 -
JAVA异常总结 ------ 继承(转载)
以下是对JAVA异常的继承机制的一些总结。 1. RuntimeException与Exception, Error不同点: 当方法体中抛出非RuntimeException(及其子类)时,方法名必须声明抛出的异常;但是当方法体中抛出RuntimeException(包括RuntimeException子类)时,方法名不必声明该可能被抛出的异常,即使声明了,JAVA程序在某个调用的转载 2011-11-28 19:24:22 · 5764 阅读 · 0 评论 -
Java内部类之闭包(closure)与回调(callback)
闭包(closure)是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。通过这个定义,可以看出内部类是面向对象的闭包,因为它不仅包含外围类对象(创建内部类的作用域)的信息,还自动拥有一个指向此外围类对象的引用,在此作用城内,内部类有权操作所有的成员,包括private成员。 Java最引人争议的问题之一就是,人们认为Java应该包含某种类似指针的机制,以允许回调(c转载 2011-11-22 20:18:46 · 7756 阅读 · 0 评论 -
【解惑】领略Java内部类的“内部”
内部类有两种情况:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中内部类的两个特点: (1) 在外部类的作用范围内可以任意创建内部类对象,即使内部类是私有的(私有内部类)。即内部类对包围它的外部类可见。Java代码转载 2011-11-16 21:55:26 · 1868 阅读 · 1 评论 -
java学习惊奇之路
惊奇之一import com.bruceeckel.simpletest.*;public class Equivalence { static Test monitor = new Test(); public static void main(String[] args) { Integer n1 = new Integer(47); Integer原创 2011-10-10 13:18:58 · 486 阅读 · 0 评论 -
java中static关键字
文章大部分内容来自:http://blog.sina.com.cn/s/blog_577d2a00010008ke.html http://developer.51cto.com/art/200701/37490.htm学习本文你到底要学到什么:1、 static在java中到底代表转载 2012-02-23 21:24:49 · 1189 阅读 · 0 评论 -
java中this & super关键字
一、this关键字 1.this是指当前对象自己当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中: 运行结果: s=HelloWorld! 1->this.s=Hello 2->this.s=HelloWorld! 在这个例子中,构造函数A中,参数s与类A的变量s同名,这时如果直接对s进行操作则是对参数s进行操作。若转载 2012-02-27 19:30:05 · 3785 阅读 · 0 评论 -
JAVA中的static方法调用非static方法
转自:http://blog.csdn.net/jc_njj/article/details/51025561、由JVM的执行机制决定了在static方法中是不能直接调用该类的其它非static方法的。 因为类方法(static方法)执行的时候,其所在的堆栈中是没有指向对象的引用的任何信息的,而非static方法在调用的时候又必须要知道调用该方法的对象的引用。所以从这里可以看出,stat转载 2012-03-21 22:33:43 · 17895 阅读 · 3 评论 -
Java学习解疑
话说从去年9月份到现在,也花了近5个月,看完了《java编程思想》。战线的确有拉得够长啊!但好歹坚持看完了!首先就其中几个难以理解的关键字做下总结(大部分内容来自网络),1、static关键字2、this & super3、final关键字再了解java中finalize()方法; 最近搜集了一篇《java中必须了解的几个问题》,问题虽然比较简单,但是还是比较有意义的。原创 2012-02-23 21:12:26 · 645 阅读 · 0 评论 -
java中必须要了解的问题
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello wor转载 2012-03-20 18:39:11 · 788 阅读 · 0 评论 -
Java抽象类与接口
转自:http://www.blogjava.net/chunkyo/archive/2007/01/21/95093.html abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,转载 2012-03-27 22:36:27 · 1064 阅读 · 0 评论 -
java中构造器(Constructor)
大部分内容转自:http://tech.it168.com/j/2006-05-18/200605181021879.shtml 构造器是一个创建对象时被自动调用的特殊方法,为的是初始化。构造器的名称应与类的名称一致。 当创建一个个对象时,系统会该对象的属性默认初始化,基本类型属性的值为0(数值类型),false(布尔类型),把所有的引用类型设置为nu转载 2012-03-27 16:57:02 · 63716 阅读 · 9 评论 -
java下Class.forName的作用
Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pac转载 2012-03-24 13:29:28 · 897 阅读 · 0 评论