- 继承中成员变量访问特点:首先看子类局部变量中有无该变量,若有则直接使用;如果子类当中没有则去子类成员变量查找,若没有,则去父类当中查找,找到则使用,没找到则报错。(子类局部变量 ---子类成员变量 ---- 父类变量)
- 继承构造方法:在创建子类对象时默认都会先走父类的无参构造(对父类进行初始化使用)。避雷:当父类中有有参构造时一定给该父类创建一个无参构造方法
- final:final修饰引用数据类型时,指定的是对象的地址值,所以对象的地址值是可以改变的。
- mysql特性:原子性,一致性,隔离性,持久性
- mysql事务处理两种方法:1. begin:开始一个事务 rollback:事务回滚 commit:事务确认 2.使用set改变其提交方式:set autocommit = 0 禁止自动提交 set autocommit = 1 开启自动提交
- throws与throw区别:throws用在方法声明之后,跟的异常类名,可以表示多个异常名,之间用,分割,表示不一定会发生的异常;throw在方法内,跟对象名,只能跟一个对象名,当执行时表示程序一定遇到了异常
- finally主要是用来释放资源
- 异常注意事项:当父类抛出多个异常时,子类重写父类时只能抛出跟父类相同的异常或该异常的子集;如果父类没有抛出异常,则子类不能抛出异常即使用throws,只能使用try...catch...
- list在使用迭代器遍历时如果对该list进行了操作有时会报concurrentModificationException异常,主要原因是预期修改的值与实际修改的值不符合,所以会报修改异常错误
- hashset保证元素唯一性原理:在添加元素时会先计算该元素的哈希值,如果哈希值不存在就存入集合当中,如果存在哈希值相同的数据,则使用equals方法比较两个内容是否相同,如果相同则元素存在,不进行存储,反之则进行数据存储。(保证元素唯一性即要重写hashcode方法和equals方法)
- Arrays方法中asList()方法只能做修改不能做删除
- 泛型优点:简单易用,类型安全,主要目的是泛型使编译器知道了对象的类型,使其可以在高的要求下验证该类型,消除了强转换带来的问题,提高了代码的重复率。
- File的delete方法删除不走回收站,而且只有当该文件 夹为空时执行
- 不同环境字节流换行:windows: \r\n; linux: \n; mac:\r
- BIO,NIO,AIO区别:BIO:block IO 同步阻塞式即平时使用的IO,它特点是模式简单,使用方便,并发处理能力低;NIO:NIO: IO 同步非阻塞IO,是对传统IO的升级,客户端和服务端可以通过对通道进行通讯,实现了多路复用;AIO:Asynchronous IO是NIO升级,实现了异步非阻塞IO,异步IO的操作基于事件和回调机制
- 在读取字符时出现乱码问题:读取中文时,使用字节流读取一个字节,相当于将三个字节拆为三个字节,所以会出现乱码问题。utf-8:占三个字节 GBK:占两个字节
- Properties:从流中加载数据,将集合的内容写入,进行持久化,主要经常用于配置问价使用
- 多线程程序实现方式:1.继承Thread类,重写run()方法,启动start方法 2.实现Runnable接口,重写接口的run()犯法,start()开启线程
- 同步技术原理:使用synchronized同步块将共享数据锁起,多个线程在执行时抢夺CPU执行权,当某一个线程抢到执行权时,判断该锁是否存在,如果存在就继续执行,其中同步代码块中的代码只有全部都执行完毕之后,才会释放该锁。
- 线程的等待唤醒机制:等待(wait)让当前线程进入无限等待状态,需要另一个线程对齐进行唤醒 。 唤醒(notify):随机唤醒单线程 唤醒(notifyAll):唤醒所有等待线程
- InetAddress 该类表示Internet协议,其中getHostName()获取IP主机的主机名,getHostAddress()返回IP地址字符串
- 在方法上面标注@FunctionalInterface,如果编译通过,则是函数式接口,否则就不是
- 类加载器概念:当程序使用某个类时,但是该类还没加载到内存当中,系统会通过类的加载,类的连接,类的初始化这三个步骤对其进行初始化,这个过程叫做类的初始化或加载。
- 获取Class类对象的三种方式:1.类名.class属性 2.对象名.getClass()方法 3.Class.forName()方法
java学习总结(一)
最新推荐文章于 2024-09-06 20:19:29 发布