
java基础
文章平均质量分 87
Jarbein
这个作者很懒,什么都没留下…
展开
-
正则表达式(判断字符串不是abc)
正则表达式(判断字符串不是abc)题目理解判断字符串不是abc,听起来很简单,拿着正则判断是abc返回true,然后直接取反不就行了,可是这个取反操作要在代码里去取反,那么如何直接在正则表达式中去判断呢,也就是如果不是abc那么就直接返回true,是abc就返回false。相关答案下边根据是否考虑""这种情况提供了几种答案(下边几种答案java中运行符合要求):.{4,}|^.*(?<!bc)|(?!ab).*$ (""会返回true).{4,}|^.+(?<!bc)原创 2021-06-19 13:49:50 · 2211 阅读 · 0 评论 -
lambda相关知识点
1.lambdalambda的基本语法格式是(参数) -> {函数体}什么时候可以不写(),什么时候可以不写{}只有一个参数时,()可以不写函数体只有一条语句时,{}可以省略什么是方法引用和构造器引用方法引用...原创 2021-06-13 21:52:57 · 309 阅读 · 0 评论 -
java线程池核心知识点
1、为什么要用线程池2、线程池原理-概念3、线程池API-接口定义和实现类3.1、ExcutorService3.2、ScheduledExcutorService原创 2020-06-14 21:29:44 · 275 阅读 · 0 评论 -
java程序运行原理分析(JVM等)
class文件内容原创 2020-05-14 22:43:35 · 136 阅读 · 0 评论 -
java string 中替换字符串函数区别
1、JAVA中,char占2字节,16位。可在存放汉字2、java中replace用法举例:replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。如下所示: String sentence1 = "一棵大树"; String sentence2 = ...原创 2020-02-29 11:02:41 · 4282 阅读 · 0 评论 -
接口和抽象类的区别(全面)
抽象类接口默认的方法实现可以有默认的方法实现jdk1.8之前不能有默认方法实现,jdk1.8开始支持用default进行默认方法的实现,这个默认实现方法并不强迫实现类去实现实现子类使用extends关键字来继承抽象类,如果子类不是抽象类的话,那么子类要实现抽象类中的所有声明的方法子类通过implements来实现接口,子类需要实现接口中所有声明的方法构造器...原创 2020-01-15 17:47:24 · 332 阅读 · 0 评论 -
ReentrantLock源码解析
本文主要对lock接口的实现类ReentrantLock做一个源码解析,希望可以帮到大家更好的理解ReentrantLock加锁解锁的原理原创 2020-01-13 21:10:54 · 368 阅读 · 0 评论 -
jdk1.8 ThreadLocal解析(使用+源码解读+应用场景+注意事项)
jdk1.8 ThreadLocal解析(使用+源码解读+应用场景+注意事项)原创 2019-12-10 18:03:04 · 418 阅读 · 0 评论 -
关于读写锁
下边是读写锁搭配的一个示例代码(伪代码)// 缓存示例public class CacheDataDemo { // 创建一个map用于缓存 private Map<String, Object> map = new HashMap<>(); private static ReadWriteLock rwl = new ReentrantRead...原创 2019-10-14 12:21:18 · 398 阅读 · 0 评论 -
java中锁的概念
自旋锁(属于乐观锁)为了不放弃cpu执行事件,循环的使用cas技术(在更改值时先再次获取值看值是否与刚才获取的相同,不相同说明被其他线程改变,则不进行操作,进行while循环,直到相同为止,再对值进行操作)对数据尝试进行更新,直到成功。悲观锁假定会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁。乐观锁假定没有冲突,在修改数据时,如果发现数据和之前获取的不一样,则读最新数据,重...原创 2019-10-14 10:14:19 · 919 阅读 · 0 评论 -
关于单例模式懒汉式的线程安全问题,synchronized,volatile的使用
首先将正确代码放出来同时说明一下,到单例模式的饿汉式加载是线程安全的,因为一开始就已经将唯一的对象创建好了,调用时只要返回就行了以上是一个正确的线程安全的懒汉式写法,这里主要讲两个知识点,一个是synchronized代码块的作用,一个是volatile的作用。java内存模型(JMM)synchronized如何做到可见性如果没有加synchronized代码块,那么可能多个线程...原创 2019-10-11 10:12:03 · 1308 阅读 · 7 评论 -
java lambda表达式
java lambda表达式此教程是自己听的一个网上的视频,然后做了一下记录,由于注释做的记录很详细,所以注释是主要部分由于最近想看jdk8源码进行学习,就先把新特性lambda表达式了解了一下一、首先了解什么是lambda表达式二、由于Lambda表达式主要是对接口的简单实现,所以准备一些参数和返回类型不同的情况的接口下边是具有返回值和具有一个参数要实现的方法的接口,不要...原创 2019-05-23 21:14:00 · 346 阅读 · 0 评论 -
关于lock和synchronized的选择
关于lock和synchronized的选择这里不介绍具体用法,介绍lock和synchronized的不同从而做出选择1.lock是一个接口,而synchronized是java中的一个关键字,synchronized是内置的语言实现。2.synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而lock在发生异常时,如果没有主动通过unlock(...原创 2019-05-08 20:58:00 · 400 阅读 · 0 评论 -
JDK和JRE的区别
JDK和JRE的区别JDK:是用于支持Java程序开发的最小环境,基本上Java程序设计语言,Java虚拟机,JavaAPI这三部分组成了JDKJRE:是支持Java运行的标准环境,JavaAPI类库中的Java SE API自己和Java虚拟机这两部分组成了JRE...原创 2018-09-13 20:44:00 · 242 阅读 · 0 评论