<>一、实例化

<>(1)实例化是什么

* 在Java中,使用已经定义好的类,创建该类对象的过程称为“实例化”。
* 实例化就是在堆中分配内存的过程。
* 只有实例化后的对象,才能访问到类中的成员变量和方法。
<>(2)实例化的4种方式

* ⽤new直接创建
* 调⽤clone()⽅法,进⾏实例的拷贝
* 使⽤Java反射创建
* 通过反序列化类获取
[反序列化]: 将流转化成对象的过程

<>二、面向过程与面向对象

<>面向过程:

面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。

<>面向对象:

面向对象易维护、易复用、易扩展。
因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。

<>三、JVM

jvm是Java虚拟机是运行Java字节码的虚拟机。jvm针对不同的操作系统有特定的实现。
Java程序从源码到运行有一下3步。

* .java文件(源代码),在JDK中的javac编译之后形成.class文件
* .class文件(jvm可以理解的Java字节),经过jvm变成机器可以执行的二进制机器码
* 二进制机器码
<>四、进程与线程

<>进程

进程是程序的一次执行过程,是系统运行程序的基本单位。进程是动态的。下图是windows当前运行的进程。

<>线程

线程和进程相似,但是线程比进程更小的执行单位。一个进程在执行过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区的资源,但是每个线程有自己的程序计数器,虚拟机栈和本地方法栈。

技术
©2019-2020 Toolsou All rights reserved,
Python学习笔记(一)Linux【shell】 shell编程创建一个线程——— Javaweb (3)evo工具使用问题——Degenerate covariance rank, Umeyama alignment is not possibleVMware 16安装centos 7详细教程C语言做一个简易的登陆验证(功能)界面C语言——qsort函数Spring Boot面试必问:自动配置原理Android EditText密码显示隐藏Qt入门教程【基础控件篇】QCalendarWidget日历控件