Java基础总目录

本文仅作为个人对Java的回顾和总结,涉及代码或内容比较多的知识点,会另起文章进行专述,如有错误,敬请指正

一、Java概述

1.1.Java之父

        詹姆斯·高斯林(James Gosling)出生于加拿大,是一位计算机编程天才。在卡内基·梅隆大学攻读计算机博士学位时,他编写了多处理器版本的Unix操作系统,曾担任Sun公司Oak项目组组长,Oak后来改名为Java,所以他不仅是Java编程语言的共同创始人之一,外界也一般公认他为“Java之父”。 

1.2.Java基本介绍

图片来自于360百科

1.3.Java的安装与环境配置

        主要配置JDK和JRE,示例教程见Java/JDK的安装与环境配置 

1.4.Java内存划分 

        Java虚拟机在执行java程序时会把它所管理的内存分为5个不同的数据区域〈也可以细分为7个不同的区域)︰程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。 

1.5.Java和C/C++的区别简介

        Java是由C++发展而来的,保留了C++的大部分内容,在部分方面做了优化和简化。这里只介绍语言区别,不介绍使用范围,不体现优越性。

1.5.1.指针

        Java没有指针的概念,从而有效地防止了在C/C++语言中,容易出现的指针操作失误(如指针悬空所造成的系统崩溃),保证了程序的安全。在C/C++中,指针操作内存时,经常会出现错误。

        但Java有引用。

1.5.2.多重继承

        C++支持多重继承,它允许多父类派生一个子类,即一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂。通俗来说,C++允许类存在多个义父,类可以继承义父们的“财产”,但需要调节关系使之和谐共存。

        Java不支持多重继承,但允许一个类实现多个接口。即Java不承认义父的存在,仅以血缘一对一继承,继承少了,但使用也简单了。

1.5.3.垃圾回收(GarbageCollection)

图片来源于360百科 

        C++中,开发需要自己去管理内存,Java中JVM有自己的GC机制,虽然有自己的GC机制,但是也会出现OOM和内存泄漏的问题。C++中有析构函数,Java中Object的finalize方法。 

 1.5.4.操作符重载

        C++运算符可以重载,但是Java中不可以。同时C++中支持强制自动转型,Java中不行,会出现ClassCastException(类型不匹配)。

1.5.5.编译与运行

        Java源码会先经过一次编译,成为中间码(字节码.class),中间码再被解释器解释成机器码,解释器内置在JVM中。简单介绍如下图,详细介绍戳》》从JVM看Java编译过程

        C++源码一次编译,直接在编译的过程中链接了,形成了机器码。

        所以,C++比Java执行速度快,但是Java可以利用JVM跨平台。

二、Java编程基础

2.1.权限修饰符 

2.1.1.简介 

        java当中有4种访问修饰限定符privat、default(默认访问权限),protected以及public。只有默认访问权限和public能够用来修饰类。修饰类的变量和方法四种权限都可以。

  private:如果一个类的方法或者变量被private修饰,那么这个类的方法或者变量只能在该类本身中被访问,在类外以及其他类中都不能显示地进行访问。

       default(默认访问权限):如果一个类的方法或变量被包访问权限修饰,也就意味着只能在同一个包中的其他类中显示地调用该类的方法或者变量,在不同包中的类中不能显示地调用该类的方法或变量。

  protected:如果一个类的方法或者变量被protected修饰,对于同一个包的类,这个类的方法或变量是可以被访问的。对于不同包的类,只有继承于该类的类才可以访问到该类的方法或者变量。

  public:被public修饰的方法或者变量,在任何地方都是可见的。 

 2.1.2.范围

范围 private default protected public
同一包中的同一类
同一包中的不同类
不同包中的子类
不同包中的非子类

2.2.八大基础类型

 2.2.1.简介

        从JAVA世界诞生之初,就存在着8种最基础的“容器”,也被称为基本数据类型,它们分别是byte、short、int、long、float、double以及char。

        按类型可将它们简单归为以下4类:

  • 逻辑类型:boolean
  • 整数类型:byte、short、int、long
  • 字符类型:char
  • 浮点类型:float、double

        包括Java的标识符

        四大引用类型 

        声明 

        运算符 

三、Java关键字 

        static

        this

        super

        final

        .......

四、 程序流程控制

        顺序

        选择(分支)

        循环 

五、方法 

        方法的必要性

        方法的格式 

六、面向对象 

        面向对象的三大特征:封装、继承、多态。  

七、抽象(Abstract)和接口(Interface) 

        抽象和接口的格式、特点和区别 

八、访问权限修饰符 

        public、protected、default、private  

九、内部类 

        分类:成员内部类、静态内部类、局部内部类、匿名内部类 


java基础   进阶知识


十、集合体系 

        List和Map 

十一、异常体系 

         Thorwable

十二、多线程 

        线程的概念

        线程的特点

        线程的使用 

猜你喜欢

转载自blog.csdn.net/weixin_52255395/article/details/130817849