
java基础
卧虫呀
这个作者很懒,什么都没留下…
展开
-
事务
一 数据库事务的隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。1. Read UnCommitted(读未提交)最低的隔离级别。一个事务可以读取另一个事务并未提交的更新结果。2. Read Committed(读提交)大部分数据库采用的默认隔离级别。一个事务的更新操作结果只有在该事务提交之后...原创 2020-07-01 23:51:06 · 156 阅读 · 0 评论 -
ArrayList和LinkedList的区别
ArrayList和LinkedList的大致区别如下:ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。 对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。 对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。因为数组在存储数据时是按顺序存储的,存储数据的内存也是连续的,所以他的特点就是寻址读取数据比较容易,插入和删除比较困难。举个例子:一个原创 2020-06-27 22:00:07 · 229 阅读 · 0 评论 -
static 关键字
static 关键字主要有以下四种使用场景:修饰成员变量和成员方法:被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。调用格式:类名.静态变量名类名.静态方法名() 静态代码块:静态代码块定义在类中方法外, 静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)。 该类不管创建多少对象,静态代码块只执行一次. ...原创 2020-06-27 16:47:49 · 124 阅读 · 0 评论 -
final 关键字
final关键字,意思是最终的、不可修改的,最见不得变化 ,用来修饰类、方法和变量,具有以下特点: final修饰的类不能被继承,final类中的所有成员方法都会被隐式的指定为final方法; final修饰的方法不能被重写; final修饰的变量是常量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能让其指向另一个对象。 说明:使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原创 2020-06-27 16:43:30 · 156 阅读 · 0 评论 -
BIO,NIO,AIO 有什么区别?
BIO (Blocking I/O):同步阻塞 I/O 模式,数据的读取写入必须阻塞在一个线程内等待其完成。在活动连接数不是特别高(小于单机 1000)的情况下,这种模型是比较不错的,可以让每一个连接专注于自己的 I/O 并且编程模型简单,也不用过多考虑系统的过载、限流等问题。线程池本身就是一个天然的漏斗,可以缓冲一些系统处理不了的连接或请求。但是,当面对十万甚至百万级连接的时候,传统的 BIO 模型是无能为力的。因此,我们需要一种更高效的 I/O 处理模型来应对更高的并发量。 NIO (Non-blo.原创 2020-06-17 14:19:07 · 177 阅读 · 0 评论 -
String、StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
简单的来说:String类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以String对象是不可变的。补充:在 Java 9 之后,String 类的实现改用 byte 数组存储字符串private final byte[] value;而StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字...原创 2020-06-16 16:52:48 · 210 阅读 · 0 评论 -
java为什么重写 equals 时必须重写 hashCode 方法
不知道大家在面试的时候,有没有被面试官问过:“重写 equals 时必须重写 hashCode 方法吗?”这个问题的答案是肯定的,重写 equals 时必须重写 hashCode 方法!!!什么是hashCodehashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在 JDK 的 Object.java 中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。散列原创 2020-06-16 16:47:05 · 233 阅读 · 0 评论 -
java中 == 与 equals的区别
==: 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)。equals(): 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:情况 1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。 情况 2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来比较两个对象的内容是否相等;若它们的内容相等,则返回 tr..原创 2020-06-16 16:34:29 · 138 阅读 · 0 评论 -
Object 类的常见方法总结
Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法:public final native Class<?> getClass()//native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。public native int hashCode() //native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的HashMap。public boolean equals(Object obj)//原创 2020-06-16 16:28:11 · 284 阅读 · 0 评论 -
java自动装箱与拆箱你真的搞清楚了吗
本文的内容摘自:https://gitee.com/SnailClimb/JavaGuide装箱:将基本类型用它们对应的引用类型包装起来;拆箱:将包装类型转换为基本数据类型;Java 基本类型的包装类的大部分都实现了常量池技术,即 Byte,Short,Integer,Long,Character,Boolean;前面 4 种包装类默认创建了数值[-128,127] 的相应类型的缓存数据,Character创建了数值在[0,127]范围的缓存数据,Boolean 直接返回True Or Fals原创 2020-06-16 14:56:18 · 219 阅读 · 0 评论 -
java到底是值传递还是引用传递
Java 程序设计语言总是采用按值调用。也就是说,方法得到的是所有参数值的一个拷贝,也就是说,方法不能修改传递给它的任何参数变量的内容。下面通过 3 个例子来给大家说明example 1public static void main(String[] args) { int num1 = 10; int num2 = 20; swap(num1, num2); System.out.println("num1 = " + num1); Syste原创 2020-06-16 15:17:56 · 209 阅读 · 0 评论