面向对象基础部分
Posted shuzi0806
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象基础部分相关的知识,希望对你有一定的参考价值。
一:面向对象与面向过程
- 都是解决问题的方式,都是代码的组织形式。
宏观上使用面向对象把握(把握复杂性),微观上使用面向过程实现(落地离不开面向过程)
二:对象是什么
数据无需管理时:
1.整个程序变量很少,无需做过多的管理(a+b=c)
2.用一个数组管理一个班的年龄
3.一个班的学生,除了年龄,还有名字,又来一个数组,还是不科学,因此需要一个叫做学生的对象,把年龄名字放进去,这样就可以很好的描述每一个学生。
对象是用来做数据管理的三:对象和类
- 类是对象的模板,图纸,是对象的抽象。
对象具有属性和方法。
四:对和类的底层分析(简单)
虚拟机内存可以简单分成 栈 堆 方法区(也是堆)
栈:
方法执行的内存模型,每个线程一个栈,线程私有 无法共享
堆
堆用来存储创建好的对象和,整个jvm只有一个堆
方法区
整个jvm也只有一个 存储不变或者唯一的东西(类的信息 静态变量 字符串常量)
五:构造器
类创建时需要做的一些准备工作,构造器大多时候都需要重载。
六:垃圾回收机制(初步)
c++ 自己收桌子 当使用内存的人不自己收拾掉东西,不久就没桌子吃饭了
java 垃圾回收机制 有个服务员 当桌子没人吃的时候 把桌子清理干净
垃圾回收机制步骤:
发现垃圾 清理垃圾
常见算法:
1.引用计数法
2.引用可达法
垃圾回收过程:
jvm调优
一般针对full gc 进行调优
七:静态变量与静态方法
静态变量与静态方法从属于类,在对象创建前就有了,类加载时放在了方法区。
以上是关于面向对象基础部分的主要内容,如果未能解决你的问题,请参考以下文章