#JavaBase
文章平均质量分 94
基础不牢 地动山摇。打好基础比啥都重要。
CodeJiao
今之视昔,亦如后世视今。
展开
-
Java正则表达式介绍和使用规则(Pattern类、Matcher类、PatternSyntaxException类)
正则表达式(regular expression,简称regex)是文本处理方面功能最强大的工具之一,正则表达式语言用来构造正则表达式(最终构造出来的字符串就称为正则表达式),正则表达式用来完成搜索和替换操作。原创 2022-05-24 23:31:12 · 1445 阅读 · 0 评论 -
Java8 新特性 -- Lambda表达式:函数式接口、方法的默认实现和静态方法、方法引用、注解、类型推测、Optional类、Stream类、调用JavaScript、Base64
Lambda表达式:函数式接口、方法的默认实现和静态方法、方法引用、注解、类型推测、Optional类、Stream类、调用JavaScript、Base64原创 2022-04-16 11:46:16 · 984 阅读 · 0 评论 -
Java中的锁机制 -- 乐观锁、悲观锁、自旋锁、可重入锁、读写锁、公平锁、非公平锁、共享锁、独占锁、重量级锁、轻量级锁、偏向锁、分段锁、互斥锁、同步锁、死锁、锁粗化、锁消除
乐观锁是一种乐观思想,假定当前环境是读多写少,遇到并发写的概率比较低,读数据时认为别的线程不会正在进行修改(所以没有上锁)。写数据时,判断当前与期望 值是否相同,如果相同则进行更新(更新期间加锁,保证是原子性的)。Java中的乐观锁:CAS(Compare And Set),比较并替换,比较当前值(主内存中的值),与预期值(当前线程中的值,主内存中值的一份拷贝)是否一样,一样则更新,否则继续进行CAS操作。如上图所示,乐观锁可以同时进行读操作,读的时候其他线程不能进行写操作。悲观锁是一种悲观思想,即认为写多原创 2022-04-12 15:52:33 · 2318 阅读 · 0 评论 -
Java集合 -- 疑难点总结(Arrays.asList()正确使用、Collection.toArray()正确使用、反转数组、 foreach 循环不要进行元素的 remove/add 操作)
Java集合:疑难点总结(Arrays.asList()正确使用、Collection.toArray()正确使用、反转数组、 foreach 循环不要进行元素的 remove/add 操作)原创 2022-05-11 16:13:03 · 642 阅读 · 0 评论 -
Java基础 -- 疑难点总结(equls的正确姿势、整型包装类值的比较、BigDecimal的正确姿势、基本数据类型与包装数据类型的使用标准)、P3C插件(阿里规范插件)
equls的正确姿势、整型包装类值的比较、BigDecimal的正确姿势、基本数据类型与包装数据类型的使用标准)、P3C插件(阿里规范插件)原创 2022-05-11 16:13:28 · 491 阅读 · 0 评论 -
Java多线程 -- synchronized 关键字、双重检验锁方式实现单例模式、synchronized和ReentrantLock 的区别
1. synchronized 关键字1.1 说一说自己对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized 属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的 Mutex Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线转载 2022-05-11 16:13:35 · 1092 阅读 · 0 评论 -
Java多线程 -- 线程的生命周期和状态、什么是上下文切换、线程死锁、避免死锁、 sleep() 方法和 wait() 方法的区别和共同点、为什么调用 start() 方法会执行 run() 方法
Java多线程 -- 线程的生命周期和状态、什么是上下文切换、线程死锁、避免死锁、 sleep() 方法和 wait() 方法的区别和共同点转载 2022-05-11 16:13:56 · 362 阅读 · 0 评论 -
Java多线程 -- 什么是线程和进程、线程和进程的联系(Java内存结构)、并发与并行、为何使用多线程、使用多线程可能带来什么问题
Java多线程 -- 什么是线程和进程、线程和进程的联系(Java内存结构)、并发与并行、为何使用多线程、使用多线程可能带来什么问题原创 2022-05-12 09:41:31 · 599 阅读 · 0 评论 -
Java集合 -- HashMap底层实现、HashMap 的长度为什么是2的幂次方、ConcurrentHashMap 和 Hashtable、ConcurrentHashMap线程安全的实现
1. HashMap底层实现转载 2022-05-11 16:13:42 · 235 阅读 · 0 评论 -
Java集合 -- ArrayList 的扩容机制、HashMap 和 Hashtable的区别、HashMap 和 HashSet区别、HashSet如何检查重复
ArrayList 的扩容机制、HashMap 和 Hashtable的区别、HashMap 和 HashSet区别、HashSet如何检查重复原创 2022-05-12 09:42:34 · 281 阅读 · 0 评论 -
Java集合 -- List、Set、Map三者的区别、Arraylist 与 LinkedList 区别、RandomAccess接口、双向链表和双向循环链表、ArrayList 与 Vector
1. List、Set、Map三者的区别List(对付顺序的好帮手): List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象。Set(注重独一无二的性质):不允许存储重复的元素。不会有多个元素引用相同的对象。Map(用Key来搜索的专家): 使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。1.1 Collection体系1.2 什么叫做有序?有序指的是添加的顺序与遍转载 2022-05-12 09:41:19 · 405 阅读 · 0 评论 -
Java基础 -- 序列化、transient关键字(字段反序列化)、获取用键盘输入常用的两种方法(Scannner、BufferedReader)
序列化、transient关键字(字段反序列化)、获取用键盘输入常用的两种方法(Scannner、BufferedReader)原创 2022-05-12 09:42:18 · 638 阅读 · 0 评论 -
Java基础 -- 线程、程序、进程的基本概念和联系,线程的基本状态,final关键字,Java 中的异常处理
线程、程序、进程的基本概念和联系,线程的基本状态,final关键字,Java 中的异常处理原创 2022-05-12 09:42:06 · 256 阅读 · 0 评论 -
Java基础 -- new、对象实体与对象引用、方法的返回值、构造方法、== 与 equals、hashCode 与 equals、为什么Java只有值传递
1. 创建一个对象用什么运算符?对象实体与对象引用有何不同?new运算符,new创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。一个对象引用可以指向0个或1个对象(一根绳子可以不系气球,也可以系一个气球);一个对象可以有n个引用指向它(可以用n条绳子系住一个气球)。2. 什么是方法的返回值?返回值在类的方法里的作用是什么?方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果!(前提是该方法可能产生结果)。返回值的作用:接收出结果,使得它可以用于其他的操转载 2022-05-12 09:41:56 · 810 阅读 · 0 评论 -
Java基础 -- 静态方法和实例方法有何不同、无参构造函数有什么作用、import java和javax有什么区别、接口和抽象类、成员变量与局部变量的区别有哪些(成员变量有默认赋值)
静态方法和实例方法有何不同、无参构造函数有什么作用、import java和javax有什么区别、成员变量与局部变量的区别有哪些(成员变量有默认赋值)原创 2022-05-12 09:41:42 · 385 阅读 · 0 评论 -
Java基础 -- 字符串类(String、StringBuffer、StringBuilder)、自动装箱与拆箱
字符串类(String、StringBuffer、StringBuilder)、自动装箱与拆箱原创 2022-05-11 16:12:44 · 661 阅读 · 2 评论 -
Java基础 -- Java和C++的区别、应用程序和小程序、字符型常量和字符串常量、重载和重写、 Java 面向对象编程三大特性(this和super关键字)
Java和C++的区别、应用程序和小程序、字符型常量和字符串常量、重载和重写、 Java 面向对象编程三大特性(this和super关键字)原创 2022-05-11 16:12:31 · 174 阅读 · 0 评论