java
tuolaji8
这个作者很懒,什么都没留下…
展开
-
恶补计算机基础知识 补码 进制 基本数据类型字节
补码:1.数据在计算机是以补码的形式存放的;2.正数的补码是自身,负数的补码是反码加1;(例如 int x=3; 在32位系统存为0000 0000 0000 0000 0000 0000 0000 0011; int x=-3; 在32位系统存为 1111 1111 1111 1111 1111 1111 1111 1101;(3的反码加1));3.在有符号型字符中,如果计算机原创 2015-08-19 11:07:06 · 776 阅读 · 0 评论 -
Java对象序列化
Java对象序列化 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 只能将支持 java.io.Serializable 接口的对象写入流中。每个 serializable 对象的类都被编码,编码内容包括类转载 2015-09-21 10:09:31 · 352 阅读 · 0 评论 -
return在try-catch-finally语句中的使用
若在 try或catch语句里面有return语句,finally语句和return语句的执行顺序问题:若有finally语句,则无论如何,都会执行该语句,在try或catch中的return语句会将它的返回值压入栈内,然后执行finally语句,当finally执行完成后,若finally语句里有return语句,则执行return语句并结束。若finally没有return语句,则返回被保原创 2015-09-12 10:19:45 · 549 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String 的原因 String:字符串常量 StringBuffer:字符创变量 StringBui转载 2015-09-20 20:54:59 · 369 阅读 · 0 评论 -
深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口转载 2015-09-20 19:36:21 · 454 阅读 · 0 评论 -
组合,聚合,关联,依赖 的区别
组合,聚合,关联,依赖 的区别 依赖与关联依赖(Dependency ) :含义:是类与类之间的连接,表示一个类依赖于另外一个类的定义;依赖关系仅仅描述了类与类之间的一种使用与被使用的关系;体现:在Java和C++中体现为局部变量、方法/函数的参数或者是对静态方法的调用;举例:人依赖于水和空气;汽车依赖汽油;UML图转载 2015-10-12 22:30:40 · 506 阅读 · 0 评论 -
java初始化顺序
类初始化时构造函数调用顺序: (1)要初始化类 Dollar 的成员变量的默认值0、false、null; (2)调用父类构造函数; (3)按顺序分别调用要初始化类 Dollar 成员变量和实例成员变量的初始化表达式; (4)调用本身构造函数。例子:public class Dollar extends Money{ Rmb r=new Rmb();原创 2015-08-16 17:15:30 · 615 阅读 · 0 评论 -
Java关键字final、static使用总结
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final转载 2015-09-20 20:35:12 · 373 阅读 · 0 评论 -
Java中,&&与&,||与|的区别
在java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。&&和&都是表示于,区别是&&只要满足第一个条件,后面条件就不再判断。而&要对所有的条件都进行判断。看下面的程序:[html] view plaincopyprint?public static void main(String[] args) {转载 2015-09-20 20:21:01 · 411 阅读 · 0 评论 -
面向对象三大基本特性,五大基本原则
透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有转载 2015-10-05 09:50:06 · 435 阅读 · 0 评论 -
Java和C++ 比较
整体区别1.C/C++是直接运行在机器上(编译后为机器码),而java编译后产生*.class文件(字节码)是运行在java虚拟机上在(JVM),经过JVM解译(机器码)再放到真实机器上运行。JVM相当于用软件构造了一个计算机,有自己的CPU(假的),内存(也是假的)。C/C++(*.exe)->机器java(*.class)->JVM->机器 这样java程序比c++运行效率低原创 2015-08-19 09:17:51 · 666 阅读 · 0 评论 -
Runnable接口与Thread类的区别
首先看两个考题:1.如果使用Thread t=new Test()语句创建一个线程,则下列叙述正确的是A.Test类一定要实现Runnable接口B.Test类一定是Thread类的子类C.Test类一定是Runnable的子类D.Test类一定是继承Thread类并且实现Runnable接口正确答案:B解析:本题考查线程的使用。Java中可以通过实现R原创 2015-09-20 11:45:32 · 2150 阅读 · 0 评论 -
Java中函数参数的传递是值传递
[java] view plaincopyprint?什么是值传递?什么是引用传递? 值传递是将要传递的值作为一副本传递.如 int i=4; int j=i; 这里相当于把14复制了一个副本给j,结果是i=4,j=4 引用传递,传递的是引用对象的内存地址 int *p,*p1; int j=5; *p=j;转载 2015-09-21 16:49:57 · 557 阅读 · 0 评论 -
对象克隆和对象序列化
关于java对象复制我们在编码过程经常会碰到将一个对象传递给另一个对象,java中对于基本型变量采用的是值传递,而对于对象比如bean传递时采用的是应用传递也就是地址传递,而很多时候对于对象传递我们也希望能够象值传递一样,使得传递之前和之后有不同的内存地址,在这种情况下我们一般采用以下两种情况。1 对象克隆什么是"clone"?在实际编程过程中,我们常常要遇转载 2015-09-21 18:04:48 · 574 阅读 · 0 评论 -
java中的内部类总结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类而心脏又在人体当中,正如同是内部类在外部内当中 实例1:内部类的基本结构1转载 2015-09-20 21:36:24 · 412 阅读 · 0 评论 -
为什么要用内部类
推荐一、 定义放在一个类的内部的类我们就叫内部类。二、 作用1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承4.可以避免修改接口而实现同一个类中两种同名方法的调用。三、 例子1.实现隐藏转载 2015-10-14 11:20:38 · 645 阅读 · 0 评论 -
java 四种内部类区别
Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class 匿名内部类anonymous inner class静态内部类Static Inner Class 最简单的内部类形式。 类定义转载 2015-10-13 18:01:40 · 3166 阅读 · 0 评论 -
Java中匿名类的两种实现方式
使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。下面通过代码来说明:[java] view plaincopyprint?转载 2015-10-14 13:55:11 · 2848 阅读 · 0 评论 -
Java中throws和throw的区别讲解
捕捉异常 用try...catch语句要想捕捉异常,需要提供相符类型的异常处理器。所捕捉的异常,可能是由于自身语句所引发并抛出的异常,也可能是由某个调用的方法或者Java运行时 系统等抛出的异常。也就是说,一个方法所能捕捉的异常,一定是Java代码在某处所抛出的异常。简单地说,异常总是先被抛出,后被捕捉的。当然,你需要明白异常在Java中是以一个对象来看待。并且所有系统定义转载 2015-10-11 20:13:32 · 2805 阅读 · 0 评论 -
java 复制文件
考了两次了都没完全写出来import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyFile { private boolean copy() { try {转载 2015-10-11 19:35:46 · 543 阅读 · 0 评论 -
编译期和运行期区别
编译期和运行期进行的操作是不相同的,编译期只是进行语法的分析,分析出来的错误也只是语法上的错误,而运行期在真正在分配内存··比如说你写一个while循环,一直往栈里写,编译器是不会出错的,可是运行期就会出现栈满的错误··运行时,首先会由将相应的.class文件,加载到内存中,并验证.class文件的有效性,将相应类的Class加载到内存中,并对类中的静态变量进行初始化操作,然后就由 主 类开原创 2015-10-11 12:59:10 · 1907 阅读 · 0 评论 -
checked exception 和 unchecked exception区别
什么是unchecked异常? 即RuntimeException(运行时异常)不需要try...catch...或throws 机制去处理的异常Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承 Throwable,RuntimeException和其它的Exception等继承Exc原创 2015-10-11 20:45:16 · 2643 阅读 · 0 评论 -
Java异常处理中try,catch,finally的各种组合用法
总结一下 java异常处理的各种方式 1.try+catch 程序的流程是:运行到try块中,如果有异常抛出,则转到catch块去处理。然后执行catch块后面的语句 2.try+catch+finally 程序的流程是:运行到try块中,如果有异常抛出,则转到catch块,catch块执行完毕后,执行finally块的代码,再执行finally块后面的代码。如果没有异转载 2015-10-11 13:00:27 · 1294 阅读 · 0 评论 -
精选30道Java笔试题解答 转自程序媛想事儿
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~~~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 下面都是我自己的答案非官方,仅供转载 2015-09-21 10:13:36 · 1031 阅读 · 0 评论 -
java中使用sort()对ArrayList进行排序
java中的ArrayList需要通过collections类的sort方法来进行排序如果想自定义排序方式则需要有类来实现Comparator接口并重写compare方法调用sort方法时将ArrayList对象与实现Commparator接口的类的对象作为参数举个例子:package book.arrayset;import java.util.Com转载 2015-09-13 19:53:00 · 33915 阅读 · 3 评论 -
HashMap工作原理
HashMap存储的实现(put()方法)HashMap采用了一种所谓的“Hash算法”来决定每个元素的存储位置。当程序执行map.put("语文",80.0)时,系统将调用"语文"(即Key)的hashCode()方法得到其hashCode值---每个java对象都有hashCode()方法,都可以通过该方法获得它的hashCode值。得到这个对象的hashCode值之后原创 2015-09-13 17:01:28 · 447 阅读 · 0 评论 -
java反射机制
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助。): [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-转载 2015-09-01 16:23:17 · 419 阅读 · 0 评论 -
理解java的多态
面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开:转载 2015-08-15 16:26:04 · 483 阅读 · 0 评论 -
java中static{}语句块详解 Class.forName()方法
static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例:示例一package Test;class JavaTest { public s转载 2015-08-11 14:14:20 · 1237 阅读 · 0 评论 -
如何使用java synchronized进行线程同步
在java编程思想中对synchronized的一点解释:1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对转载 2015-06-08 17:30:58 · 448 阅读 · 0 评论 -
Vector与ArrayList区别
在写java的时候,基本上都喜欢用arraylist,甚至我都不知道有个vector的存在。查了一下发现又是线程安全问题。。。咋个线程安全天天围着我转呢。。。多得阿里巴巴,让我开始认识java的所谓线程安全问题。the following is from:http://blessed24.javaeye.com/blog/7513361. Vector & ArrayList转载 2015-05-20 11:36:20 · 442 阅读 · 0 评论 -
Java集合类的使用
Java集合类的使用集合类按接口分为以下两类:Collection接口和Map接口Collection接口的特点 List 集合代表一个有序集合,允许集合中存在相同的元素,允许多个null 元素. Set 集合不允许包含相同的元素, 并且最多包含一个null 元素。 Queue 模拟队列的数据结构,关注元素被处理时的顺序, 队列通常以F转载 2015-04-15 21:25:46 · 489 阅读 · 0 评论 -
Java 集合类详解
1.java集合类图1.11.2 上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。 发现一个特点,上述所有的集转载 2015-04-15 21:01:34 · 513 阅读 · 0 评论 -
java int与integer的区别
java.lang.Integer是一个类.对它的操作要通过类的方法 int是JAVA缺省的8中基本数据类型之一.不是类的对象.int是基本数据类型,Integer是对int进行了封装的一个类。 声明为int的变量不需要实例化,声明为Interger的变量需要实例化 int是基本类型,Integer是包装类,也就是类。Integer 是比int 更高级的原创 2015-04-15 10:39:03 · 547 阅读 · 0 评论 -
Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区转载 2015-04-14 21:21:27 · 617 阅读 · 0 评论 -
java内存泄漏例子
看到一篇内存泄露的文章:文章中举了一个内存泄露的例子:Vector v = new Vector(100);for (int i = 1; i{Object o = new Object();v.add(o);o = null;}//文章中描述: 在这个例子中,循环申请Object 对象,并将所申请的对象放入一个Vector 中,如果仅仅释放引用本身,那么原创 2015-08-17 22:59:18 · 1584 阅读 · 0 评论 -
java内存泄漏
Java内存管理机制在C++ 语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。 Java 语言对内存管理做了自己的优化,这就是垃圾回收机制。 Java 的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由 GC ( garbage转载 2015-08-17 23:19:44 · 334 阅读 · 0 评论 -
Java内存构成
Java把内存划分为4个部分1. 代码区 1、栈区 3、堆区 4、静态存储区域和常量存储区域其中栈的存取速度是最快的,所以局部变量以及一些小型的数据都保存在栈区中,对象保存在堆区中。代码区:存储代码栈区:基础数据类型;方法的形式参数,直接在栈空间分配,方法调用完,由栈空间释放;引用数据类型,需要用new来创建,即在栈空间分配一个地址空间(引用),又在原创 2015-08-18 09:28:20 · 408 阅读 · 0 评论 -
java Map及Map.Entry详解
Map是java集合中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法。keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合(键值对),此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map转载 2015-09-13 15:23:11 · 545 阅读 · 0 评论 -
C++与Java的语法区别
首先,两个大的不同是主函数和怎样编译的不同,接下来是许多小的区别。main 函数C++//自由浮动的函数int main( int argc, char* argv[]){ printf( "Hello, world" );}Java// 每个函数都必须是一个类的一部分;当java 运行是一个特定类的主函数会被调用// (因此你可以让每个类都有一个原创 2015-08-10 14:43:27 · 383 阅读 · 0 评论