基础知识
comcug
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
final字段的使用
如果一个字段被定义为final,那么zh原创 2014-10-27 22:48:43 · 1479 阅读 · 0 评论 -
java中深拷贝和浅拷贝的区别
浅拷贝是复制原对象的一个副本到另一个地方,原对象和拷贝后对象的地址不同。在拷贝对象中存在值类型和引用类型,值类型是完全拷贝,在拷贝对象中有一个一样的值类型,对拷贝对象中值类型的改变不会影响原对象。但是拷贝对象中的引用类型和原对象中的引用类型的地址相同,指向同一个对象,对拷贝对象中引用类型的改变会影响原对象中的引用类型,也就是说拷贝对象在拷贝时只是拷贝了引用类型的地址。浅拷贝的实现是通过直接实现原创 2015-04-08 10:23:42 · 605 阅读 · 0 评论 -
序列化和反序列化
这次我们讲的是控制对象的序列化和反序列化 控制序列化就是有选择的序列化对象,而不是把对象的所以内容都序列化,前篇我们的例子中介绍了transit变量和类变量(static)不被序列化,现在我们还有一种更为灵活的控制对象序列化和反序列方法,可以在序列化过程中储存其他非this对象包含的数据 我们现在再来介绍一个接口 java.io.Externalizable 。当对象实转载 2015-04-07 11:29:23 · 350 阅读 · 0 评论 -
sleep,wait和yield的区别
首先sleep是属于类Thread的方法,而wait是属于Object的方法 sleep使用的时候需要指定sleep的时间。sleep方法执行的时候,该线程并不会放弃对象锁,一直处于监控状态。等待指定的时间完了之后再重新获取该对象。而wait方法在使用的时候不需要指定等待时间,wait方法执行时会放弃对象锁,只有当另一个线程调用nofity或者notifyall方法时才重新获取原创 2015-04-06 16:52:19 · 1043 阅读 · 0 评论 -
java中this和super的区别和联系
1、this是一个指向本对象的指针,而super是一个java的关键字2、this和super不能同时出现在同一个构造方法中3、this出现在构造方法中表示调用本类的其它构造方法,super出现在构造方法中表示调用父类的构造方法4、this出现在普通方法中表示对象调用者,super出现在普通方法中表示调用父类中被覆盖的同名方法5、this和super出现在类的构造方法中都必须写在第原创 2015-04-06 16:38:01 · 634 阅读 · 0 评论 -
java中堆和栈的不同
内存区域主要分为堆、栈、代码区和数据区其中代码区主要存放程序中的二进制代码数据区主要用于存放常量数据。java中的堆和栈都是内存的一部分。它们之间的区别主要体现在以下方面。1、分配时机的不同对于栈和堆来说都是运行时分配存储空间,但是栈是在进入代码区域的时候就要确定需要分配的存储空间的大小。而堆可以在运行过程中动态的分配内存空间大小,如动态创建对象。2、存储内容的不同栈主原创 2015-04-05 15:43:17 · 370 阅读 · 0 评论 -
堆栈的区别
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译转载 2015-04-05 16:11:18 · 2117 阅读 · 0 评论 -
堆和栈以及静态存储区分配时机的不同
按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求.栈式存储分配也可称为动态存储分配,是由转载 2015-04-05 15:25:54 · 784 阅读 · 0 评论 -
java中的静态内部类
两种内部类Java的内部类有两种,一种是静态内部类,另一种是普通内部类,普通内部类可以获得外部对象的引用,所以在普通内部类能够访问外部对象的成员变量 ,也就能够使用外部类的资源,可以说普通内部类依赖于外部类,普通内部类与外部类是共生共死的,创建普通内部类的对象之前,必须先创建外部类的对象。创建普通内部类的代码如下:Outer o = new Outer();转载 2014-11-14 23:06:12 · 344 阅读 · 0 评论 -
java中的动态绑定和静态绑定
public class TestOverwrite { public static void main(String []args){ Father father = new Son(); Son son = new Son(); father.show(son); //s转载 2014-11-14 09:24:30 · 414 阅读 · 0 评论 -
java中断言的使用
理解和正确使用Java中的断言(assert)一、语法形式: Java2在1.4中新增了一个关键字:assert。在程序开发过程中使用它创建一个断言(assertion),它的语法形式有如下所示的两种形式:1、assert condition; 这里condition是一个必须为真(true)的表达式。如果表达式的结果为true,那么断言为真,并且无任何行动转载 2014-11-15 11:21:52 · 2423 阅读 · 0 评论 -
static关键字的使用
如果一个域被定义为static,mame原创 2014-11-13 10:54:25 · 269 阅读 · 0 评论 -
java中只有值传递,没有引用传递
今天,我在一本面试书上看到了关于java的一个参数传递的问题:写道java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这一特性很是熟悉!结果发现,我错了!答案是:值传递!Java中只有按值传递,没有按引用传递! 回家后我就迫不及待地查询了这个问题,觉得自己对j转载 2014-11-13 11:40:51 · 312 阅读 · 0 评论 -
java中的非虚方法
要了解java中的非虚方法首先要明白虚方法的定义,在C++中的虚方法是指由virtual关键字修饰,在继承时才能确定是调用的父类方法或是子类方法。在java中虚方法是指在编译阶段和类加载阶段都不能确定方法的调用入口地址,在运行阶段才能确定的方法。在java中的非虚方法有三种: 1、由invokestatic指令调用的static方法,这种方法在编译时确定在运行时不会改变。 2、由inv原创 2015-04-20 10:12:33 · 1493 阅读 · 0 评论
分享