![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
It_PenGuin
这个作者很懒,什么都没留下…
展开
-
将扁平化的 Map 转换成分层 Map,方便转换 Json
然后我们使用一个嵌套的循环遍历所有的键值对,并将它们插入到新的LinkedHashMap中。在插入的过程中,我们需要递归地查找并创建当前层次的Map。首先,我们可以定义一个嵌套的Map,表示我们的数据结构。假设我们的数据包含三个键值对,分别代表“level1.level2.key1”、“level1.level2.key2”和“level1.level3.key3”。具体来说,我们可以遍历原始Map中的所有键值对,并根据’.'进行分割,然后将分割后的键和值分别插入到新的LinkedHashMap中。原创 2023-06-01 14:31:42 · 269 阅读 · 0 评论 -
时间格式化
时间格式化。原创 2022-10-24 13:48:13 · 170 阅读 · 1 评论 -
Java获取yaml文件数据
通过 yaml 文件的 key 获取其值public class LiquibaseService { public Map yaml() { Yaml yaml = new Yaml(); URL url = LiquibaseController.class.getClassLoader().getResource("liquibase.yaml"); if (url != null) { try {原创 2021-10-18 09:30:41 · 1445 阅读 · 3 评论 -
Spring Boot 下 MyBatis 的几种使用方式
文章目录MyBatis + XMLMyBatis + 注解MyBatis-PlusMyBatis + XML使用 mybatis-spring-boot-starter 自动化配置 MyBatis 主要配置。同时,在 XML 中编写相应的 SQL 操作。1、引入依赖在 pom.xml 文件中,引入相关依赖。<dependencies> <dependency> <groupId>org.springframework.boot</.原创 2021-08-05 16:03:48 · 1687 阅读 · 0 评论 -
HikariCP连接池和Druid连接池
数据库连接池:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。HikariCPHikariCP是由日本程序员开源的一个数据库连接池组件,它大约130Kb,是一个快速、简单、可靠的JDBC连接池。代码非常轻量,并且速度非常的快。根据官方提供的数据,在i7,开启32个线程32个连接的情况下,进行随机数据库读写操作.原创 2021-02-05 14:13:59 · 3924 阅读 · 1 评论 -
如何使用Tika提取文件内容
如何使用Tika提取文件内容什么是Tika?Tika全名Apache Tika,是用于文件类型检测和从各种格式的文件中提取内容的一个库。Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据。使用Tika,可以轻松提取到的不同类型的文件内容,如电子表格,文本文件,图像,PDF文件甚至多媒体输入格式,在一定程度上提取结构化文本以及元数据。Tika提供用于解析不同文件格式的一个通用API。它采用83个现有的专业解析器库,所有这些解析器库是根据一个叫做Parser接口单一原创 2021-01-19 11:33:19 · 4555 阅读 · 0 评论 -
网络编程
网络编程概述Java是Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。ava提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由JVM 进行控制。并且Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。网络基础计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、.原创 2020-10-24 13:48:44 · 89 阅读 · 0 评论 -
Java 反射
反射什么是反射?反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。Java ReflectionReflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法Java反射机制提供的功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的成员变量和方法.原创 2020-09-03 19:29:47 · 144 阅读 · 0 评论 -
Java IO流
IO 概述输入(input):读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。将持久化的文件数据加载到内存中输出(output):将程序(内存)数据输出到磁盘、U盘等存储设备中Java 的IO 流主要包括输入流和输出流两种,每种输入、输出流又可分为字节流和字符流两大类:字节流以字节为单位来处理输入、输出操作(音频、图像、视频)字符流以字符为单位来处理输入、输出操作(文本文件)File 类File 类代表与平台无关的文件和目录。File 能新建、删除、重命名.原创 2020-08-26 21:52:53 · 115 阅读 · 0 评论 -
Java 多线程
程序、进程、线程概念程序(program):计算机指令的集合,以文件形式存储在磁盘上。即指一段静态的代码,静态对象。进程(process):是一个程序在其自身的地址空间中的一次执行活动;是系统进行资源分配、调度和独立运行的基本单位。程序是静态的,进程是动态的。(它使用系统资源)线程(thread):进程可进一步细化为线程,是一个程序内部的一条执行路径。是进程中的一个单一的连续控制流程,是操作系统能够运算调度的最小单位。被包含在进程中,是进程中的实际运作单位。一个进程可以拥有多个线程。若一个程.原创 2020-08-26 17:30:57 · 107 阅读 · 0 评论 -
lambda表达式和Stream流式处理
Lambda表达式lambda表达式 ,把代码变的更加简单。可读性比较差。简化匿名内部类的编写。直接实现接口中的函数函数实现用"->" 表示实现。{ }表示实现的具体逻辑。用接口去声明使用用声明的变量调用实现 的方法interface Inter{ int c();}interface Inter1{ int c(int x);}interface A{ int c(int a,int b);}interface B{ void b(.原创 2020-08-23 21:56:21 · 740 阅读 · 0 评论 -
Java异常
异常概述异常:程序执行中发生的不正常情况。开发过程中的语法错误不叫异常Java的异常处理:处理非预期的情况,如文件没找到,空指针等。Java程序运行过程中所发生的异常事件可分为两类:Error: JVM系统内部错误、资源耗尽等严重情况 (无法控制,不处理)Exception:其它因编程错误或偶然的外在因素导致的一般性问题。比如:空指针访问、试图读取不存在的文件等。是程序本身可以处理的异常异常分类Java的异常(包括Exception和Error)分为可查的异常(checked原创 2020-08-23 00:08:09 · 92 阅读 · 0 评论 -
Java集合框架
Java 集合概述Java 集合就像一种容器,可以把多个对象的引用放入容器中。Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组Java 集合可分为Set、List 和Map 三种体系Set:无序、不可重复的集合,set又是以map为底层实现List:有序,可重复的集合,list接口是以数组为底层实现,是有序的Map:具有映射关系的集合,key-value(键值对),map接口底层是hash函数,无序(不是随机)在Java5 之前,Java 集合会丢失容原创 2020-08-18 23:35:08 · 116 阅读 · 0 评论 -
java8 新特性- 日期类的使用
/** * java8 新特性 日期 * 旧的: Date非线程安全的。API设计的比较乱。 * java8: * java.time包下: * LocalDate : 年月日 * LocaLDateTime: 年月日时间 * LocatTime: 时间 */ @Test public void test10() { LocalDate date = LocalDate.now(原创 2020-08-17 00:03:50 · 210 阅读 · 0 评论 -
Java常用类
Object类Object类是类层次结构的根,Java中所有的类都继承自这个类Object类是Java中唯一没有父类的类其他所有的类都继承了Object类中的方法如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类public class Person{ ...}等价于:public class Person extends Object{ ...}==操作符引用类型比较(是否指向同一个对象)Person p1 =原创 2020-08-16 23:56:27 · 261 阅读 · 0 评论 -
Java-接口和抽象类
抽象类写法及作用范围随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。抽象方法:只有方法的声明,没有方法的实现。以分号结束。abstract int abstractMethod1( int a );含有抽象方法的类必须被声明为抽象类。抽象类不能被实例原创 2020-08-14 22:46:53 · 130 阅读 · 0 评论 -
Java字符串处理小知识
Java字符串处理public void test7() { String s = "abc"; // 1.字符串转字节数组,toCharArray() char[] charArray = s.toCharArray(); System.out.println(Arrays.toString(charArray)); // 2.替换字符串,将'b'替换成'123',replace(); 正则表达式 St原创 2020-08-14 00:05:42 · 151 阅读 · 0 评论 -
面向对象大纲总结
类和对象1、面向过程注重过程来发,什么事情都要自己去完成如 C语言2、面向对象注重类的设计,找一个对象去完成这件事如 Java3、类和对象类是一个抽象的、不具体的,如汽车图纸对象是真实存在的,是类的实例,如根据图纸造出来的汽车4、类包含什么属性(成员变量、实例变量)行为(成员方法)方法重载1.必须在一个类中2.要求方法名相同3.参数列表不相同(个数不同、类型不同、类型的顺序不同)参数传递值传递(基本数据类型传递,传递的是值的副本)引用传递(引原创 2020-08-12 16:45:01 · 200 阅读 · 0 评论 -
Java-多态
Java-多态1、什么是多态多态就是多种形态,同一个动作作用于不同的对象产生不同的行为多态性,可以理解为一个事物的多种表现形态。在Java中有两种体现:方法的重载(overload)和重写(overwrite)子类对象的多态性(可以直接应用在抽象类和接口上)对象的多态性指一个对象多种形态;在Java中,子类的对象可以替代父类的对象使用形成多态的必要条件:继承:存在子类和父类的关系接口实现:定义一个类实现对应的接口重写:子类重写了父类的方法重载:调用相同的方法名,实现的功能时原创 2020-08-10 22:36:16 · 125 阅读 · 0 评论 -
控制台的电话本管理系统
控制台的电话本管理系统Telephone 类:(电话本信息)package com.tao.bean;public class Telephone { private String name; private String sex; private int age; private int tel; private int qq; private String address; public Telephone(String name, St原创 2020-08-08 13:34:56 · 234 阅读 · 0 评论 -
Java-继承
1、什么是继承?继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。子类的创建可以增加新数据、新功能,可以继承父类全部的功能,但是不能选择性的继承父类的部分功能。继承是类与类之间的关系,不是对象与对象之间的关系。2、类的继承Java只支持单继承,不允许多重继承一个子类只能有一个父原创 2020-08-06 22:32:33 · 148 阅读 · 0 评论 -
Java-封装
1、什么是封装Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作,以实现下述目的:隐藏一个类中不需要对外提供的实现细节;使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;便于修改,增强代码的可维护性安全性更好封装的实现步骤:修改属性的可见性,设为private创建getter/setter方法,用于属性的读写在getter/setter方法中加入属性控制语句原创 2020-08-06 21:38:27 · 145 阅读 · 0 评论 -
Java-类与对象
面向过程和面向对象什么是面向过程? 在开发一个程序的时候,看重的是中间过程,每一个过程步骤都需要自己去做。什么是面向对象? 当开发一个程序的时候,不看重具体的过程,看重的是谁能去完成这件事情,找人(对象)帮我去做;前期去设计类的时候比较复 杂,但是后期的复用性扩展性比较好。面向过程和面向对象的优缺点 1.面向过程:面向过程的性能比面向对象高,因为面向对象在实例化时开销比较大 缺点:维护性、扩展性没有面向对象好 2.面向对象:维护性、扩展性好 缺点:性能低、原创 2020-08-06 19:04:23 · 145 阅读 · 0 评论 -
Java-方法
目录1、什么是方法?2、方法的格式:3、方法的调用3.1、方法调用的过程分析3.2、方法调用的一般形式为:3.3、方法调用的注意事项4、方法的参数传递5、方法的返回值和返回类型5.1、返回值与return语句5.2、函数类型6、方法的作用域7、方法重载1、什么是方法?方法是把一些相关的语句组织在一起,用于解决某一特定问题的语句块。方法必须放在类定义,也就是说,方法必须是某一个类的方法。定义:方法就是完成特定功能的代码块2、方法的格式: [修饰符] 返回值类型 方法名(参数类型 形式参数原创 2020-08-05 20:38:07 · 138 阅读 · 0 评论 -
Java数组-pt
一、什么是数组数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。数组一旦初始化,长度不可变。二、一维数组一维数组的声明方式:类型 数组名[] 或 类型[] 数组名,例如:int a[];int[] a1;double b[];Date[] c; //对象数组单独声明数组时不能指定其长度(数组中元素的数),例如:int a[5]; //非法这两种定义做完了,数组中是没有元素值的1、数组的初原创 2020-08-03 18:52:49 · 305 阅读 · 0 评论 -
Java中for循环结构
1、for循环语法格式for (初始表达式; 条件表达式;迭代表达式){循环语句;}初始表达式是在for循环首次执行时要计算的表达式。通常,这里会为一个循环变量初始化一个值条件表达式(循环条件)用于每次循环前的条件判断,只有在条件表达式值为true时,才入到循环语句执行。迭代表达式则在循环语句执行完成后进行计算,一般来说使用一个递增或递减的计数器作为迭代表达式,改变循环变量的值2、for循环执行过程for语句执行时,首先执行初始表达式(只是第一次执行),然后判断条件表达式的值,如原创 2020-07-31 23:20:38 · 2144 阅读 · 0 评论 -
Java中while和do-while循环结构-pt
一、while循环while循环的基本语法:while(循环条件) { 循环操作}程序调试当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是“程序调试”如何进行程序调试:步骤1:分析错误,设置断点,双击对应代码行的左侧边栏即可设置断点步骤2:启动调试,点击debug按钮启动调试步骤3:单步运行,调试启动后,运行到设置断点的代码行将停住,点击F6键可以单步运行程序,观察程序运行过程步骤4:观察变量,单步运行时可以在“变量”视图中看到变量当前的值步骤5:发现问题步骤6:修原创 2020-07-31 00:11:36 · 427 阅读 · 0 评论 -
Java顺序结构及条件结构-pt
一、顺序结构概念:顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行。之前的内容,数据都是在代码中写死的,在真正的项目实践中数据值肯定是变化的,有必要学习如何输入数据。如何输入数据呢?需要三步:导入java.util.Scanner包;语句import java.util.Scanner;创建对象;语句Scanner sc= new Scanner(System.in);原创 2020-07-30 23:20:13 · 832 阅读 · 0 评论 -
Java基础语法-pt
目录一、语法格式1、Java的基本语法格式二、关键字1、关键字的定义和特点三、标识符1、Java中的标识符2、Java标识符-通用规范四、变量1、变量的定义2、变量的语法格式3、变量的分类3.1、整数类型:byte、short、int、long3.2、浮点类型:float、double3.3、字符类型:char3.4、布尔类型:boolean五、数据类型1、变量的类型转换1.1、自动类型转换1.2、强制类型转换2、常量3、转义字符3.1、转义符——反斜杠(\)3.2、常见转义字符六、运算符1、算术运算符2、原创 2020-07-29 12:41:49 · 514 阅读 · 0 评论 -
Java基础入门-pt
目录一、什么是程序1、程序2、人机交互方式3、Java基础知识结构图二、Java基础1、java常用的dos命令2、Java分类3、Java语言的特点3.1、简单易用3.2、跨平台性3.3、面向对象性3.4、支持多线程4、Java两大核心机制4.1、Java虚拟机(Java Virtual Machine)4.2、垃圾回收机制(Garbage Collection)5、JDK,JRE5.1、什么是JDK,JRE5.2、JVM、JRE、JDK 关系三、第一个Java程序1、Java程序的开发步骤2、Java的原创 2020-07-28 22:38:12 · 528 阅读 · 0 评论 -
Java环境搭建(超详细)
目录一、JDK的下载与安装1、JDK下载,建议下载1.8版本2、JDK安装二、配置环境变量三、安装IDE1、IDEA安装地址2、Eclipse安装地址一、JDK的下载与安装1、JDK下载,建议下载1.8版本链接:https://www.oracle.com/java/technologies/javase-downloads.html2、JDK安装查看是否安装成功,win+R ,输入cmd进入控制台,输入java -version查看版本,如下则安装成功二、配置环境变量右键点击此电脑,选原创 2020-07-28 10:33:48 · 16543 阅读 · 0 评论