牛客JAVA。错题总结汇总--知识点

2021年9月1日


  • 不会初始化子类的几种

                1. 调用的是父类的static方法或者字段

                2.调用的是父类的final方法或者字段

                3. 通过数组来引用

  • 子类不可以继承父类的构造方法,只可以调用父类的构造方法。子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。super()表示子类在初始化时调用父类的空参数的构造函数来完成初始化。
  •  java中源文件的后缀为.java,经过javac.exe编译后生成字节码文件,后缀为.class,再经过java.exe编译为可执行文件,后缀为.exe。
  • length 返回当前长度

    如果字符串长度没有初始化长度大,capacity(容量)返回初始化的长度

    如果append后的字符串长度超过初始化长度,capacity返回增长后的长度

  • off-heap叫做堆外内存,将你的对象从堆中脱离出来序列化,然后存储在一大块内存中,这就像它存储到磁盘上一样,但它仍然在RAM中。
    对象在这种状态下不能直接使用,它们必须首先反序列化,也不受垃圾收集。

  • java程序内存泄露的最直接表现是 

    程序抛内存控制的Exception  OutOfMemoryExpection
  • ThreadLocalMap中使用开放地址法来处理散列冲突,而HashMap中使用的是分离链表法。之所以采用不同的方式主要是因为:在ThreadLocalMap中的散列值分散得十分均匀,很少会出现冲突。并且ThreadLocalMap经常需要清除无用的对象,使用纯数组更加方便。
  • java.util.concurrent.ConcurrentHashMap 线程安全

    java.util.Map 接口

    java.util.TreeMap

    java.util.SortedMap 接口
    java.util.Hashtable 线程安全
    java.util.HashMap

  • 所谓 volatile的措施,就是

    1. 每次从内存中取值,不从缓存中什么的拿值。这就保证了用 volatile修饰的共享变量,每次的更新对于其他线程都是可见的。

    2. volatile保证了其他线程的立即可见性,就没有保证原子性。

    3.由于有些时候对 volatile的操作,不会被保存,说明不会造成阻塞。不可用与多线程环境下的计数器。


  • 首先final声明的方法是不能被覆盖的,但是这里并不错误,因为方法是private的,也就是子类没有继承父类的run方法,因此子类的run方法跟父类的run方法无关,并不是覆盖。new Car().run()也是调用子类的run方法。

  • 数组是一个对象,不同类型的数组具有不同的类

  • 被static修饰的变量称为静态变量,静态变量属于整个类,而局部变量属于方法,只在该方法内有效,所以static不能修饰局部变量

  • java,exe是java虚拟机

    javadoc.exe用来制作java文档

    jdb.exe是java的调试器

    javaprof,exe是剖析工具

  • ResultSet跟普通的数组不同,索引从1开始而不是从0开始

  • 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。


2021年9月6日

  • 由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/"。如果想替换的只是".",那么久要写成"\\.".
  • 在java语言中,判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个:

    1.给对象赋值为null,以下没有调用过。

    2.给对象赋了新的值,重新分配了内存空间。

  • 服务器端:ServerSocket提供的实例 ServerSocket server = new ServerSocket(端口号) 

  • 户端:Socket提供的实例 Socket client = new Socket(IP地址,端口号)

Object

  •  线程同步:喂,SHE

    喂(Vector)

    S(Stack)

    H(hashtable)

    E(enumeration)

Collection

    -----List

               -----LinkedList    非同步

                ----ArrayList      非同步,实现了可变大小的元素数组

                ----Vector          同步           

    -----Set   不允许有相同的元素

 Map

    -----HashTable        同步,实现一个key--value映射的哈希表,key和value都不允许出现null值

    -----HashMap          非同步,

    -----WeakHashMap   改进的HashMap,实现了“弱引用”,如果一个key不被引用,则被GC回收

注:

List接口中的对象按一定顺序排列,允许重复 
Set接口中的对象没有顺序,但是不允许重复 
Map接口中的对象是key、value的映射关系,key不允许重复

  • 抽象类中的抽象方法和非抽象方法在不加修饰符的情况下,都是默认的default
  •  DBMS 中实现事务持久性的子系统是(恢复管理子系统)
  • A和B中long和float,正常定义需要加l和f,但是long和float属于基本类型,会进行转化,所以不会报出异常。 

    2021年9月7日

  • 匿名内部类的创建格式为: new 父类构造器(参数列表)|实现接口(){

                                                 //匿名内部类的类体实现

                                            } 

  • 使用匿名内部类时,必须继承一个类或实现一个接口
    匿名内部类由于没有名字,因此不能定义构造函数
    匿名内部类中不能含有静态成员变量和静态方法

  • 有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。

  • 2021年9月8日

  • 接口中的变量默认是public static final 的,方法默认是public abstract 的

  • 运行异常,可以通过java虚拟机来自行处理。非运行异常,我们应该捕获或者抛出

  • Map集合类keyvalue
    HashMap允许为null允许为null
    TreeMap不允许为null允许为null
    ConcurrentMap不允许为null不允许为null
    HashTable不允许为null不允许为null

2021年10月6日

  • Java一共有四种权限,private (私有)public(公有)Protected(受保护)还有友好型
  • 在java里,这些语句都可以修饰类中的成员变量和方法,但是只有public和友好型可以修饰类。

        


2021年10月15日

  • Java的执行代码具有相应的顺序,其主要可以概括为以下一条链条:

                    父类静态变量--》父类静态代码块--》--》子类静态变量--》子类静态代码块--》父类非静态变量--》父类非静态代码块--》

                     父类构造方法--》子类非静态变量--》子类非静态代码块--》子类构造方法


2021年10月18日

  • ArrayList list = new ArrayList(20);中的list扩充几次?0次, 初始化分配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值