随笔分类 -  Java基础知识

摘要:1、综述 Override:重写;Overload:重载。 这两者之间的区别在很多Java的面试笔试中都会经常被问到,下面我就捋一下他们的区别。重写(Override)也称覆盖,它是父类与子类之间多态性的一种表现,而重载(Overload)是一个类中多态性的一种表现。override从字面就可以知道 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(87) 评论(0) 推荐(0)
摘要:1、super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 2、this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) 3、super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(37) 评论(0) 推荐(0)
摘要:1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、i 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(41) 评论(0) 推荐(0)
摘要:乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。 一、悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(48) 评论(0) 推荐(0)
摘要:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。 1、如果都未更新你就读取了,或者都更新完才读取, 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(46) 评论(0) 推荐(0)
摘要:共享锁(Share locks简记为S锁):也称读锁,事务A对对象T加S锁,其他事务也只能对T加S,多个事务可以同时读,但不能有写操作,直到A释放S锁。 排它锁(Exclusivelocks简记为X锁):也称写锁,事务A对对象T加X锁以后,其他事务不能对T加任何锁,只有事务A可以读写对象T直到A释放 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(432) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(14) 评论(0) 推荐(0)
摘要:一、为什么说 Java 语言“编译与解释并存”? 这是因为 Java 语言既具有编译型语言的特征,也具有解释型语言的特征。因为 Java 程序要经过先编译,后解释两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。 二 阅读全文
posted @ 2022-04-08 23:23 FireCode 阅读(51) 评论(0) 推荐(0)
摘要:一、Java 阻塞队列原理 阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况: 1.1 当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。 1.2 当队列中填满数据的情况下,生产者端的所有线程都会被自动阻塞(挂起),直到队列中有空 阅读全文
posted @ 2020-08-14 21:25 FireCode 阅读(269) 评论(0) 推荐(0)
摘要:一、乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作 阅读全文
posted @ 2020-08-13 21:50 FireCode 阅读(170) 评论(0) 推荐(0)
摘要:一、接口继承关系和实现 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。 1. Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 2. Iterator:迭代器,可以通过迭代器 阅读全文
posted @ 2020-08-13 15:05 FireCode 阅读(136) 评论(0) 推荐(0)
摘要:一、管程法 /** * 并发协作模型:生产者消费者实现方式:管程法 * 借助缓冲区 * @author DARK * */ public class CoTest01 { public static void main(String[] args) { SynContainer container= 阅读全文
posted @ 2020-08-04 10:30 FireCode 阅读(127) 评论(0) 推荐(0)
摘要:一、Java 线程实现/创建方式 注意: • 新建的线程不会自动开始运行,必须通过start( )方法启动 • 不能直接调用run()来启动线程,这样run()将作为一个普通方法立即执行,执行完毕前其他线程无法并发执行 • Java程序启动时,会立刻创建主线程,main就是在这个线程上运行。当不再产 阅读全文
posted @ 2020-07-20 08:51 FireCode 阅读(3219) 评论(0) 推荐(1)
摘要:sleep 的源码: pub1ic class Thread implements Runnable { //native 表示调用操作系统底层实现的方法 pub1ic static native void sleep(1ong millis) throws InterruptedException 阅读全文
posted @ 2020-07-09 20:50 FireCode 阅读(499) 评论(0) 推荐(0)
摘要:1. 通过new对象实现反射机制( 对象.getClass() ) 2. 通过路径实现反射机制( Class.forName("包名.类名") ) 3. 通过类名实现反射机制 ( 类名.Class ) 4. 通过类加载器xxxClassLoader.loadClass()传入类路径获取:通过类加载器 阅读全文
posted @ 2020-07-08 17:49 FireCode 阅读(8760) 评论(0) 推荐(0)
摘要:finalize是一个属于0bject类的一 个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调用system. gc()方法的时候,由垃圾回收器调用finalize() ,回收垃圾,一个对象是否可回收的最后判断。当然,这里的调用sysytem.gc() 只是建议JVM垃 阅读全文
posted @ 2020-07-06 17:34 FireCode 阅读(221) 评论(0) 推荐(0)
摘要:1.定义多线程类的两种方式: a) extends Thread b) Implements Runnalbe2.线程的状态: a) new 新生态 b) 就绪状态(调用start方法后) c) 运行状态. d) 阻塞状态 i. sleep: 不会释放持有的对象锁 ii. join:等待另一个线程执 阅读全文
posted @ 2020-07-05 18:58 FireCode 阅读(170) 评论(0) 推荐(0)
摘要:Collection 一、List (有序,可重复) 1、ArrayList底层用数组实现。线程不安全,效率高 2、LinkedList:底层用双向链表实现。线程不安全,效率高 3、Vector:底层用数组实现。线程安全,效率低 4、和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率 阅读全文
posted @ 2020-07-05 18:49 FireCode 阅读(224) 评论(0) 推荐(0)
摘要:栈 1. 存放局部变量 2. 不可以被多个线程共享 3. 空间连续,速度快 堆 1. 存放对象 2. 可以被多个线程共享 3. 空间不连续,速度慢。但是灵活 方法区 1. 存放类的信息:代码、静态变量、字符串常量等 2. 可以被多个线程共享 3. 空间不连续,速度慢。但是灵活详细分析请看 阅读全文
posted @ 2020-07-05 18:43 FireCode 阅读(225) 评论(0) 推荐(0)
摘要:方法重载(Overload): 两同(同一个类、同一个方法名)三不同(参数列表不同:;类型、个数、顺序) 返回值不同,构成重载吗? No 形参名称不同,构成重载吗? No 方法重写(0verride): 子类定义一个和父类方法名,参数完全相同的方法。 =: 方法名保持一致 >=: 子类权限修饰符可以 阅读全文
posted @ 2020-07-05 18:25 FireCode 阅读(229) 评论(0) 推荐(1)