`
jythoner
  • 浏览: 609011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java基础学习笔记

    博客分类:
  • Java
阅读更多
1.Java语言的特点:面向对象,跨平台,多线程

2.Java运行环境:JVM+Java API

3.数据类型:
boolean 1
char 16
byte 8
short 16
int 32
long 64
float 32
double 64

4.面向对象:
封装:类 
继承:单一继承 
多态:重写(Overridding)与重载(Overloading)
在子类中,方法的参数个数和返回值都与父类相同,称为重写
在同一个类中,方法的参数不同,称为重载

5.作用域:
private 子类不能继承
default 如果不在同一包中,子类不能继承
protected
public
       
6.垃圾回收原理:有向图原则(另一种为计数器类型),可能会有内存泄漏,计数器类型与有向图类型相比:效率更高,但是精度偏低,因为它很难发现变量循环引用的问题
会有内存泄漏的代码:
Vector v=new Vector(10)
for (int i=0;i<10;i++){
    Object o=new Object();
    v.add(o);
    o=null;
}
解决方法:
v=null;

7.栈与堆:原始数据类型存放在栈里,对象数据类型存放在堆中,栈中存放堆中的地址。

8.变量比较:==比较的是栈,原始数据类型相同,但是引用类型值不等,equals比较的是堆,特例是string,java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。

9.变量复制:原始数据类型复制的是值,引用数据类型复制的是栈中的引用,所以当一个修改的时候,会影响另一个。对象复制:Object.clone()方法

10.引用传递和值传递:原始数据类型传递的是值,引用数据类型传递的是栈中的引用

11.异常:(Java.lang.Exception)检查时异常,(Java.lang.RuntimeException)运行时异常,((java.lang.Error)错误,检查时异常必须处理

12.集合:collection:    set:HashSet TreeSet
                       list:ArrayList LinkedList Vector Stack
        map:HashMap TreeMap HashTable Properties

13.Set里的元素是不能重复的,什么方法来区分重复与否呢? 是用==还是
equals()? 它们有何区别?
  Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两
个Set是否相等。
   equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个
分离的对象的内容和类型相配的话,返回真值

14.ArrayList, Vector, LinkedList的存储性能和特性
  ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据
以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元
素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方
法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序
号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即
可,所以插入速度较快。

15、HashMap和Hashtable的区别。
   HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,
主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于
Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为
contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问
Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
1
2
分享到:
评论
1 楼 xiadi8364 2009-11-01  
这文字你也敢说是你的学习笔记?佩服啊!

相关推荐

    java基础学习笔记

    ### Java基础学习笔记知识点 #### 一、Java学习路线概览 Java学习通常分为几个阶段,从基础到高级,逐步深化。以下是对给定文件中提到的学习路线的详细解析: ##### 第一阶段:Java基础 - **JAVASE**:Java标准版...

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    java基础学习笔记.doc

    以上是Java基础学习笔记中涉及的关键知识点,涵盖了输入输出、对象创建、随机数生成、数组和集合的使用以及字符串操作。这些是学习Java编程时的基础内容,深入理解和熟练运用这些知识将有助于进一步学习更复杂的Java...

    Java基础学习笔记.pdf

    Java基础学习笔记

    JAVA基础学习笔记

    【JAVA基础学习笔记】 在IT领域,JAVA是一种广泛使用的编程语言,尤其对于初学者来说,掌握JAVA基础至关重要。本笔记由北京MLDN学堂的李老师精心编写,旨在为自学者提供一套经典的学习资源,帮助他们扎实地理解JAVA...

    java基础学习笔记全集

    Java基础学习笔记全集涵盖了广泛的Java编程概念,是学习和准备Java相关笔试的理想资源。这份资料集合了J2EE框架、MVC模式、线程管理、Struts框架、MD5加密算法以及Java常用类的使用等多个核心主题。下面将对这些关键...

    Java基础学习笔记(印象笔记)

    Java基础学习笔记(印象笔记) Java 是一种广泛使用的面向对象编程语言,最初由 Sun Microsystems(现为 Oracle Corporation)于1995年发布。它具有简单、易学、可移植、安全和高性能等特点。 Java 是一种跨平台语言...

    JAVA基础学习笔记资料很全面

    这份“JAVA基础学习笔记资料很全面”涵盖了从基础到高级,包括Spring框架在内的多个主题,对于初学者和进阶者都是宝贵的资源。 首先,Java基础知识是学习的起点,包括Java环境配置、语法特性、数据类型、运算符、...

    java基础学习笔记 java整合技术 java工具类.zip

    这份“java基础学习笔记 java整合技术 java工具类.zip”压缩包显然包含了一系列与Java相关的学习资料,特别是关于基础、整合技术和工具类的深度探讨。下面我们将深入解析这些主题。 首先,Java基础是学习Java的起点...

    java学习笔记markdown

    1. **Java基础**:介绍Java语言的基本语法,如变量、数据类型、运算符、控制流程(条件语句、循环)、数组、字符串以及异常处理。这些基础知识是理解和编写任何Java程序的基石。 2. **面向对象编程**:深入讲解Java...

    Java基础学习笔记.zip

    这份"Java基础学习笔记.zip"包含了多个主题,涵盖了Java语言的基础到进阶内容,非常适合初学者和有经验的开发者复习巩固。 首先,我们来看"day03【List、Set】-笔记.pdf",这部分主要讲解了Java集合框架中的两种...

Global site tag (gtag.js) - Google Analytics