Java基础
文章平均质量分 70
Allen_Heng
这个作者很懒,什么都没留下…
展开
-
Java应用之日志
程序中的日志可以用来记录程序运行的时候的点点滴滴,并可以进行永久存储。原创 2022-11-22 15:18:34 · 454 阅读 · 0 评论 -
Java应用之xml解析
complexType 复杂元素sequence 顺序。原创 2022-11-21 22:47:40 · 197 阅读 · 0 评论 -
Java之Stream流的使用
使用好JDK8的新特性会有助于你的编程,Stream流的使用会使集合或数组的操作更加简便,更赏心悦目,相信这篇文章可以使喜欢追求细节完美的人会有所收获。Java中什么是Stream(流)Stream是java的1个类, 这个类专门用于程序和外部设备的输入输出(IO). 基本上所有流都在 java.io这个包中.实际上Stream就是数据在程序和外部设备的单向管道, 流的各种方法相当于管道上的各种按钮.所谓的外部设备可以包括硬盘文件, 网络设备, 另个程序等. 也就是当前程序之外的数据设备.要原创 2021-09-29 21:02:32 · 1436 阅读 · 0 评论 -
Java基础理论之注解
注解是JDK1.5的特性。注解相当一种标记,是类的组成部分,可以给类携带一些额外的信息。标记(注解)可以加在包,类,字段,方法,方法参数以及局部变量上。注解是给编译器或JVM看的,编译器或JVM可以根据注解来完成对应的功能。原创 2021-09-28 15:56:09 · 1494 阅读 · 0 评论 -
Java基础理论之反射
balbabala: 因为反射可能会破坏原数据所以开发中很少使用,但反射的底层原理需要学习,可以深入了解下java是怎么运行的。反射基本概念反射是一种机制,利用该机制可以在程序运行过程中对类进行解剖并操作类中的方法,属性,构造方法等成员。图解反射在实际开发中的应用IDE内部都大量使用了反射机制,我们在使用这些IDE写代码也无时无刻的使用着反射机制,一个常用反射机制的地方就是当我们通过对象调用方法或访问属性时,开发工具都会以列表的形式显示出该对象所有的方法或属性,以供方便我们选择使原创 2021-09-28 15:55:37 · 115 阅读 · 0 评论 -
Java基础理论之枚举
是指将变量的值一一列出来,变量的值只限于列举出出来的值的范围内。原创 2021-09-28 15:54:47 · 243 阅读 · 0 评论 -
Java基础理论之Junit单元测试
Junit单元测试概述Junit是一个Java语言的单元测试框架,简单理解为可以用于取代java的main方法。Junit属于第三方工具,一般情况下需要导入jar包。不过,多数Java开发环境已经集成了JUnit作为单元测试工具。在Java中,一个类就是一个单元。单元测试是开发者编写的一小段代码,用于检验某个类某个方法的功能或某个业务逻辑是否正确。步骤编写业务类 创建测试类 3 .编写测试方法测试方法特点方法命名规则:以test开头,使用驼峰命名法。方法声明上:必须使用注解:@原创 2021-09-28 15:54:17 · 375 阅读 · 0 评论 -
Java基础理论之属性集
Properties类构造方法public Properties():创建一个空的属性列表。基本的存储方法public Object setProperty(String key, String value): 保存一对属性。 public String getProperty(String key):使用此属性列表中指定的键搜索属性值。 public Set<String> stringPropertyNames():所有键的名称的集合。与流相关的方法publi...原创 2021-09-28 15:53:43 · 130 阅读 · 0 评论 -
Java基础理论之IO流和其他流
balabla: IO流 即输入输出流iu是磁盘和内存的相互交互,直接在磁盘中读写数据在日常开发中往往会用到,尤其是一些管理系统经常需要表格的导入导出,日常图片的上传和读取,这些功能的基础都是流,因此掌握流的相关知识对以后直接使用第三方提供的工具可以更好的理解。IO的分类根据数据的流向分为:输入流和输出流。输入流:把数据从其他设备上读取到内存中的流。 输出流:把数据从内存中写出到其他设备上的流。格局数据的类型分为:字节流和字符流。字节流:以字节为单位,读写数据的流。 字符流:...原创 2021-09-28 15:53:12 · 182 阅读 · 0 评论 -
Java基础理论之递归
概述递归:指在当前方法内调用自己的这种现象。递归三要素第一要素:明确你这个函数想要干什么也就是你的程序到底需要将数据怎么加工或者你想获得怎样的数据第二要素:寻找递归结束条件既然是自己调用自己必然有结束的时候,需要定义什么时候停止递归第三要素:找出函数的等价关系式关系式是最重要的,你要总结出自己通过不断调用自己和原来的数据的变化关系,要不自己调用自己是完全没有意义的。图解递归(6的阶乘)下面介绍几个简单的递归例子例子一 : 递归求和 public原创 2021-09-27 14:20:13 · 217 阅读 · 0 评论 -
Java基础理论之Lambda表达式,方法引用
函数式编程思想,让编码偏向于过程,让我们书写代码是关注关键所在而不在于固定形式。函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。做什么,而不是怎么做传递一段代码——这才是我们真正的目的。而创建对象只是受限于面向对象语法而不得不采取的一种手段方式。那,有没有更加简单的办法?如果我们将关注点从“怎么做”回归到“做原创 2021-09-27 14:19:32 · 540 阅读 · 0 评论 -
Java基础理论之多线程
多线程对于大数据量的操作,建议使用开启线程的方式进行完成,避免了程序占用时间,多线程会提高执行效率但也伴随相应的线程安全的风险。微服务同一代码部署到多个服务上也会出现线程安全问题,此篇仅介绍非分布式的线程管理。引入线程并行:指两个或多个事件在同一时刻发生(同时发生)。 并发:指两个或多个事件在同一个时间段内发生。注意:单核处理器的计算机肯定是不能并行的处理多个任务的,只能是多个任务在单个CPU上并发运行。同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是从微观角度上分析却是串行运原创 2021-09-27 14:18:33 · 431 阅读 · 0 评论 -
Java基础理论之异常
异常处理是为了保证程序不会因为个别输入或者操作异常使系统进入崩溃的境地,把错误直接写到前端,工作中一般会对异常进行一种统一的处理,返回的状态码和message会有统一包装和定义。写代码的时候遇到异常莫慌,各种搜索引擎走一圈,debug跑一跑,总会有解决的办法,要注意自己的异常积累和记录,久病成良医,踩的坑多了就能有避坑buf再进坑就能立马出来。异常概述异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:异常.原创 2021-09-27 14:16:48 · 232 阅读 · 0 评论 -
Java基础理论之泛型
泛型可以视为一种规范,可以有泛型类,泛型方法,和泛型接口三类,泛型在很多api中都有所以理解好泛型才能更好的开发和设计。泛型概述JDK5之后,新增了泛型(Generic)语法,让你在设计API时可以指定类或方法支持泛型,这样我们使用API的时候也变得更为简洁,并得到了编译时期的语法检查。泛型:可以在类或方法中预支地使用未知的类型。tips:一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。泛型的好处将运行时期的ClassCastExce原创 2021-09-27 14:15:38 · 79 阅读 · 0 评论 -
Java基础理论之数据结构
数据结构简单来说就是说数据的放置顺序,不同的数据结构有着各自的优缺点,在开发中根据数据的特性灵活选择数据结构会提高代码效率和虚拟机的使用效率。数据结构2.1 数据结构介绍数据结构 : 数据用什么样的方式组合在一起。2.2 常见数据结构数据存储的常用结构有:栈、队列、数组、链表和红黑树。我们分别来了解一下:栈栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。简单的说:采用该结构的集合,对元素原创 2021-09-27 14:15:04 · 76 阅读 · 0 评论 -
Java基础理论之集合,比较器,哈希
集合即容器,了解容器是什么,可以放什么,怎么放,怎么拿,多种容器的区别和共同点是什么,这样我们才能在开发中游刃有余的使用容器,更换容器等。集合分为两大类 一类继承Collection接口(单列集合) 一类继承Map接口(双列集合)。资料多取自JDK1.8 Api文档,学习java自己的类是建议对照此进行学些,类归属,类,类的继承关系,类的构造方法,类的成员方法和静态方法。集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据。继承体系Iterator迭代器原创 2021-09-27 14:13:47 · 446 阅读 · 0 评论 -
Java基础理论之System类
System类java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:public static long currentTimeMillis():返回以毫秒为单位的当前时间。 public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中。所属包ja原创 2021-09-27 14:11:44 · 108 阅读 · 0 评论 -
Java基础理论之时间相关类
日期时间类此篇介绍了Date 类 ; DateFormat类 ;Calender 类 ;LocalDate 类中时间的使用Date类概述java.util.Date类 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long 时间戳):分配Date对象并初..原创 2021-09-27 14:11:00 · 330 阅读 · 0 评论 -
Java基础理论之Object类 Objects类
寄语: 对于类接口和其中方法的学习建议按照jdk文档进行系统学习,具体包,继承关系,构造方法,静态方法,方法这样的学习思路整理会清晰容易记忆方便查询。Object类概述java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类,那么默认则继承自Object类。例如:默认继承public class MyClass /*extends Object*/ {原创 2021-09-27 14:09:02 · 83 阅读 · 0 评论 -
Java基础理论之对象(类与对象、构造方法、内部类、封装、继承、多态、super、this、抽象类)
类与对象、构造方法、内部类、封装、继承、多态、super、this、抽象类面向对象思想Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实原创 2021-09-26 11:25:57 · 250 阅读 · 0 评论 -
Java基础理论之接口
可以理解为接口即规范,接口定义实现此接口的类应该具有的方法,也就是接口定义动作不定义动作的实现方式。接口概述接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。引用原创 2021-09-26 11:23:58 · 96 阅读 · 0 评论 -
Java基础理论之权限修饰符
权限修饰符概述在Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限,public:公共的。protected:受保护的default:默认的private:私有的不同权限的访问能力编写代码时,如果没有特殊的考虑,建议这样使用权限:成员变量使用 private ,隐藏细节。构造方法使用 public ,方便创建对象。成员方法使用 public ,方便调用方法。不加权限修饰符,其访问能力与default修饰符相同...原创 2021-09-26 11:23:10 · 69 阅读 · 0 评论 -
Java基础理论之Final
Final关键字概述子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承,API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了 final 关键字用于修饰不可改变内容。final: 不可改变。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。方法:被修饰的方法,不能被重写。变量:被修饰的变量,不能被重新赋值。使用方式修饰类final class 类名 {}修饰方法:修饰符 final 返回值类型 方原创 2021-09-26 11:18:37 · 70 阅读 · 0 评论 -
Java应用之数字工具类:Match类BigDecimal类
Match类简介java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同的结果。 这种放松允许在不需要严格再现性的情况下执行更好的实现。默认情况下,许多Math方法只需调用中的对应方法原创 2021-09-26 11:17:49 · 730 阅读 · 0 评论 -
Java基础理论之Arrays类
Arrays类简介java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。该类包含用于操作数组的各种方法(如排序和搜索)。 该类还包含一个静态工厂,可以将数组视为列表。如果指定的数组引用为空,则该类中的方法都抛出一个NullPointerException ,除非另有说明。该类中包含的方法的文档包括实现的简要描述 。 这些描述应被视为实施说明 ,而不是说明书的一部分 。 只要规范本身得到遵守,实现者就可以随意替代其他算原创 2021-09-26 11:17:07 · 96 阅读 · 0 评论 -
Java基础理论之Static ,代码块
static关键字静态方法的使用多出现在工具类中,使用时会有需对的小细节需要注意,理解的基础上编程会规避很多小坑。概述关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。定义和使用格式类static修饰的类只能为内部类,普通类无法用static关键字修饰。static修饰的内部类相当于一个普通的类,访问方式为(new 外部类名.内部类的方法() )。publi原创 2021-09-26 11:15:46 · 93 阅读 · 0 评论 -
Java基础理论之字符串处理类String,StringBuffer,StringBuilder,正则
此篇文章包括String,StringBuffer,StringBuilder的使用,其中各自的有缺点比较,在开发中会比较实用在最下面,各位看官耐心查看。String简介String类包括用于检查序列的各个字符的方法,用于比较字符串,搜索字符串,提取子字符串以及创建将所有字符翻译为大写或小写的字符串的副本。 案例映射基于Character类指定的Unicode标准版本。Java语言为字符串连接运算符(+)提供特殊支持,并为其他对象转换为字符串。 字符串连接是通过StringBuilder (原创 2021-09-26 11:14:54 · 779 阅读 · 0 评论 -
Java基础理论之Random类
此类的实例用于生成伪随机数。### 介绍``` javajava.utilClass Randomjava.lang.Objectjava.util.Randompublic class Random extends Object implements SerializableRandom r = new Random();int i = r.nextInt();```java.util.Random的java.util.Random是线程安全的。 但是,跨线程的同时使用...原创 2021-09-26 11:12:15 · 68 阅读 · 0 评论 -
Java基础理论之JVM
#内存概述内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。JVM组成-Xms300m 初始堆大小-Xmx300m 最大堆大小-Xmn100m 年轻代大小(放置新对象)-XX:配置垃圾回收-XX:SurvivorRatio=8 Eden区与Survivo原创 2021-09-26 11:11:34 · 79 阅读 · 0 评论 -
Java基础理论之数组
容器概述容器:是将多个数据存储到一起,每个数据称为该容器的元素。#内存概述内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。JVM组成数组概念数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。数组的定义方式1:数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度原创 2021-09-25 20:32:29 · 113 阅读 · 0 评论 -
Java基础理论之方法
寄语 , 方法是执行逻辑的最小单元,建议方法的创建遵循唯一职责的标准。方法上添加上备注,这样以后阅读自己的程序和找bug的时候会变得更容易。此篇将方法的定义main方法是程序的入口;类>方法=方法;重写和重载的区别;可变参的使用。概述我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。原创 2021-09-25 20:30:22 · 94 阅读 · 0 评论 -
Java基础理论之流程控制语句
流程控制不妨在检查和写代码是把自己想象成为一台计算机,跟不上他的速度可逻辑思维是相同的,在以后找bug再使用断点时会更加精准。1.1 概述在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。1.2 顺序结构从上到下public static void main(String[] args){ //顺序执行,根据原创 2021-09-25 20:29:07 · 168 阅读 · 0 评论 -
Java基础理论之运算
运算符:重点是 自加自减,== 和 短路逻辑运算符。三目运算符会让你的代码显得不那么臃肿,单独逻辑语句时使用效果极佳。2.1 算数运算符算数运算符包括: + 加法运算,字符串连接运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算,两个数字相除取余数 ++、-- 自增自减运 Java中,整数使用以上运算符,无论怎么计算,也不会得到小数。public static void main(String[] ...原创 2021-09-25 20:27:10 · 77 阅读 · 0 评论 -
Java基础理论之数据类型,基本拆装箱,基本数据String转换
数据类型开发的工作说白了就是数据转移和数据处理。所以数据的理解也就是基础中的重中之重。知道原理最好,不知道死记硬背也是一个好方法,后期用的多了也就理解什么环境用什么样的数据类型了!~数据类型分类Java的数据类型分为两大类:基本数据类型:包括整数、浮点数、字符、布尔。 引用数据类型:包括类、数组、接口、Lambda、BigDecima。基本数据类型四类八种基本数据类型:数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 ..原创 2021-09-25 20:25:40 · 136 阅读 · 0 评论 -
少不了的 HelloWorld
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); }}原创 2021-09-25 20:24:06 · 53 阅读 · 0 评论 -
Java基础理论之开发前言
开发前言什么是Java语言Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。Java语言发展历史1995年Sun公司发布Java1.0版本 1997年发布Java 1.1版本 1998年发布Java 1.2版本 2000年发布Java 1.3版本 2002年发布Java 1.4版本 2004年发布Java 5.0版本原创 2021-09-25 20:22:24 · 103 阅读 · 0 评论