构造方法的特点:1.首先构造方法是基于类,名字必须与类的名字完全相同(构造方法一般是自己编写的类需要初始化)2.每个类都有一个默认的构造方法,既无参数又无返回值,其作用是使用new操作符创建新对象后初始化新建对象3.一旦为类编写构造方法,默认的构造方法将会被覆盖4.编写构造方法的目的是向对象传递参数(一般有参),以及对成员变量进行初始化(一般无参)5.构造方法同样支持方法重载7.构造方法不能被static,final,abstract,synchronized,native等修饰符修饰 创建对象…
Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达). /** * 堆内存溢出demo * VM Options: -Xms6m -Xmx6m */ public class HeapOOM { static class OOMObejct { } public static void main(String[] args) { List<OOMObe…
概述 在前文:java集合源码分析(二):List与AbstractList 和 java集合源码分析(一):Collection 与 AbstractCollection 中,我们大致了解了从 Collection 接口到 List 接口,从 AbstractCollection 抽象类到 AbstractList 的层次关系和方法实现的大体过程. 在本篇文章,将在前文的基础上,阅读 List 最常用的实现类 Arraylist 的源码,深入了解这个"熟悉的陌生人". 一.Array…
JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HOME%就可以取代:x:/jdk1.6.0这一部分 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/activation.jar:$JAVA_HOME/lib/mail.jar 或 CLASSPATH=…
这是根据Hollis的直面java内容习得(有兴趣的可以加他微信公众号) 对于初学者来说,要理解java中的值传递很难理解,为什么说java只有值传递?那引用传递呢? java中的错误理解: 错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递.如果是个引用,就是引用传递. 错误理解二:Java是引用传递. 错误理解三:传递的参数如果是普通类型,那就是值传递,如果是对象,那就是引用传递. 实参与形参 我们都知道,在Java中定义方法的时候是可以定义参数的.比如Java中的…
20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问题.各种队列的实现等. 教材学习内容总结 A summary of textbook 5.1概述 队列是一种线性集合,其元素从一端加入,从另一端删除:队列的顺序是先进先出(First in First out) 与栈的比较:在栈中,其处理过程只在栈的某一端进行,而在队列中,其处理过程可在队列的两端进行. 队列…
本文转载自:http://c.biancheng.net/cpp/html/1782.html Person p=new Person();这是什么?当然是实例化一个对象了.可是这种实例化对象的方法存在一个问题,那就是必须要知道类名才可以实例化它的对象,这样我们在应用方面就会受到限制.那么有没有这样一种方式,让我们不知道这个类的类名就可以实例化它的对象呢?Thank Goodness!幸亏我们用的是java,java就提供了这样的机制. java程序在运行时可以获得任何一个类的字节码信息,包括类…
2018-2019-20172329 <Java软件结构与数据结构>第三周学习总结 教材学习内容总结 <Java软件结构与数据结构>第五章-队列 一.概述 1.队列是什么? 队列是种线性集合,其元素从一端加入,从另一端删除:注:队列是按照先进先出的方式处理的.从队列中删除元素的次序,与放置元素的次序是一样的. 2.队列的构成 (1)方法: 操作 描述 enqueue 向队列末端添加一个元素 dequeue 从队列前段删除一个元素 first 考察队列前端的那个元素 isempty…
20172305 2018-2019-1 <Java软件结构与数据结构>第三周学习总结 教材学习内容总结 本周内容主要为书第五章内容: 队列 线性集合(元素从一端加入,另一端删除) 先进先出(FIFO) 队列前端(front).队列末端(rear) 队列与栈的不同: 1.队列(FIFO)是先进先出,栈(LIFO)是后进先出. 2.处理方式:在栈中,只在栈的某一端进行:在队列中,可在队列的两端进行. 3.栈的作用是颠倒顺序,队列的作用是保持顺序. 4.常见栈的应用场景包括括号问题的求解,表达式的…
继上一篇文章http://www.cnblogs.com/EasonJim/p/6181981.html中说的区别,其实分析的不够彻底,因此再次在这里做详细的分析. 零.Java与Sun.Oracle发展历史: 1.说明:最开始Java是Sun公司的,然后是Oracle(甲骨文)收购了Sun(太阳微系统/Sun Microsystems),最后就是Java变成Oracle了,收购时间为:2009-04-20:所以下文中提到的Sun和Oracle都是具有历史上的关系. 2.参考: http://t…