![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 92
can_chen
自知无知,永远求知!
展开
-
正则表达式
文章目录一、 整体匹配和部分匹配二、贪婪匹配和非贪婪匹配三、分组 捕获 反向引用四、String类关于正则表达式的应用五、其它正则表达式案例菜鸟教程正则表达式:https://www.runoob.com/regexp/regexp-tutorial.htmlJava正则表达式:https://www.runoob.com/java/java-regular-expressions.html一、 整体匹配和部分匹配部分匹配一般用于提取字符串中符合规则的子串,而整体匹配一般用于验证某个字符串是否符合规原创 2021-10-30 23:59:20 · 1351 阅读 · 0 评论 -
Java多线程和锁
文章目录1. 高并发和多线程2. synchronized 关键字3. synchronized锁和Lock锁的区别4. JMM(Java Memory Model)5. volatile关键字1. 高并发和多线程高并发指的是在同一时刻/短时间内接收到大量的请求,例如双十一,在12点整的时候,会有大量的用户同时进行商品下单操作,如果系统没有应对高并发的措施,那么会出现同一时刻若干请求同时落到服务器,造成服务器奔溃。多线程是解决高并发的一种措施,但并不是一定得通过多线程去解决高并发,还可以通过消息队列,原创 2021-10-07 03:08:19 · 906 阅读 · 0 评论 -
Java IO流
文章目录一、文件1. 创建文件2. 文件相关操作3. 目录相关操作二、IO流1. IO流的分类2. IO流体系图三、字节文件流1. 字节文件输入流 FileInputStream2. 字节文件输出流 FileOutputStream四、字符文件流1. 字符文件输入流 FileReader2. 字符文件输出流 FileWriter五、节点流和处理流六、字符缓冲流1. 字符输入缓冲流 BufferedReader2. 字符输出缓冲流 BufferedWriter3. 通过BufferedReader和Buf原创 2021-09-26 10:05:57 · 600 阅读 · 0 评论 -
线程池相关
池化技术的出现是为了优化资源的使用,常见的池化技术有:线程池、JDBC连接池、内存池、对象池……线程池的好处有:线程复用,管理线程,控制最大并发数(假设线程池有5个线程,那么最大并发数为5,当然,还要考虑电脑的CPU是几核的)传统方式创建线程下面的代码例子是使用传统的方式创建10个线程,这样做的弊端是频繁的创建线程和销毁线程会导致非常大的系统开销;从代码的运行结果也可以看到每个线程都是不一样的,也就是线程用完即销毁,用时再创建,并没有实现复用public static void main(Stri原创 2020-09-20 16:25:56 · 221 阅读 · 0 评论 -
java序列化和反序列化
先回顾一下java流之间的关系:序列化: 指堆内存中的java对象数据,通过某种方式把对存储到磁盘文件中,或者传递给其他网络节点(网络传输)。这个过程称为序列化,通常是指将数据结构或对象转化成二进制的过程。序列化的好处就是便于运输和存储反序列化: 把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模型的过程。也就是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程java代码实现序列化和反序列化public class Main { public static原创 2020-08-17 13:20:59 · 269 阅读 · 0 评论 -
关于Object类的clone()方法
clone()方法是用于浅克隆或者深克隆一个java对象的,但是要注意一个误区:clone方法是Object类的,并不是Cloneable接口的,Cloneable只是一个标记接口,标记接口是用于标记实现该接口的类具有某种该接口标记的功能,常见的标记接口有三个:Serializable、Cloneable、RandomAccess,没有实现Cloneable接口,那么调用clone方法就会爆出CloneNotSupportedException异常。要使得一个java类可以实现克隆,那么该类就需要实现Cl原创 2020-06-17 19:26:15 · 1675 阅读 · 0 评论 -
深浅克隆之Arrays.copyOf()
Arrays.copyOf()是数组的复制,那么Arrays.copyOf()实现的是深克隆还是浅克隆呢?我们先来看看什么是深克隆,什么是浅克隆?首先我们要明确的是,不管是深克隆还是浅克隆,克隆后都会在堆内存空间中开辟一块新地址来存储克隆后的对象,有区别的只是对于原型对象中成员变量是基本数据类型、String类型和引用类型的不同处理浅克隆浅克隆(Shadow Clone)是把原型对象中成员...原创 2020-04-17 02:04:50 · 1787 阅读 · 0 评论 -
java中的耦合与Spring IOC实现解耦
耦合在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,即代表对象之间的依赖性很强,维护成本越高,因此对象的设计应使类和构件之间的耦合最小(高内聚低耦合),耦合在java中指的是,两个类之间的联系的紧密程度。我们先来看一个例子:这个例子中A类的方法参数使用到了B类,即A类依赖于B类,这是一种很强的耦合关系,因为A类的ATest方法只能使用B类,不能使用其它类了,另外,如...原创 2020-03-19 01:16:27 · 1150 阅读 · 0 评论 -
(面试常问)java的反射机制
在面向对象的世界里,万事万物皆对象;其实,在java语言中,静态的成员、普通数据类型(例如int a=5)是不属于对象的,静态的成员是属于类的而不是属于对象的,而普通数据类型虽然不是属于对象的,但是它们有对应的包装类。所以,在面向对象世界里,最好看作万事万物皆对象。类也是对象,是java.lang.Class类的对象例如我们我们自定义的person类也是对象,是Class类的实例对象,官方的叫...原创 2020-03-19 11:18:47 · 309 阅读 · 0 评论 -
(易混点)java中,关于子类继承父类的private方法与final方法
(易混点)java中,关于子类继承父类的private方法与final方法对于子类继承父类的方法,相信很多人都已经掌握得非常熟悉了,今天由于在做牛客网的一道关于这个知识点的面试题,忽略了一个非常重要的细节,导致入坑了。因此,在这里分享自己的总结:一来是希望可以加深自己的理解,防止再次掉坑,二来也是希望跟大家一起分享,一起学习,有写的不对的地方欢迎大家指正。以下附上牛客网上的原题正确的答案是...原创 2019-12-06 15:20:20 · 4304 阅读 · 4 评论 -
String字符串的常见题型汇总
String字符串的题型是非常常见的,我个人在牛客网上刷题也遇到过很多次,虽然题目不难,但是如果一些细节不加以注意,就会做错,接下来我将列出常见的几种类型题,并通过内存图解的方式进行一一解答,如有不对的地方,欢迎指正!(所画内存图解都是基于JDK1.8的,也就是字符串常量池已经移到堆内存中了)1.字符串常量String s1="hello";String s2="hello";System...原创 2020-05-07 18:19:50 · 632 阅读 · 0 评论