➤Java
Java专栏旨在为Java开发者提供最新的技术动态、实用的编程经验和技巧、深入的框架分析以及实战案例等方面的内容,帮助读者在Java领域不断提升自己的技术水平和解决实际问题的能力。无论您是初学者还是经验丰富的开发者,Java专栏都将为您提供有价值的内容,助您在Java世界中更进一步。
技术蜗牛-阿春
————我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容————
展开
-
MongoDB多条件动态查询
公司业务框架中有需要用到MongoDB数据库进行数据的存储,前端需要在该框架下进行多条件的动态组合查询。如果在之前mysql中该问题非常好实现,那么我们使用的是MongoDB,又该如何实现呢?原创 2022-11-11 14:05:52 · 3239 阅读 · 1 评论 -
常用Excel多种格式转Csv
在开发过程中经常有遇到需要将Excel转换成csv形式,Excel中的格式有.xlsx和.xls两种,关于这方面的框架有很多,有的只能转其中的一种格式、有的需要钱;这些估计都是次要的,最主要还是需要看他们的性能,有的需要很大的并发量、有的需要上传很大的数据量、有的又需要上传的速度。当然他们的好处各有不同,我们选择其中一种最关注的是使用方便,在自己的业务场景下效率还非常的OK,那就是最适合自己的。下面分享下我们公司常用的一种方式POI。原创 2022-09-29 17:07:25 · 2667 阅读 · 1 评论 -
swagger启动报错:java.lang.NumberFormatException: For input string: ““
项目启动,然后浏览器打开swagger文档的时候总是报下面的错误,但是文档和程序都正常。属性的注解信息出了问题,空。""无法转成Number。原创 2022-08-05 18:11:51 · 1590 阅读 · 0 评论 -
按年月日递增序列号
/** * @Title: TODO * @ClassName SerialUtils * @Date 2022/3/18 16:36 * @Version 1.0 */public class SerialUtils { private static final int MAX_VALUE = 10000; private static final String FORMAT = "yyyyMMdd"; private static final Format DF.原创 2022-03-18 17:46:07 · 334 阅读 · 0 评论 -
硬核干货Java集合详解
目录一、问题是最好的老师二、集合的由来三、数组存在的问题四、数组和集合的区别?五、集合是什么?六、集合整体架构图七、集合架构图详解1、Collection2、ListArrayListLinkedList3、SetHashSetTreeSetLinkedHashSet4、MapHashMapTreeMap集合框架整体思维模式:一、问题是最好的老师思考:首先要明白集合是怎么来的?为什么要有集合?它来给我们解决了什.原创 2021-10-17 11:02:17 · 964 阅读 · 0 评论 -
【Java专题】Java中的I/O流详解
一、知识必备(字节流和字符流)1、流:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成,程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。2、字节流和字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的 是InputStream,在字符流中输出主要是使用Writ...原创 2020-10-18 14:03:14 · 578 阅读 · 5 评论 -
【Java专题】Java中的TreeMap集合详解
一、TreeMap集合的概述1、什么是TreeMap集合?TreeMap集合:他是一个有序的集合,可以任意顺序将元素插入到集合中,对集合进行遍历的时候每个元素将自动按照排好序的顺序输出。他的底层是采用了二叉树对元素进行排序。2、特点 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的 TreeMap继承于AbstractMap,所以它是一个Map,即一个key-value集合 TreeMap 实现了NavigableMap接口,意味着它...原创 2020-10-10 08:49:30 · 3492 阅读 · 2 评论 -
【Java专题】Java中的Properties集合详解
一、Properties集合概述1、概述Properties集合:在java.utile包下的类,其实是一个Map集合,继承了Hashtable,properties是线程安全的。public class Properties extends Hashtable<Object,Object>{}2、特点 properties被称为属性类对象 properties类表示了一个持久的属性集 properties是一个和IO流向结合的集合 .原创 2020-10-05 08:50:08 · 705 阅读 · 4 评论 -
【Java专题】Java的HashMap集合详解
一、什么是HashMap集合?HashMap:集合底层其实就是哈希表/散列表的数据结构二、哈希表又是什么结构呢?哈希表:就是一个数组和单向链表的结合体,他是将两种数据结构融合到了一起,充分的发挥他们的优点。也就是说哈希表是一个一维数组,且这个数组中的每一个元素都是一个单向链表。数组:在查询方面效率很高,但是在删除方面效率就很低了(元素移动)单向链表:在随机增删方面效率很高,但是在查询方面就很低(一个一个的遍历)transient Node<K,V>...原创 2020-09-29 12:27:15 · 451 阅读 · 16 评论 -
【Java专题】Java中Map集合详解
1、什么是Map集合? Map提供了一个通用的元素存储方法,用于存储元素对(也叫键值对),其中每个键映射到一个值。 Map是key-value的映射接口,不能包含重复的键,每个键最多只能映射到一个值。 Map提供三张Collection视图:键集、值集、键-值映射关系 2、Map集合继承机构图结构图详解:(1) Map 是映射接口,Map中存储的内容是键值对(key-value)。(2) AbstractMap 是继承于Map的抽象类,实现了Ma...原创 2020-09-23 19:28:56 · 590 阅读 · 10 评论 -
【Java专题】Java中list集合详解
List集合1、list集合存储元素的特点:有序可重复,有序值的是list集合中的元素有下标,从0开始以1递增;可重复指的是集合中可以存储相同元素;list集合是单例的,也就是说list集合内存的元素是单个的,而非键值对形式的。2、list集合中的特有常用方法:void add(int index, Object element) //向集合中指定的位置添加元素 Object set(int index, Object element) //修改指定位置的元素 Object g..原创 2020-09-07 00:31:14 · 1157 阅读 · 7 评论 -
【Java专题】Java泛型集合详解
一、什么是泛型?1、先来看不是泛型的ArrayList集合ArrayList集合的底层是一个object[]数组,但是它跟数组比起来又有很多的优势,它可以存很多不同类型的数据。问题出现在数据被取出来的时候,强制转换引发ClassCastException异常。Collection虽然表面看可以存储各种类型的对象,其实际上它只能存储同一种类型的数据。/*** @author Jason* @create 2020-07-11 10:57* 普通集合存在的问题*/public c..原创 2020-09-03 21:34:51 · 637 阅读 · 6 评论 -
【Java专题】Java集合框架详解
集合集合什么是集合?集合有什么作用?其实数组就是一个集合,集合实际上就是一个容器,可以用来容纳其他类型的数据。集合装的是什么?集合中不能直接存储基本类型的数据,也不能直接存储java对象,他存储的是java对象的内存地址。注意:集合本身是一个对象,有自己的内存地址,集合中任何时候存储的都是引用不同的集合对应的底层到底怎么样?java中每一个不同的集合,底层会对应不用的数据结构,往不同的集合中存储元素,等于将数据放到不同的数据结构中。集合在JDK中...原创 2020-08-26 22:54:53 · 422 阅读 · 7 评论 -
【Java专题】详解Java中的异常
什么是异常?异常:就是程序在运行过程中出现的不正常情况,这种不正常情况就叫做异常。下面举例说明: (运行下面的代码,就会输出相关异常)/*** @author Jason* @create 2020-07-05 15:16*/public class ExceptionTest01 {public static void main(String[] args) {int num1=10;int num2=0;int num3=num1/num2;...原创 2020-08-21 09:15:20 · 385 阅读 · 5 评论 -
【Java专题】容易被忽视的包装类
什么是包装类?包装类:就是将8种基本数据类型,装换成对应的8种包装引用类型。为什么需要将8种基本数据类型转换为8中包装类型呢?原因在于8种基本的数据类型不够用实例代码举例:/*** @author Jason* @create 2020-04-30 16:10*/public class StringTest07 { public static void main(String[] args) { MyInt myInt = new MyIn...原创 2020-08-16 21:50:40 · 351 阅读 · 6 评论 -
【Java专题】Java中的内部类
明天补原创 2020-08-02 19:10:08 · 259 阅读 · 4 评论 -
【Java学习专题】老生常谈的Java继承
什么是继承?继承:是子类继承父类的特征和行为,使得子类对象具有父类的属性,或子类从父类继承方法,使得子类具有父类相同的行为。为什么要使用继承机制?因为在不同类中有可能会有很多共同的特征和动作,我们可以将这些共同的特征和动作放在一个类中,让其他类共享,这样可以避免重复而且还易于维护,当然更深层次会衍生出后面的方法覆盖 和多态机制。没有用继承的实例代码:(可以非常明显的看到,两个类中有非常多功能相同的代码,这个代码非常的冗余,目前代码还较少,如果有成百上千个类这样的类呢?)/**...原创 2020-07-18 08:41:33 · 405 阅读 · 2 评论 -
【Java学习专题】简单易懂的Java多态
什么是多态?多态:就是同一种行为(如move()),作用在不同的对象上(如cat、bird),有不同的表现结果(如cat走猫步,bird会飞翔)。还在于java支持父类型引用指向子类型对象(向上转型,也就是自动转型)。怎么实现多态?(原理:以cat.move()为例)一、编译阶段——静态绑定在编译阶段,对编译器来说,他只知道cat的类型是Animal,然后就会直接到Animal.class字节码文件中找move()方法,找到了则编译通过,静态绑定成功。二、运行阶段——动态绑定在运行阶原创 2020-07-12 14:38:07 · 443 阅读 · 3 评论 -
【Java学习专题】深入理解this关键字
本章目标:this是什么?this是java中的关键字,可以把他当做一个变量看待,他就是一个引用,存储在jvm中的对象内部,每个java中的对象都有一个this。(如下图)从图上可看出this指向的是当前对象,代表当前对象,Jack.name和this.name是一样的。this能用在哪里?实例方法中:这里为什么只能在实例方法中呢?原因:很简单,this指向的是当前对象,如果是在static修饰的方法中根本就不需要当前对象的参与。实例代码:/** * @auth.原创 2020-07-05 08:25:08 · 405 阅读 · 4 评论 -
【Java学习专题】static关键字的秘密
什么是static?static:是java中的关键字,表示”静态的意思“,他可以用来修饰变量、方法、代码块。修饰的变量是静态变量,修饰的方法时静态方法,修饰的代码块是静态代码块。在java中只要是static修饰的都是和类相关的,直接通过类名的方式进行访问。什么时候将变量定义为静态变量?静态变量:被static修饰的成员变量就是静态变量,没有被static修饰的成员变量叫实例变量;静态变量是类级别的,可以直接通过类名进行访问,静态变量存储在方法区中,类加载的时候初始化;而实例变量是对象级别..原创 2020-06-20 20:43:17 · 357 阅读 · 3 评论 -
【Java学习专题】方法重载和递归
什么是方法重载?方法重载:就是类名相同,参数列表不同的方法。与方法的修饰符和返回值类型没有任何的关系。为什么要有方法重载呢?能帮助我们解决什么样的问题?目的在于我们的代码更加灵活,自动化,只要是功能相似,就能帮助我们简化工作。非常的方便。实例代码:/** * @author Jason * @create 2020-04-20 15:42 */public class MethodTest07 { public static void main(String[]..原创 2020-05-24 20:49:17 · 381 阅读 · 1 评论 -
【Java学习专题】控制语句
控制选择语句:if(条件){ //语句1}else{ //语句2}//if结构外面的代码说明:条件,可以是任意表达式,表达式的值不要求必须是布尔值。 如果条件不是布尔值,则使用转型函数Boolean()转换成布尔值。 如果对条件求值后的结果是true则执行 "语句1"。如果是false,则执行 "语句2"。注意:从上面的说明可以看出,"语句1"和"语句2"永远不会同时执行,一定会执行其中的一句。if(条件1){ //语句1}else if(条件2)...原创 2020-05-10 11:05:52 · 311 阅读 · 8 评论 -
【Java学习专题】基本数据类型转换
基本数据类型(四类八种)整数型:byte、shout、int、long 浮点型:float、double 布尔型:boole 字符型:char思维导图基本数据类型间的转换:实例代码:public class Test01{ public static void main(String[] args){ int a = 129; byte b =(byte...原创 2020-05-03 19:37:10 · 477 阅读 · 9 评论 -
java开发坦克大战小游戏
注:这是马老师讲的坦克大战的具体功能及其实现步骤,非常适合初学者刚学完java想根据需求练练手。版本0功能:创建一个指定大小的窗口掌握:通过eclipse建立一个新的项目 为新的项目指定不同的源代码和输出目录 指定项目所用的版本 通过eclipse建立新的类版本0.1功能:添加关闭窗口的事件 不允许窗口大小改变掌握:匿名类的用法(应用场合) ...原创 2020-04-25 16:33:24 · 1037 阅读 · 12 评论 -
Java中的事件模型
事件监听实例代码:import java.awt.*;import java.awt.event.*;public class TestActionEvent{ public static void main(String[] args){ Frame f = new Frame("Test"); Button b = new Button("Press Me!");...原创 2020-04-19 19:21:33 · 544 阅读 · 9 评论 -
Java中的GUI编程
AWT包括了很多类和接口,用于java Application的GUI编程 GUI的各种元素有java类类实现 使用AWT所涉及的类一般在java.awt包及其子包中 Container和Component是AWT中的两个核心类Component & Containerjava的图形用户界面的嘴基本组成部分是Component,Component类及其子类的对象用来描述...原创 2020-04-12 15:50:49 · 433 阅读 · 6 评论 -
Java中的网络编程
Socket两个java应用程序可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一段称为一个Socket; Socket通常用来实现client-server连接; Java.net包中定义的两个类Socket和ServerSocket,分别来实现双向连接的client和server端; 建立连接时所需要的寻址信息为远程计算机的IP地址和端口号(Port number)。TC...原创 2020-03-27 20:02:06 · 372 阅读 · 6 评论 -
Java中的IO流
思维导图Java 流式输入/输出原理在java程序中,对于数据的输入、输出操作以流方式进行;jdk提供各种各样的流类,用以获取不同种类的数据;程序中通过标准的输入或输出数据。输入输出流的分类Java.io包中定义了多个流类型类或抽象列来实现输入输出功能,可以从不同的角度对其进行分类:按方向:输入流和输出流; 按数据单位不同:字节流和字符流; 按功能:节点流和处理流。...原创 2020-03-11 19:09:32 · 436 阅读 · 5 评论 -
Java中的集合
思维导图Collection接口容器:顾名思义,从字面上的理解就是能够容纳很多东西的器皿;我们已经有各种各样的变量了,难道那个就不是容器了吗? 及时变量不够,我们还有数组呢? 解答:一个人事管理系统,我们可以通过new很多个name变量来解决,但是如果这个系统有成千上万个人呢?那我们是不是需要new成千上万个name呢?当然不是,这样也太可怕了。那有人会说,我们可以定义一个数组...原创 2020-03-06 11:50:00 · 514 阅读 · 3 评论 -
Tomcat虚拟主机管理员登录(报错问题解决)
一、下载并且配置tomcat(下面链接的博客就写的非常的详细)https://www.cnblogs.com/limn/p/9358657.html二、启动tomcat启动DOS命令 切换到下载tomcat的bin文件目录下 在DOS中输入:startup命令或者 如果一切正确会自动启动另外一个DOS窗体 打开浏览器,输入:http://localhost:8080 成功会显...原创 2020-03-02 19:41:24 · 1004 阅读 · 3 评论 -
Java中的常用类
思维导图String类java.lang.String 类代表不可变的字符序列; “XXXX”为该类的一个对象;String类的常见构造方法:String(String original)创建一个String对象为original的拷贝; String(char[] value)用一个字符数组创建一个String对象; String(char[] value,int off...原创 2020-02-24 19:44:40 · 329 阅读 · 5 评论 -
Java中的数组(初始化及在内存中的变化)
概述数组可以看成是多个相同类型数据组合,对这些数据的统一管理; 数组遍历属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量; 数组中的元素可以是任何数据类型,包括基本类型和引用类型; java中使用关键字new创建数组对象,格式为:数组名=new 数组元素的类型[数组元素的个数]; java中除了基本数据类型外,其他所有的都是引用类型;实例代码:publ...原创 2020-02-20 21:13:48 · 915 阅读 · 5 评论 -
java异常处理
思维导图异常处理——异常的捕获和处理(运行期出现的错误),观察错误的名字和行号很重要。java异常是java提供的用于处理程序中错误的一种机制; 所谓的错误指的是程序运行中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在); 设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果; java程序执行过程中...原创 2020-02-17 21:18:54 · 358 阅读 · 9 评论 -
Java中的关键字
this关键字在类的方法定义中使用的this关键字,代表使用该方法的对象的引用; 当必须指出当前使用方法的对象是谁的时候要使用this; 有时候使用this可以处理方法中成员变量和参数重名的情况; this可以看作是一个变量,它的值是当前对象的引用。static关键字在类中用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用是被初始化,对于该类的所有对象来说...原创 2020-02-15 20:16:31 · 339 阅读 · 4 评论 -
Java面向对象(下)
包定义:为了便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java引入包(package)机制,提供类的多重命名空间。package语句作为java源文件的第一条语句,指明该文件的中定义的类所在的包,若缺省该语句,则指定为无名包。 java编译器把包对应于文件系统的目录管理,package语句中,用“.”来指明包目录的层次。 如:package com.sxt;则该文件中所...原创 2020-02-12 20:54:41 · 583 阅读 · 5 评论 -
Java面向对象(上)
对象和类的概念对象:用计算机语言对问题域中的事务的描述,对象通过“属性”和“方法”来分别对应事务所具有的静态属性和动态属性类:用于描述同一个类型的对象的一个抽象概念,类中定义了这个对象所应具有的静态和动态属性。类可以看成是一类对象的模板,对象可以看成是该类的一个具体实例。Java与面向对象对象是Java程序的核心,在Java中万事万物皆对象,首先定义类才有对象; 对象可以看成...原创 2020-02-10 17:24:17 · 402 阅读 · 6 评论 -
Java基础语法(上)
整体思维导图标识符:对各种变量,方法和类等要素命名时候的字符序列称为标识符Java标识符命名规则:标识符由字母、下划线、美元符或数字组成 标识符应以字母、下划线、美元符开头 Java标识符大小写敏感、长度无限制关键字:在java中一些赋以特定含义,用来专门用途的字符串称为关键字,所有的java关键字都是小写英文,goto和const是java的关键保留字。Java常量:常...原创 2020-02-06 20:52:23 · 948 阅读 · 7 评论 -
Java入门概述
概述思维导图发展史第一代:打孔机语言 第二代:汇编 第三代:c/Pascal/Fortran/c++/Java跨平台面向对象的语言/.net特点:面向对象的语言 与平台无关的语言 健壮的语言核心机制:Java虚拟机 垃圾收集机制Java虚拟机:就是可以理解成一个已字节码为机器指令的cpu,对于不同的运行平台有不同的虚拟机,Java虚拟机机制屏蔽了底...原创 2020-02-05 21:02:04 · 1726 阅读 · 6 评论 -
Java代码规范总结
作为一名程序员,代码规范的重要性不言而喻,特别是在项目中特别能感受到这点,经常遇到代码不规范给大家带来的麻烦,所以我们应该从开始学的时候就应该养成良好的习惯,即使自己不想得到什么方便,也要在为他人方便。我在没有学习之前认为代码规范嘛,无非就是些大小驼峰的问题,学完以后确实让自己感受到了一种无知的感觉。思维导图编程规约一、命名总体原则和概述名字应该能够标识事物的特性,并且与业务挂...原创 2020-01-11 15:43:24 · 635 阅读 · 11 评论 -
Java环境搭建和JRE安装配置
学习Java的时候必不可少的需要有一个开发Java的开发平台,那么我今天就给大家分享一个相对简单的环境搭建和配置。这里需要说明的是,这些软件都是需要从官方网站下载。第一步:下载eclipse,下面是eclipse下载官方网站。官方网站下载到的软件永远是最新的,并且不夹杂其他的任何东西。强烈建议去官方网站下载软件https://www.eclipse.org/downloads/界面如图...原创 2019-09-29 07:53:12 · 651 阅读 · 9 评论