2020-07-14javaSE

超时自由 cdh mpp impala  decimal 小数

学习习惯很重要,复习,练习,今天学,明天复习,今月学,下月复习。每天学习一点点,不学点过意不去。

一个半月。

串javase,javaeeweb(servlet,jst,jstl)、过滤器、监听器、SSM。

jvm,跨操作系统,跨硬件。 java源码编译成虚拟机需要的java字节码(.class文件)。jvm(一个程序,转成操作系统可以运行的程序,现在jvm会将热点代码即时编译,下次使用时可以直接使用,速度很快(和c语言一样,直接编译成操作系统语言速度差不多))。classpath类的路径,java_home,找到java路径。path,在任何地方使用命令。

/**注释使用javac命令可以提取出来。jdk下的src.zip string.class等类。jdk1.9以后里面集成的jre删除了。

include文件里面是java本地接口。

标识符不能使用单独的关键字和保留字。java命名可以使用unicode字符集(中文、俄文等)里面的字符。goto、const两个保留字在java中没有任何实际意义。

char两个字节,放的是编码(010101),使用的utf-16字符变长编码方式。string底层是字符的数组,发现一个文字需要两个char的空间的时候就使用两个char来组成一个字符。

变量申明是申请内存空间。初始化是第一次赋值。对象中的成员变量会自动初始化。

按值分类,按声明位置。

基本类型保存的是值。引用类型保存地址(枚举、对象)。局部(方法体里面)、实例(成员变量)(对象)、类变量(静态变量)、方法参数(方法参数)

一整个栈空间中一个线程对应一个栈(一个线程一个桶)。main进栈,然后调用a()方法,在main上面进入一个a的方法。

GC:jvm会不停的扫描堆的空间,发现没用的对象就进行回收,没有引用型变量保存此堆的地址。(GC执行时,jvm会暂停)

jvm内存不能太小,因为会不断进行回收,太大,jvm暂停时间长。

a->b b->a 两个堆对象就不会被回收。

内存泄露:没有内存可用,内存不在你的管理范围之内。(java本身是不会内存溢出的,是程序员的思路导致gc无法回收无用 对象)

就高不就低,类型转换,加法  整数除整数得到的是 整数,除小数是小数

&& || java中 都是短路的,前面对了后面就不对了。前面是false就是false,后面有true就是true。
字符串连接符运算符+

语句:一个完整的执行单元,以分号结束表达式。表达式加了分号变成语句。表达式语句+声明语句+流程控制语句

语句加{}变成语句块:命名语句块和

\是转移字符。

switch中byte、short、int、char及其对应的包装类(隐式转为int)、enum(枚举)、java7以后可以使用String

default子句可选,不加break就会穿透。

dowhile里面后面的分号要加。

iterable(数组和实现了此接口可以进行foreach循环)、iterator

修饰符:四中(访问控制符(public\protected\包\private只能使用一个)、static、final(禁止重写,类前代表不能被扩展,成员变量前加,代表是常量,必须初始化,只能被初始化一次|| 方法上,不可以被子类重写 || 方法参数上面谁调用的时候被初始化,在方法题里面就不能被改参数的地址,但可以改里面的值如a.i|| )、default(jdk1.8后用来声明接口方法体))

final 、finally(try catch 不管有没有都要执行)、 finalize(GC回收的时候调用object里面的此方法,此方法本意是清理非内存的资源,但是gc什么时候运行呢?所以我们需要在资源使用完就关闭链接(如数据库的链接))

GC在什么时候运行呢?

三种:内存不够的时候;cpu空闲;主动调用system.gc.(虚拟机运行是可以禁用)

java中除了构造方法都必须有返回值,没有就是void(方法首字母小写)

jvm如何区分多个函数?方法签名:方法名和参数构成了方法签名,用于区分函数。(方法重写时)

重载,多个不同方法。

栈里面是一层一层的方法。堆里面是一个一个的对象。

数组里面的length是属性。数组也是特殊的对象,所以声明在堆里面,int arr1 = new int[10],而arr1声明在栈里面

会默认赋初值。

算法:解决特定问题,如排序,我们可以调用。

几维数组都是引用型变量,数组长度不可变。arraylist不可用的使用声明一个新数组。

浮点类型的数值默认是double类型。意思是计算中只要有浮点数,结果就是double类型的。

接口是对动作的抽象,而抽象类则是对对象的抽象。

线程是进程的执行路径。

switch中可以包含的值的类型是char、short、byte、int、java7之后可以是string。

 

 

 

 

---------待解决问题---

字符串连接符+

char两个字节,放的是编码(010101),使用的utf-16字符变长编码方式。string底层是字符的数组,发现一个文字需要两个char的空间的时候就使用两个char来组成一个字符。

答:char和string 使用的是utf16,所以呢,有些字符肯定没收录进去,没收录进去的

Instanceof

异常  重写

jvm如何区分多个函数?方法签名:方法名和参数构成了方法签名,用于区分函数。(方法重写时)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值