java基本数据类型、内存分析、装包拆包

2019-09-13   18:01:23

idea快捷键:

file->settings->Keymap->搜索关键字

Increase Font Size   增大字体    ctrl+滚轮上

Decrease Font Size  缩小字体   ctrl+滚轮下

 

基本的命名规范:驼峰式的命名方式

 * 类名:每一个单词的首字母都大写     class GoodMan
 * 函数名字:首单词全小写,后面的每个单词首字母大写   eatFood( )
 * 成员变量:同函数名字 

Java的类型
 1.简单类型及占用字节数
 *  整数类型   byte(1)   short(2)     int(4)    long(8)
 *  字符类型   char(2)    'a'   97    'b'   unicode字符集
 *  浮点类型   float(4)     double(8)
 *  布尔类型   boolean  true  false

具体类型情况见文章(java小知识):https://www.cnblogs.com/laurarararararara/articles/11166443.html

 类型之间的转换关系:

                       char

                         ↓
   byte,short → int → long
                         ↑          ↑

                      float→ double

占用字节数小的数据类型可以自动转换为占用字节数大的数据类型

 

相加测试实例:

 

 

2.引用类型:  数组、枚举、类、注解

基本类型对应的包装类型:
 *  byte => Byte
 *  short => Short
 *  int => Integer
 *  long => Long
 *  float => Float
 *  double => Double
 *  char => Character
 *  boolean => Boolean

简单类型与引用类型:

 

简单内存分析:

 

 

 JDK => bin目录常见命令
 * javac.exe: 编译java源代码的,生成java字节码文件(*.class)
 * java.exe:   启动一个JVM,来运行指定的class字节码文件
 * javap.exe: javap -c JavaType.class         反汇编java字节码 =》 java代码

关于如下代码的理解:

 

 

 底层处理:调用了Integer的valueOf方法:

 

 valueOf源码:-128-127之间的数值在常量池中

 

 整个代码内存分析:

•问:栈内存何时创建和回收?定义该变量的时候被创建,出了函数的右括号,内存就被回收

         堆内存何时创建和回收?new后就在堆里创建了该对象的内存地址,靠垃圾回收机制GC来回收

♥笔试题:如下4个语句,输出结果为false的是()

Integer i01=3;                          

int i02=3;

Integer i03=new Integer(3);

Integer i04=new Integer(3);

A System.out.println(i01==i02)    //拆包true

B System.out.println(i01==i03)   //new了一个新对象false

C System.out.println(i03==i04)   //不同的对象

D System.out.println(i02==i04)   //拆包true

 

该题相关知识:

1.关于装包与拆包:

 

2.底层处理:

 

3.实现:

 

 总结装包拆包:

 

posted @ 2019-09-13 19:55  acehm  阅读(550)  评论(0编辑  收藏  举报