java
god_T
鲜衣怒马,归来仍是少年。
展开
-
Java多线程-持续
进程与线程进程:在执行中的程序,描述的是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。早期的操作系统将进程作为并发执行的基本单位,此时进程具有以下两个基本属性:拥有资源的基本单位 调度的基本单位故此时不宜频繁切换进程,否则时空开销过大,限制了并发程度。为了提高并发度以及减少系统开销,将进程的两个基本属性分离,引入线程作为调度的基本单位,只拥有少量必须的资源。CPU调度非抢占方式 抢占方式时间片原则 优先权原则 短作业优先原则注:Java多线程使用抢占式调原创 2020-08-27 05:41:45 · 130 阅读 · 0 评论 -
变量初始化
变量初始化的两种情况对于成员变量,不管有没有显式初始化,JVM在类加载时会自动初始化为默认值。 对于局部变量,JVM不会进行自动初始化的操作,因此在调用前必须显式初始化,否则编译会出错。PS:是否可以理解为堆内存中的变量会执行自动初始化操作,而栈中的不会?、三种默认值对于引用数据类型,默认值为null; 对于boolean基本数据类型,默认值为false; 对于除boolean外的基本数据类型,默认值为0.创建对象对象声明:类名 对象名; 对象创建:对象名 = new 类名();原创 2020-08-16 17:45:43 · 187 阅读 · 0 评论 -
方法调用时的内存分配
汇编指令 MOV:数据传送指令(可理解为赋值),不破坏源地址单元的内容。栈帧遵循的调用约定:_cdecl支持JVM进行方法调用和方法执行的数据结构。栈帧存储了方法的局部变量表,操作数栈,动态连接和方法返回地址等信息。每进行一次方法调用,便会为该方法创建一个栈帧,当方法调用执行完成后,栈帧便会销毁,因此方法内的局部变量都不复存在。当进行方法调用时,首先判断是否需要传参,如果需要,则将参数按从右到左的方式入栈,存到栈顶(copy值,存到不同的内存单元)。当调用方法执行时,从调用者的栈顶获取参数值原创 2020-08-10 01:57:56 · 281 阅读 · 0 评论 -
Java基础知识
变量按数据类型划分基本数据类型变量(8种基本数据类型:byte, short, int, long, float, double, char, boolean) 引用数据类型(类(字符串)、接口、数组)按声明位置划分局部变量:方法或代码块内部定义的变量 成员变量:方法外部、类的内部定义的变量(属性)注:类的外面不能有变量声明。基本数据类型1字节(byte)=8位,即8位二进制数类型 占用内存 值范围 默认值 byte 1 byte -128~原创 2020-08-02 09:49:46 · 102 阅读 · 0 评论