TypechoJoeTheme

Clover 的博客

统计
登录
用户名
密码
/
注册
用户名
邮箱

CloverYou

日出于东却落于西,相识人海却散于席。
2022-01-02

10、Java对象的创建和使用-内存分析

10、Java对象的创建和使用-内存分析
创建学生类是一个模板,描述了学生的特征【状态 + 行为】当前类只描述学生的状态信息【属性】当使用public修饰这个类时,这个类的类名必须与源文件名一致。public class Student{ public int age; public int no; public String name; public String address; }类体是有属性和方法组成Student是类,属于引用数据类型public class Student{类体}由于变量定义在类体当中,方法体之外,这种变量称为成员变量。所有学生都有学号信息,但是每个学生的学号都是不同的。所以,要访问这个学号必须先创建对象,通过对象去访问学号信息学号信息不能直接通过“类”去访问,所以这种成员变量又被叫做 “实例变量”对象又被称为实例,实例变量又被称为对象变量。「对象级别的变量」不创建对象,这个no变量的内存空间是不存在的,只有创建了对象,这个no变量的内存空间才会创建。public class Student{ public int no; }使用通过一个类,可以实例化N个对象实例化对象的语...
CloverYou
2022-01-02

Java 基础

27 阅读
0 评论
2022年01月02日
27 阅读
0 评论
2022-01-02

9、Java类的定义

9、Java类的定义
语法结构:[修饰符列表] class 类名 {}`类体里面可以有:属性方法学生类,描述所有学生对象的共同特征:学生对象有哪些状态信息:学号名字性别年龄住址...学生对象有哪些动作信息:吃饭睡觉学习玩唱歌跳舞...属性通常是采用一个变量的方式来完成定义的。int no;int age;String name;String address;boolean sex;在类体当中,方法体之外定义的变量被称为“成员变量”成员变量没有赋值时,系统会赋默认值:一切向0看齐。方法描述的是对象的动作信息属性描述的是对象的状态信息Java语言中,所有的class都是引用类型。Student是一个类,代表了所有学生对象。是一个学生模板。以下程序表述的是一个对象的属性。public class Student{ public int age; public int no; public String name; public String address; }
CloverYou
2022-01-02

Java 基础

20 阅读
0 评论
2022年01月02日
20 阅读
0 评论
2022-01-02

8、Java面向对象和面向过程的区别

8、Java面向对象和面向过程的区别
理论面向过程:如果有一个软件,采用面向过程开发,在这个过程当中,没有任何独立体的概念。将因为所以关联在一起把整个业务逻辑实现。这种方式的开发,我们称为面向过程。面向过程开发,关注的是因果关系的一个实现,没有独立体的概念,面向过程统是以因果关系为核心。一个小因果关系构成一个小的步骤,小的步骤之间因为因果关系构成一个小的模块。模块之间又因为因果关系构成一个系统。只要有一个因果关系发生了断裂,整个软件就废了。采用面向过程开发的系统,都应该关注的是过程优点对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本低。缺点采用面向过程开发的开发方式很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的耦合度非常高,只要其中一环出问题,整个系统受到影响,导致最终的软件扩展力差。另外,由于没有独立体的概念,所以无法达到组件复用。面向对象:面向对象的关注点在对象上,面向对象就相当于,我不关心这个对象底层到底是怎么实现的,我只关心这个对象能给我带来什么。你给我个打火机,我不关心这个打火机是怎么实现的,我只要知道这个打火机按这个钮就能打火。关注的是一个独立的组件、独立的个体,而这个独立的个...
CloverYou
2022-01-02

Java 基础

20 阅读
0 评论
2022年01月02日
20 阅读
0 评论
2022-01-02

7、Java方法重载

7、Java方法重载
使用以下程序有哪些缺点?public class overLoad{ public static void main(String[] args){ int a = sumInt(1, 2); double b = sumBouble(1.0, 2.0); long c = sumLong(1L, 2L); } public static int sumInt(int a, int b){ return a + b; } public static double sumDouble(double a, double b){ return a + b; } public static long sumLong(long a, long b){ return a + b; } }sumInt sumLong sumDouble 方法虽然不同,但是功能相似,都是求和以上程序当中功能相似的方法,分别起了三个不同的名字,这对于程序员来说,调用方法的时候不方便,程序员需要记忆更多的方法。有没有这样一种机制...
CloverYou
2022-01-02

Java 基础

24 阅读
0 评论
2022年01月02日
24 阅读
0 评论
2022-01-02

6、Java方法执行与内存分析

6、Java方法执行与内存分析
理论方法在执行过程中,在JVM中的内存是如何分配的呢,内存是如何变化的?方法只定义,不调用,是不会执行的,并且在JVM也不会给该方法分配运行所属的内存空间。只有在调用这个方法的时候,才会动态的给这个方法分配所属的内存空间。在JVM内存划分上有这样三块主要的内存空间(还有其它的内存空间):方法区内存栈内存堆内存关于栈数据结构:栈: stack,是一种数据结构数据结构反应的是数据的存储形态。数据结构是独立的学科,不属于任何编程语言的范畴,只不过在大多数编程语言当中要使用数结构。作为程序员需要提前精通:数据结构 + 算法[计算机必修]方法执行的时候代码片段存在哪里?方法执行的时候执行过程的内存在哪里分配?方法代码片段属于.class文件的一部分,字节码文件在类载(classLoader、类加载器)加载的时候,将其放到了方法区内存当中。所以JVM中的三块主要的内存空间中方法区内存最先有数据。代码片段虽然在方法区内存当中只有一份,但是可以被重复调用。每一次调用这个方法的时候,需要给该方法分配独立的活动场所,在栈内存中分配。【栈内存中分配方法运行的所属内存空间】方法在调用瞬间,在栈内存中会给...
CloverYou
2022-01-02

Java 基础

24 阅读
0 评论
2022年01月02日
24 阅读
0 评论
CloverYou
日出于东却落于西,相识人海却散于席。
88 文章数
11 评论量
IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 缓存一致性 - 点击领取
    2022-01-06
  2. 宝宝
    2022-01-02

标签云