美文网首页
Java基础知识

Java基础知识

作者: 何止搬砖工 | 来源:发表于2020-07-08 23:25 被阅读0次

    一、Java内存结构

    分类:

    1、方法区:

    存放所有的①类(class),②静态变量(static变量),③静态方法,④常量和⑤成员方法

    2、head(堆):

    类的对象放在heap(堆)中,所有的类对象都是通过new方法创建,创建后,在stack(栈)会创建类对象的引用(内存地址)

    3、javaStack(java栈):

    Java栈的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,基本数据类型的数据,和对象的引用(reference)

    4、本地方法栈:保存native方法进入区域的地址

    结构图:

    image.png

    举例

    public class MyClass {                         //运行时,JVM把MyClass的信息都放入方法区    
    
        public static void main(String[] args) { //main成员方法本身放入方法区。    
            Sample test1 = new  Sample( " 测试1 " );   //test1是引用,所以放到栈区里,Sample是自定义对象应该放到堆里面    
            Sample test2 = new  Sample( " 测试2 " );
            test1.printName();
            test2.printName();
        }
        
    
    }
    
    class Sample {   //运行时,JVM把Sample的信息都放入方法区。            
    
        private String name;      //new Sample实例后,name引用放入栈区里,name对象放入堆里。     
    
        public  Sample(String name) {
            this .name = name;
        }
    
        public void printName() {// printName()成员方法本身放入方法区里。    
            System.out.println(name);
        }
    
    }
    
    

    二、Java的八大基本数据类型为:

    一个字节等于8位

    整型

    byte字节型1字节 8bit 最大存储数据量是255,存放的数据范围是-128~127之间

    short短整型2字节 16bit最大数据存储量是65536,数据范围是-32768~32767之间

    int整型4字节 32bit最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1

    long长整型8字节 64bit最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1

    浮点型

    float单精度4字节 32bit数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F

    double双精度8字节 64bit数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加

    字符类型

    char字符型用单引号 char是两个字节

    布尔类型

    boolean布尔型true/false(只有真假两种结果)所以1个字节、4个字节都是有可能的??

    三、进制转换:

    image.png

    相关文章

      网友评论

          本文标题:Java基础知识

          本文链接:https://www.haomeiwen.com/subject/wgykcktx.html