【java:牛客每日三十题总结-6】
总结如下
transient 变量和序列化有关,这是一个空接口,起标记作用,具体的序列化由ObjectOutputStream和ObjectInputStream完成。transient修饰的变量不能被序列化,static变量不管加没加transient都不可以被序列化 主义什么时候引用类型是从cache中拿的实例 只有进行直接赋值和使用.valueof()方法并且-值为128至127时,从内部维护的cache中拿取实例。其余的是新建对象。 java中的移位运算 ‘ >>为带符号右移,右移后左边的空位被填充为符号位 ’ >>>为不带符号右移,右移后左边的空位被填充为0 没有<<< 因为<<后右边总是补0 维护map结构的数据类型底层 ThreadLocalMap使用开放定址法解决hash冲突,HashMap使用链地址法解决hash冲突。 socket连接过程 其中 protected abstract void f1();是正确的方法声明,不违反规范,且抽象类可以被子类重写。 方法头指:修饰符+返回类型 +方法名(形参列表)
接口的访问权限:public,abstract 两同两小一大原则 返回值和参数列表相同 返回值类型小于等于父类的返回值类型 异常小于等于父类抛出异常 访问权限大于等于父类 数组相关知识
当数组的初始化完成后数组在内存中所占用的空间将会被固定,即使我们清空这个数组中的元素,它所占用的空间依然会被保留。这造成了Java数组长度的不可变,选项B错误。 Java语言中,数组是一种引用类型的变量,使用它定义变量时,这个引用变量还没有指向任何有效的内存空间,因此定义数组时不能指定数组的长度。而由于这个引用变量并没有指向任何有效的内存空间,所以没有空间来存储任何元素,只有当对数组初始化后,才可以使用这个数组。正确的定义方式为int[] array =new int[100]。 数组是一种引用数据类型,继承自Object类的,所以其中也包含了未被重写的equals()方法,所有的引用变量都能调用equals()方法来判断他是否与其他引用变量相等,使用这个方法来判断两个引用对象是否相等的判断标准与使用==运算符没有区别,只有在两个引用变量指向同一个对象才会返回true。如果想达到E选项描述的效果,需要使用Arrays.equals()方法。
局部变量相关知识
不是局部变量在该方法被执行/调用时创建,而是应该为在该变量被声明并赋值时创建,可以理解为“当代码执行到该变量被赋值的代码时才被创建 ” 栈会为每个方法在运行的时候分配一块独立的栈帧内存区域,栈帧又包含“局部变量表”、“操作数栈”、“动态链接”以及“方法出口”四个部分。
java标识符相关信息 void属于java中的关键字 [1]Java标识符只能由数字、字母、下划线“_”或“
”符号以及
U
n
i
c
o
d
e
字符集组成
[
2
]
J
a
v
a
标识符必须以字母、下划线
“
”
或“
”符号以及Unicode字符集组成 [2]Java标识符必须以字母、下划线“_”或“
” 符号以及 U ni co d e 字符集组成 [ 2 ] J a v a 标识符必须以字母、下划线 “ ” 或 “ ”符号以及Unicode字符集开头 [3]Java标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null) [4]Java标识符区分大小写,是大小写敏感的
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1199012.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!