202010516——Java编程思想

前言

写在前面,今天是二一年的五月十六日。明天盲审的论文成绩就出了,心里还是有些忐忑,但愿有惊无险吧。Java编程思想这本书在很久以前本科的时候简单的翻过一遍,希望今后查缺补漏。

盲审过了,今天已经结束毕业答辩,开始学习的旅程。

第一章 对象入门

第二章 一切都是对象

数据保存到什么地方

1)寄存器,最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接控制权,也不可能在自己的程序理找到寄存器存在和任何踪迹。

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,存器有累加器(ACC)。

2)堆栈,驻留于常规RAM(随机访问存储器)区域,但是可以通过堆栈指针获得处理的直接支持。堆栈指针向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、有效的数据保存方式,仅次于寄存器。创建程序时,Java编译器必须准确的知道堆栈内保存的所有数据的长度以及存在时间。

RAM也就是所谓的内存了,写代码定义的数组啊,变量一般在这里。代码段的代码也会由ROM区读到RAM里面。由于结构特殊,必须上电保存,掉电就没有数据了。ROM有时候也可以称为外存,对于单片机来说,你烧录的代码就存在ROM区,你用code开头定义的数组和变量也在ROM里面。既然要保存代码,自然要长久保存,掉电不会损失数据。不过ROM是只读的,也叫read only memory。所以你在code区定义的变量都是const的,不可修改。

3)堆,heap,一种常规用途的内存池(也在RAM区域中)
4)静态存储,static,程序运行期间,静态存储的数据将随时等候调用,可用static关键字指出一个对象的特定元素是静态的。

主要基本类型

boolean 1位
char 16位
byte 8位
short 16位
int 32位
long 64位
float 32位
double 64位

static

/**
 * @Classname Dog
 * @Description TODO
 * @Date 2021/5/26 13:02
 * @Created by mmz
 */
public class Dog {
    private static int number = 1;

    public Dog(){
        System.out.println("dog对象被创建");
    }

    public static void main(String[] args) {
        System.out.println(Dog.number);
    }
}

类变量不需要实例对象也可以被调用

第一个Java程序

java.lang 默认自带的

有一些代码存放在

java.util.*

第三章 控制程序流程

运算符

第四章 初始化和清除

用构造器自动初始化

每一次调用一次initialize
构造器名字与类名相同

方法过载

不能根据返回值过载,因为返回值很容易进行区分。
真正的过载还是看参数类型的不同。

static初始化对象调用步骤

1)类型为Dog的对象首次创建的时候,或者Dog类中的static方法/static变量首次访问的时候,Java解释器必须找到Dog.class该类
2)找到Dog.class对象后,它的static所有模块都被调用,因此static初始化只发生一次,在class对象首次载入的时候

/**
 * @Classname Dog
 * @Description TODO
 * @Date 2021/5/26 13:02
 * @Created by mmz
 */
public class Dog {
    private static int number = 1;

    static {
        System.out.println("static 模块被调用了");
    }

    public Dog(){
        System.out.println("dog对象被创建");
    }

    public static void main(String[] args) {
        System.out.println(Dog.number);
    }
}

在这里插入图片描述
3)创建一个Dog对象,首先会在堆Heap里为一个Dog对象分配足够多的存储空间
4)将dog里面的基本类型设定为初始值也就是默认值
5)进行字段定义是发生的所有初始化都会执行
6)执行构建器

第五章 隐藏实施过程

包 库单元

我们常用的jar
在这里插入图片描述
在这里插入图片描述

包起名

在java中,包的命名尽量要唯一,以避免不同jar包之间冲突.
其实以com.域名之后起名,就是为了保证了不同公司源文件夹不同

导包

我们之所以可以导入rt.jar下面的包,就是我们在配置环境的时候CLasspath配置的正确,所以才能正常的导入jar包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值