![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 67
--流星。
二次元码农
展开
-
Java复习总结之正则表达式
10分钟学会正则表达式原创 2022-10-27 10:33:14 · 253 阅读 · 0 评论 -
JDBC技术(三)——使用Druid数据库连接池测试
集成druid,操作数据库的表原创 2022-08-08 17:22:18 · 1012 阅读 · 0 评论 -
JDBC技术(二)——设置通用的sql和配置文件
封装通用sql,设置配置文件原创 2022-08-08 15:51:45 · 394 阅读 · 0 评论 -
JDBC技术(一)——一个简单的JDBC测试
手写jdbc连接测试(纯java)原创 2022-08-08 14:32:27 · 955 阅读 · 0 评论 -
Java复习总结之I/O流
i/o流的分类及常见流对文件的写入读取的实现原创 2022-07-31 17:32:13 · 178 阅读 · 0 评论 -
Java复习总结之设计模式及其实现
必会的5种设计模式及其实现原创 2022-06-10 00:44:38 · 1798 阅读 · 0 评论 -
JavaCollection框架之解析ConcurrentHashMap
从源码角度一文搞懂1.7的ConcurrentHashMap和1.8的ConcurrentHashMap之间的区别原创 2022-06-07 22:14:25 · 171 阅读 · 0 评论 -
JavaCollection框架之解析HashMap1.8
一文搞懂hashmap1.8的底层数据结构和存储机制原创 2022-04-12 20:37:42 · 450 阅读 · 0 评论 -
Java复习总结之快速区分值传递和引用传递
快速区分值传递和引用传递原创 2022-03-15 21:30:07 · 4477 阅读 · 0 评论 -
Java复习总结之代理模式及其实现
三大代理模式及其对应的实现代码原创 2022-01-21 11:31:19 · 491 阅读 · 0 评论 -
Java复习总结之反射及其实现
什么是反射反射,指能够分析类信息的能力叫做反射(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到类对象之后,再通过类对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁原创 2022-01-20 16:53:38 · 674 阅读 · 1 评论 -
Java:你不知道的那些事(三)——为什么重写equals还要重写hashCode
引言在面试题中,关于equals的问题可以说是很常见的了,例如:1、equals和 == 有什么区别?2、hashcode相等的两个对象一定==相等吗?equals相等吗?3、两个对象用equals比较相等,那它们的hashcode相等吗?关于问题一,我会在博客的末尾附上我的另一篇博客链接。本篇博客重点探究问题二和问题三。原创 2022-01-20 09:42:59 · 209 阅读 · 0 评论 -
Java复习总结之异常
首先我们来看一下java异常体系结构图异常体系分类1、Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为 Error 和Exception,分别表示错误和异常。2、其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常。这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。1、Error(错误)与Exception(异常)1、Error是程序无法处理原创 2022-01-20 00:36:28 · 73 阅读 · 0 评论 -
从源码角度解析 “==” 和 equals 关于引用数据类型方面的区别
一文可知 “==” 和 equals 的区别原创 2022-01-19 12:17:58 · 512 阅读 · 0 评论 -
Java复习总结之抽象类与接口
抽象类和接口总结原创 2022-01-19 11:37:01 · 297 阅读 · 0 评论 -
Java复习总结之访问权限与构造器
Java普通方法的访问权限和构造器原创 2022-01-18 15:04:06 · 1530 阅读 · 0 评论 -
Java复习总结之解析类的初始化顺序
引言当我们需要做一些必要的事情时,我们会根据具体的情况来确定先做什么,再做什么,就像这件事很急,所以我们先把它完成。那件事不着急,我们可以把它放在靠后的顺序再做。同理,对于Java来说,对于一个类的编译,也是分先来后到的。让我们通过下面的事例来探究Java初始化类的“先来后到”。实例public class StaticInit { private static int k = 1; private static StaticInit t1 = new StaticInit("t1原创 2022-01-18 10:22:27 · 1660 阅读 · 0 评论 -
Java复习总结之变量与关键字
变量划分,final关键字,static关键字原创 2022-01-17 22:48:57 · 253 阅读 · 0 评论 -
Java:你不知道的那些事(二)——字符串拼接与比较
引言当你看到本博客的标题时,你是否会感觉到疑惑?疑惑为什么一个简简单单的字符串拼接和比较也要写。你要是这么想就错了,其实,字符串拼接也藏着些许的小秘密。通过以下几个实例后,你就能够清楚的了解字符串拼接和比较的“秘密”了。实例1public static void main(String[] args) { String aString = "123"; String bString = "123"; System.out.println(aString == bString);}原创 2022-01-16 23:10:13 · 282 阅读 · 0 评论 -
Java:你不知道的那些事(一)——128陷阱
引言你是否对128陷阱产生了疑惑?什么是128陷阱呢?128陷阱又如何产生的呢?下面的事例或许会让你对此更加的清晰。具体事例public class Test { public static void main(String[] args) { Integer a1=127; Integer a2=127; Integer b1=128; Integer b2=128; System.out.println(a原创 2022-01-15 23:34:27 · 92 阅读 · 0 评论 -
浅谈String、StringBuffer和StringBuilder
String1、String 是 Java 中很常用的类之一2、由于 String 是 final 修饰的,无法被继承。所以 String 不是 Java 的基本数据类型3、字符串在 Java 中是不可变的,因此适合在多线程环境下使用4、当我们使用双引号创建一个字符串时,如下:String str1 = “ABC”;JVM 首先在字符串池中寻找具有相同值的字符串,如果找到了,它将返回字符串池中的字符串对象的地址。否则,它会在字符串池中创建字符串对象并返回地址。JVM 通过在不同的线程中使用原创 2022-01-16 22:07:05 · 201 阅读 · 0 评论 -
java 8 新特性(四)——Stream流
简介Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处原创 2021-10-12 16:08:25 · 175 阅读 · 0 评论 -
Java 8 新特性(二)——方法引用
简介1、方法引用通过方法的名字来指向一个方法。2、方法引用可以使语言的构造更紧凑简洁,减少冗余代码。3、方法引用使用一对冒号 :: 。实例静态方法引用:它的语法是Class::static_method,实例如下:cars.forEach( Car::collide );特定类的任意对象的方法引用:它的语法是Class::method实例如下:cars.forEach( Car::repair );特定对象的方法引用:它的语法是instance::method实例如下:原创 2021-10-01 21:41:19 · 62 阅读 · 0 评论 -
Java 8 新特性(一)——Lambda表达式
简介1、 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。2、 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。3、 使用 Lambda 表达式可以使代码变的更加简洁紧凑。表达式实例语法格式:(parameters) -> expression或(parameters) ->{ statements; }// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返原创 2021-09-24 17:17:20 · 63 阅读 · 0 评论 -
10分钟教会你希尔排序
10分钟教会你希尔排序原创 2021-09-04 19:28:14 · 650 阅读 · 0 评论 -
10分钟教会你归并排序
10分钟教会你归并排序原创 2021-09-04 14:56:18 · 161 阅读 · 0 评论 -
10分钟教会你基数排序
10分钟教会你基数排序原创 2021-09-04 14:45:52 · 70 阅读 · 0 评论 -
Java八大排序之堆排序
堆排序的特点①:完全二叉树(从上到下,从左到右,每一层的节点都是满的,最下边一层所有的节点都是连续集中在最左边)。②:二叉树每个结点的值都大于或者等于其左右孩子节点的值称之为大顶堆。二叉树每个结点的值都小于或者等于其左右孩子节点的值称之为小顶堆。我们将数组转化为堆的数据结构我们可以看到以下的规律1、N[i]的左节点:N[2i+1]2、N[i]的右节点:N[2i+2]3、N[i]的父节点:N[(i-1)/2)]基本思想1、将带排序的序列构造成一个大顶堆,根据大顶堆的性质,当前堆原创 2021-09-02 15:43:07 · 67 阅读 · 0 评论 -
Java八大排序之插入排序和快速排序
插入排序基本原理:1、插入排序(英语:InsertionSort)是一种简单直观的排序算法。2、它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。3、插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。动态图示:代码:public static void InsertionSort(int[] arr) { // 定义 j , 目的是将数据放入到对应的位置 int j = 0; fo原创 2021-09-02 15:17:00 · 207 阅读 · 0 评论 -
Java八大排序之冒泡排序和选择排序
冒泡排序基本原理:1、对存放原始数组的数据,按照从前往后的方向进行多次扫描,每次扫描都称为一趟。2、当发现相邻两个数据的大小次序不符合时,即将这两个数据进行互换,如果从小大小排序,这时较小的数据就会逐个往前移动,好像气泡网上漂浮一样。动态图示:代码:...原创 2021-09-02 14:59:54 · 95 阅读 · 0 评论 -
int、String和char类型的数据之间的转化
1、int转化成String数据int a=12;String str=String.valueOf(b);或int a=12;String str=""+a;源码:2、String转化成int数据String a="123";int b=Integer.parseInt(a);源码:3、String转化成char型数组数据String a="123";char[] b=a.toCharArray();源码:4、String转化成String型数组数据Strin原创 2021-08-29 18:01:58 · 202 阅读 · 0 评论 -
Java基础知识1
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-07-06 01:52:39 · 68 阅读 · 0 评论 -
ArrayList数组的几个常用口令总结
ArrayList简介1、 底层的数据结构是线性表中的顺序表,底层是一个长度可以动态增长的数组。2、常规的数组有很多缺点,ArrayList数组弥补了常规数组的缺点3、从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。4、左侧<>中的String代表这个ArrayList数组中存储的类型为String类型。若想在一个ArrayList数组中存不同类型数据,请使用Object语法: //ArrayList<Object> list原创 2021-08-29 00:34:18 · 91 阅读 · 0 评论