java基础
文章平均质量分 78
阶段学习做的笔记
不会起名字啦
静以修身,俭以养德
展开
-
线程唤醒、等待
Object调用的wait和notify Condition调用的await和single对线程加锁及等待唤醒顺序都有要求,违反规则将发生线程异常情况;LockSupport调用的park和unpark对线程没有加锁需求,且可以先发生唤起再执行等待(先unpark再park),底层用的permit(0,1) least 0,most 1;严格要求唤起与等待成对出现Object和Condition对等待唤醒的约束:Ⅰ线程要先获取并持有锁,即代码必须在同步代码块中 Ⅱ必须先等待后唤醒,不然阻塞.原创 2022-02-05 21:54:10 · 355 阅读 · 2 评论 -
String与Stringbuffer的传参问题
都知道String这个类型比较特别,引用存栈中,值存在常量池,今天遇到一个面试题,虽然猜对了答案但是讲不出所以然,特此记录/** * @author: zy * @date: 2021/9/1 19:47 * @since JDK 1.8 */public class Test{ public static void main(String[] args) { String s = "字符"; change(s); System.o原创 2021-09-01 20:54:59 · 350 阅读 · 0 评论 -
Java面试八股文(素材来自网络)
不定时更新,素材来自网络,都附注有超链接,侵删联系邮箱:zhenyu_li1998@163.com原创 2021-07-14 11:05:32 · 14119 阅读 · 4 评论 -
MySQL学习笔记(初学者)
RDBMS 术语在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:数据库:数据库是一些关联表的集合。 数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列:一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 外键:外键用...转载 2021-05-07 19:41:25 · 122 阅读 · 0 评论 -
Java中重载与重写
Override重写class Father { protected void sayHello() { System.out.println("Hello"); }}class Son extends Father{ @Override protected void sayHello() { super.sayHello();//调用父类方法,输出的是未重写的方法 System.out.println("...原创 2021-04-15 10:06:24 · 265 阅读 · 0 评论 -
ArrayList 与 LinkedList
目录ArrayListLinkedList总结ArrayList有序的(存储和读取的顺序是一致的) 有整数索引 允许重复的底层数据结构是数组 查询 | 修改快 增删慢package CeShi;import java.util.ArrayList;import java.util.List;/** * @author Lzy * @creat 2021-03-21-11:35 * void add(int index, E elem...原创 2021-03-21 12:43:43 · 96 阅读 · 0 评论 -
java tyr{}catch语句
try代码块里放的是尝试执行的代码catch是用于捕捉处理异常的try {可能出现异常的代码} catch(异常类名A e){如果出现异常类A类异常,那么执行该代码} ...(catch可以有多个)finally {必须要执行的代码 处理完异常后 在 抛出新的异常前 必须执行的代码段}提前返回值,finally中对变量赋值无效public static void main(String[] args) { public static i...原创 2021-03-20 17:22:00 · 269 阅读 · 0 评论 -
集合 迭代器 泛型
目录Collection中的常用功能迭代器并发修改异常泛型增强for循环Collection中的常用功能 boolean add(E e) 返回值一定为true,因为ArrayList允许重复添加 void clear() 清空集合 boolean contains(Object o) 判断集合中是否含有指定元素值,含...原创 2021-03-15 18:47:57 · 284 阅读 · 0 评论 -
常用API(java)
Object是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。toString返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。 结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。...原创 2021-03-05 18:31:58 · 337 阅读 · 2 评论 -
包,修饰符,内部类
包的特点:可以有多层 不同包下的文件名可以重复 包的声明必须是第一行代码包下类的访问相同包下的类可以直接访问,不需要其他操作 不同包之间下的类相互访问必须使用类的全名(包名.类名) 或 使用import将类导入注意:*代表的是通配符,表示导入这个包下的所有类,但没有导入子包下的类权限修饰符public: 当前类,相同包不同类,不同包下的类 default: 当前类,相同包下不同的类 当前包下使用 protected: 当前类,相同包下不同的...原创 2021-01-31 14:32:21 · 132 阅读 · 0 评论 -
抽象类,接口(interface)与匿名对象
继承的特性是单一继承,接口可以实现多个继承,接口里的所有方法全是抽象方法,接口和类的关系是实现,implements格式: interface 接口名{ }接口成员特点接口中只能有抽象方法,只能有常量 默认且只能使用 public&abstract修饰方法 (建议主动加上默认修饰符) 默认使用public static final 修饰成员变量注意:接口不能创建对象(不能实例化)类与接口的关系是实现关系,一个类实现一个接口必须实现它的所有方法接口与类的关系...原创 2021-01-29 21:00:15 · 409 阅读 · 2 评论 -
static静态概述
static静态概述成员变量属于对象,如果存在多个对象,需要对每个对象的变量单独定义才能使变量存在static的作用:修饰的成员方法与变量可以使所有的对象共享 使得成员方法与变量可以使用类名调用而不需要通过变量单独调用静态加载优先于对象 随着类的加载而加载优点:1.对对象的共享数据提供单独空间存储,节省空间 2.可以直接用于类名调用,不需要再堆内存创建对象缺点:访问具有局限性(只能访问静态变量,静态方法)静态与动态方法调用静态方法:只能调用静态方法,静态变量非静态..原创 2021-01-16 18:25:23 · 325 阅读 · 0 评论 -
java方法的定义调用(重载覆盖多态)
方法:类中一段具有特定功能的程序,提高了代码的复用性和可维护性 格式: public static 返回值类型(void用于没有返回值的情况) 方法名(参数类型 参数名, 参数类型 参数名2){//形参 方法体;}调用方式 分为有返回值类型,无明确返回值类型有返回值类型: 赋值调用:将方法的返回值赋值给一个变量 输出调用:使用输出语句直接输出方法的返回值 直接调用:无法获取方法的返回值没有明确返回值 直接调用方法重载类中的同名方法...原创 2021-01-13 20:47:35 · 261 阅读 · 0 评论