• 【java:牛客每日三十题总结-6】


    java:牛客每日三十题总结

    总结如下

    1. transient 变量和序列化有关,这是一个空接口,起标记作用,具体的序列化由ObjectOutputStream和ObjectInputStream完成。transient修饰的变量不能被序列化,static变量不管加没加transient都不可以被序列化
    2. 主义什么时候引用类型是从cache中拿的实例
      只有进行直接赋值和使用.valueof()方法并且-值为128至127时,从内部维护的cache中拿取实例。其余的是新建对象。
      在这里插入图片描述
    3. java中的移位运算
      ‘ >>为带符号右移,右移后左边的空位被填充为符号位
      ’ >>>为不带符号右移,右移后左边的空位被填充为0
      没有<<< 因为<<后右边总是补0
    4. 维护map结构的数据类型底层
      ThreadLocalMap使用开放定址法解决hash冲突,HashMap使用链地址法解决hash冲突。
    5. socket连接过程
      其中
      在这里插入图片描述
    6. protected abstract void f1();是正确的方法声明,不违反规范,且抽象类可以被子类重写。
    7. 方法头指:修饰符+返回类型 +方法名(形参列表)
      • 接口的访问权限:public,abstract
      • 两同两小一大原则
      • 返回值和参数列表相同
      • 返回值类型小于等于父类的返回值类型
      • 异常小于等于父类抛出异常
      • 访问权限大于等于父类
    8. 数组相关知识
    • 当数组的初始化完成后数组在内存中所占用的空间将会被固定,即使我们清空这个数组中的元素,它所占用的空间依然会被保留。这造成了Java数组长度的不可变,选项B错误。
    • Java语言中,数组是一种引用类型的变量,使用它定义变量时,这个引用变量还没有指向任何有效的内存空间,因此定义数组时不能指定数组的长度。而由于这个引用变量并没有指向任何有效的内存空间,所以没有空间来存储任何元素,只有当对数组初始化后,才可以使用这个数组。正确的定义方式为int[] array =new int[100]。
    • 数组是一种引用数据类型,继承自Object类的,所以其中也包含了未被重写的equals()方法,所有的引用变量都能调用equals()方法来判断他是否与其他引用变量相等,使用这个方法来判断两个引用对象是否相等的判断标准与使用==运算符没有区别,只有在两个引用变量指向同一个对象才会返回true。如果想达到E选项描述的效果,需要使用Arrays.equals()方法。
    1. 局部变量相关知识
    • 不是局部变量在该方法被执行/调用时创建,而是应该为在该变量被声明并赋值时创建,可以理解为“当代码执行到该变量被赋值的代码时才被创建
    • 栈会为每个方法在运行的时候分配一块独立的栈帧内存区域,栈帧又包含“局部变量表”、“操作数栈”、“动态链接”以及“方法出口”四个部分。
    1. java标识符相关信息
      void属于java中的关键字 [1]Java标识符只能由数字、字母、下划线“_”或“ ”符号以及 U n i c o d e 字符集组成 [ 2 ] J a v a 标识符必须以字母、下划线 “ ” 或“ ”符号以及Unicode字符集组成 [2]Java标识符必须以字母、下划线“_”或“ 符号以及Unicode字符集组成[2]Java标识符必须以字母、下划线”符号以及Unicode字符集开头 [3]Java标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null) [4]Java标识符区分大小写,是大小写敏感的
  • 相关阅读:
    Next.js 热更新 Markdown 文件变更
    Python数据攻略-Pandas时间序列数据处理
    Copy
    2.DesignForClines\3.QuickBusRouting
    【Zabbix】Zabbix学习笔记
    全球与中国吸油烟机行业市场规模调研及未来前瞻报告2022-2028年
    杂记,主要包含各种锁
    css返回顶部快速回到页面顶部
    深度学习入门(二十)深度学习计算——读写文件
    阿里云ESSD云盘最大和最小IOPS说明
  • 原文地址:https://blog.csdn.net/m0_52444089/article/details/134357790