Java基础知识
Java基础知识
先写到一起,后续记得分篇!
Java 基础知识点
访问修饰符
- public:
public
意味着可以从任何地方访问该类、属性和方法。一个.java
文件中只能有一个public类。 - protected :
protected
可以修饰内部类、方法、属性。protected
修饰的方法和属性可以被同包中的类、子类访问;可以被不同包的子类访问,不可以被不同包的类访问。 - default: 当不写具体的修饰符时,就是
default
。在本包下的类、子类都是可以访问的;在不用包下的类、子类都是不可以访问的 - private:
private
修饰类时,不可以修饰外部类,可以修饰内部类. 修饰的方法在本包中的其他类、子类是无法访问的。在不同包中更不能访问了。
Java的三大特性
封装
继承
每个类都继承自超类Object
。所有对象都具有以下方法:
clone()
,用来克隆和复制任何对象equals()
,用来确定两个对象是否相等hashCode()
,为对象提供唯一的哈希码toString()
,用来获取对象当前状态的描述
多态
Java内存管理
Java的内存区要分为3个区:方法区(又觉静态存储区)、堆区、栈区
常量池
Java的栈与堆
java使用两个不同的内存区域:栈和堆。当程序执行时,项目会被添加到堆栈中或从堆栈中删除。而堆中的对象会一直保留到应用程序完成为止。
- 栈
栈用于存储基本类型和对象引用。
Java中的代码是在函数体中执行的,每个函数主体都会被放在栈内存中,比如main
函数,main()
就会被压入到栈内存中。如果main()
里面调用了其他函数,例如add()
, 就会继续压入到栈内存中,当add()
函数执行完毕后,就会出栈被销毁。然后是main()
出栈被销毁。 - 堆
堆用于存储对象本身。例如我们使用关键字new
创建一个对象时,这个对象就被放在堆上。
堆是由**垃圾收集器(GC)**自动管理的,当对象不再被引用时,GC会自动回收其占用的内存。
- 共享性
堆是可以共享的,意味着所有的线程共享相同的堆空间。因此在多线程中访问和修改对象时要小心维护线程安全。
栈是不可以共享的,每个线程有自己独立的栈空间。用于存储该线程的方法调用栈、局部变量等。
垃圾收集器
设计模式
函数式编程
lambda表达式
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment