![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 80
为什么暴躁
这个作者很懒,什么都没留下…
展开
-
【设计模式】建造者模式理解
【代码】【设计模式】建造者模式理解。原创 2022-10-09 10:27:59 · 78 阅读 · 0 评论 -
自定义线程池封装
【代码】自定义线程池封装。原创 2022-09-21 23:27:37 · 232 阅读 · 1 评论 -
maven打包插件
maven打包插件原创 2022-07-25 23:13:48 · 149 阅读 · 0 评论 -
Squid并不支持代理email服务,不支持SMTP
通过查阅书籍 《squid: The Definitive Guide》指出 Squid无法代理email服务6.1.2.6节 6.3.5节原创 2022-04-29 22:39:40 · 786 阅读 · 0 评论 -
shell脚本
Shell 脚本Shell 概述 Shell是一个命令行解释器,它接收应用程序/用户命令,调用操作系统内核Shell 脚本入门 脚本格式脚本以 #!/bin/bash 开头 (指定解析器)第一个Shell脚本: helloworld#!/bin/bashecho "hello world"执行方式# 通过sh hello.sh # 通过base hello.sh# 付给文件可执行权限chmod 777 hello.sh后相对路径调用 ./hello原创 2022-04-05 08:48:38 · 226 阅读 · 0 评论 -
正则表达式元字符
一 、 正则表达式常用元字符. 匹配除换行符之外的任意字符\w 匹配字母、数字、下划线\s 匹配任意的空白符号\d 匹配数字\n 匹配换行符\t 匹配一个制表符^ 匹配字符串的开始$ 匹配字符串的结束大写 相当于取非\W 匹配非字母、数字或下划线\D 匹配非数字\S 匹配非空白字符a|b 匹配字符a或b() 匹配括号内的表达式,也表示一个组[...] 匹配字符组中的字符[^...] 匹配除了字符组中字符的所有字符量词控制元字符出原创 2022-04-04 16:53:57 · 94 阅读 · 0 评论 -
springCloud Day03
1 Feign远程调用组件 在之前的案例中,服务消费者调用服务提供者的时候使用RestTemplate技术。1.1 Feign简介 Feign是Netflix开发的一个轻量级RESTful的HTTP服务客户端(用它来发起请求,远程调用的),是以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用,Feign被广泛应用在Spring Cloud 的解决方案中。 类似于Dubbo,服务消费者拿到服务提供者的接口,然后像调用本地接口方法一样去调用,实原创 2021-12-18 15:13:10 · 427 阅读 · 0 评论 -
MyBatis-3
学习目标分页查询使用注解高级查询延迟加载xml中的字符实体逆向工程12.分页查询12.1.使用Limit分页使用Mybatis实现分页,核心SQL接口 //limit分页 List<User> getUserByLimit(Map<String,Integer> map);mapper.xml <!--limit分页--> <select id="getUserByLimit" parameterType=原创 2021-10-29 17:29:08 · 91 阅读 · 0 评论 -
log4j&Junit
单元测试正则表达式日志技术MySQL介绍第一章 单元测试第01节 基础理论单元测试的目的:以后做项目的过程当中,可能会存在大量的代码,很多的方法,为了快速的验证方法的正确性,我们会采用单元测试。去测试方法是否正确无误,可以达到预期的效果。使用步骤: 1、导入 junit的jar包 2、写一个测试类,定义测试方法。public 无参数,无返回值方法 3、需要添加 @Test 注解搜索jar包的位置:直接去 maven 公网仓库当中找寻https://www.mvnrepos.原创 2021-08-11 17:32:35 · 239 阅读 · 0 评论 -
反射(二)
课程笔记Day22反射注解正则表达式第一章 反射第01节 类加载器Java执行的过程HelloWorld.java ---javac 编译 ---> HelloWorld.class ----java 运行 ---> 可见的程序。编译的过程: 检查,校验,预编译的过程。运行的过程: 将字节码,加载到内存的过程。会通过 类加载器加载。简单一点说: 类加载器是用来加载字节码文件的。 ClassLoader理解类加载器(双亲委派机制)ClassLoader的两个应原创 2021-08-10 18:28:03 · 97 阅读 · 0 评论 -
XML解析
课程笔记Day21XML第一章 XML第01节 基础理论XML是什么?XML 是一种标记型语言。 由标签组成的。(例如:html他是标记型语言,由标签组成)HTML和XML 有什么区别呢? (1)HTML的标签是预定义的,XML的标签是自定义的。 (2)HTML用于展示数据,XML用于存储和传输数据。快速入门<?xml version="1.0" encoding="utf-8" ?><跟标签> <一级子标签1> &l原创 2021-08-10 07:58:43 · 114 阅读 · 0 评论 -
反射.....
学习目标1、掌握反射的概念2、掌握3种获取Class的方式3、掌握通过反射创建对象4、掌握通过反射机使用属性5、掌握通过反射使用方法第1章 反射1.1 概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。 这里的反理解为反转,控制反转。假如我们需要零花钱就找老婆要,这是“正”。但是现在反过来是老婆主动给我们,这是“反”。虽然最后的原创 2021-08-10 07:56:59 · 86 阅读 · 0 评论 -
XML&正则表达式
学习目标1、了解XML的发展跟历史2、了解XML跟HTML的区别3、熟练XML的语法规则3、了解XML的约束4、熟练XML的解析5、熟练正则的解析第1章 XML1.1 概述XML(EXtensible Markup Language)可扩展的标记语言。主要用于数据交换。在HTML发展过程中,由于游览器厂商的恶性竞争,都在兼容不规范的写法,以用来吸引开发者。这与W3C的初衷相违背。于是W3C制定了XML标准,想以此替代HTML进行数据展示。但此并不能吸引开发者,XML最终以失败告终。XML原创 2021-08-10 07:56:24 · 2960 阅读 · 0 评论 -
IO流(三)
课程笔记Day19字符文件流转换流字符缓冲流第一章 字符文件流第01节 基础理论为什么需要使用字符流呢?因为字节流操作文本文件的时候,容易出现 中文乱码问题。这种情况下,我们需要使用字符流。例如: 将文本文件的数据,读取到控制台当中,展示结果(采用字节流)编码表介绍公式char = byte + 编码表;字符 = 字节(0和1) + 编码表;//字符流的由来就是 字节流和编码表的组合。第02节 FileWriter字符文件输出流 FileWriter构造方法原创 2021-08-06 08:07:48 · 78 阅读 · 0 评论 -
File与IO
课程笔记Day18File类IO流第一章 File类第01节 基础理论File类是什么呢?关于 文件 和 文件夹的操作。举例: 1. 新建文件夹 2. 删除文件夹 3. 移动文件夹 4. 查看文件夹的内容 5. 新建文件 6. 删除文件 7. 修改文件 8. 查看文件信息第02节 常用方法构造方法创建对象格式格式说明File f1 = new File(“文件或者文件夹的路径”);将路径字符串,直接封装成为 File 对象File原创 2021-08-04 19:46:52 · 222 阅读 · 0 评论 -
异常与IO(二)
课程笔记Day17JDK8的时间类异常类第一章 JDK8的时间类第01节 基础理论常用类1. LocalDateTime 操作日期和时间的。日期(年月日星期)时间(时分秒毫秒)2. LocalDate 操作日期(年月日星期)3. LocalTime 操作时间(时分秒毫秒)备注:JDK8的时间类是 线程安全的第02节 常用API创建对象格式1. 获取当前时间 LocalDateTime ldt = LocalDateTime.now(); 2. 设置原创 2021-08-04 08:26:26 · 252 阅读 · 0 评论 -
异常与IO
学习目标1、了解异常和错误的区别2、了解异常的分类3、掌握异常的捕获跟处理3、掌握自定义异常4、掌握IO流的分类跟功能5、掌握使用字节流跟字符流读写数据6、掌握缓冲流、对象流、Properties的使用第1章 异常1.1 概述 正常情况下,小王从家里去上班,路上大概需要1个小时。但是,偶尔总会有各种情况发生,比如堵车、撞车等。这就是上班过程中的异常行为。 生活中我们有各种异常情况发生,我们写的程序也同样有各种异常情况发生。比如Scanner input = new S原创 2021-08-04 08:23:53 · 236 阅读 · 0 评论 -
JDK新特性(二)
课程笔记Day16Lambda 表达式方法引用Stream流第一章 Lambda表达式第01节 基础理论lambda表达式的体验发现问题以前写 匿名内部类的时候,会觉得代码非常的繁琐。写起来比较麻烦。体验 Lambda表达式接口//接口public interface JieKou { //抽象方法 public abstract void methodAbstract();}接口实现类//实现类public class ShiXian impleme原创 2021-08-04 08:19:49 · 104 阅读 · 0 评论 -
JDK新特性
学习目标1、掌握Lambda表达式的基本用法以及省略模式2、掌握接口中新增的静态方法跟默认方法的使用3、掌握函数接口的用法4、掌握方法引用的使用5、掌握Stream流在集合中的使用6、掌握JDK8对日期时间类的增强7、掌握JDK8重复注解跟类型注解的使用第1章 Lambda表达式1.1 概述 Lambda 表达式(lambda expression)是一个匿名函数。主要用来优化匿名内部类的结构。我们先看下传统的匿名内部类的使用方式。new Thread(new Runnable(原创 2021-08-04 08:18:08 · 86 阅读 · 0 评论 -
集合与泛型02
学习目标1、能够说出Map集合特点2、掌握多种集合的遍历方式3、掌握Collections工具类的使用 4、了解HashMap和Hashtable的区别和联系5、掌握集合中泛型的使用6、能够理解泛型上下限7、能够阐述泛型通配符的作用第1章 Map接口1.1 概述 前面学习的List跟Set主要用来存储单个实体的元素,但在生活中,很多时候我们会遇到这种集合:老公跟老婆、个人与身份证号等成对的数据组合,显然用List跟Set就显得力不从心了。对于这种数据就可以使用Map来完成。原创 2021-07-30 19:58:00 · 80 阅读 · 0 评论 -
集合与泛型01(二)
Collection 集合List 集合Set 集合第一章 Collection集合第01节 基础理论集合的由来数组有什么特点?1. 可以存储任意数据类型(基本数据类型或者引用数据类型)2. 数组的长度是固定的,不可以改变的上面特点当中,我们知道数组的长度固定,无法满足变化的需求,有时候,长度需要不断的变化,这种情况下,怎么办?就需要采用集合类去完成。集合的特点:1. 可以存储引用数据类型。(不能存放基本数据类型)2. 长度是可变的集合是一种容器,比方说我们的水杯。根据容.原创 2021-07-29 19:28:31 · 83 阅读 · 0 评论 -
集合与泛型01
学习目标1、了解容器的概念和体系结构2、掌握List接口以及List接口子类的底层数据结构3、掌握Set接口以及Set接口子类的的底层数据结构4、掌握ArrayList类跟LinkedList类的用法跟区别5、掌握HashSet类跟TreeSet类的用法6、掌握迭代器的用法以及原理第1章 集合框架1.1 概述 集合是JAVA中提供的一种容器,用来存储多个数据。 前面学习过数组的知识,数组也是一种数据的容器,但是数组使用起来非常不方便,区别:数组特点:类型固定,长度固定原创 2021-07-29 19:26:07 · 116 阅读 · 0 评论 -
常用类02(二)
课程笔记Day13字符串类 String字符串加强类 StringBuilder大数据类 BigDecimal数据格式化 NumberFormat枚举第一章 字符串类 String第01节 基础理论关于String类,他是字符串,相当于将多个字符串联在一起。需要注意的是字符串底层是 final char value[] 因此他的底层是不可以改变了。如果你感觉字符串,底层发生了变化,那么他一定是创建了一个新的字符串数据。第02节 构造方法介绍获取对象的方式,主要有四种,我们称之原创 2021-07-28 18:38:28 · 112 阅读 · 0 评论 -
常用类02
学习目标1、掌握String类的用法2、掌握String类、StringBuffer类、StringBuilder类的区别3、掌握基本类型跟包装类型的转换4、掌握自动装箱跟自动拆箱的概念5、掌握BigInteger类跟BigDecimal类的用法6、了解DecimalFormat类的用法7、掌握枚举的用法第1章 String类1.1 概述 基本数据类型char可以用来表示单个字符,但生活中跟项目中通常需要表示多个字符,使用char就显得力不从心。JDK提供了String类来达到我们原创 2021-07-28 18:36:12 · 96 阅读 · 0 评论 -
常用类01(二)
课程笔记Day12API的使用Object类Math类日期时间类包装类第一章 API的使用第01节 基础理论1. 什么是API? API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口)。 大白话解释:别人给你写好的类、接口、方法、变量 等信息,你只需要使用就可以了。2. API的作用? 例如: 我们要去开发一款美团外卖程序的后台系统。存在两个核心功能(定位、支付) 定位:地图相关的操作(百度和高德原创 2021-07-27 19:25:32 · 69 阅读 · 0 评论 -
常用类01
学习目标1、掌握Object类的相关用法2、掌握==跟equals的区别3、掌握Math类的常用方法3、掌握Random类的基本方法 4、掌握日期类和字符串类的转换方式5、掌握日期和日历类的转换方式第1章 Object类1.1 概述 java.lang.Object在Java中是万类之祖,即所有类的父类。Java中的继承是单继承的,如果一个类没有定义任何父类则这个类默认继承java.lang.Object,故其中定义的方法可以被任意引用类型使用,前提是拥有足够的权限。 根据JDK的原创 2021-07-27 19:22:10 · 73 阅读 · 0 评论 -
多态与内部类(二)
课程笔记Day11多态内部类内存回收第一章 多态第01节 基础理论回顾前面的知识点面向对象三要素: (1)封装 (2)继承 (3)多态什么是多态?小诗:苏轼的诗 "横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。" --- 《题西林壁》你站在不同的视角,可以得到不同的结果。 本质是一样的。生活实例: 水 H2O 三种不同的状态: 冰、水蒸气现在有一个类 class Pig extends Animal{ ... }//创建对象1:Pig o原创 2021-07-27 07:56:00 · 93 阅读 · 0 评论 -
抽象类与接口(二)
课程笔记Day10抽象接口比较器第一章 抽象第01节 基础理论抽象的由来在我们编写代码,采用继承关系的时候。继承是【向上抽取共性】的过程。例如: 猫 成员变量: name age 成员方法: 撸猫、吃 狗 成员变量:name age 成员方法:遛狗、吃我们向上抽取共性,形成父类 动物 对于成员方法而言,都应该具备有 吃的功能。但是站在动物的角度来说,动物吃什么? 我们不清楚生活实例:说明:站在父类的角度考虑问题,父类当中一定是存在这个功能的,但是这个功能原创 2021-07-23 19:42:33 · 116 阅读 · 0 评论 -
抽象类与接口
学习目标1、掌握抽象类的定义及使用2、掌握接口的定义及使用3、掌握比较器的使用第1章 抽象类1.1 抽象类概述由来:当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体。分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。例如:描述讲师的行为:工作。描述督导的行为:工作。讲师、督导之原创 2021-07-23 19:38:44 · 83 阅读 · 0 评论 -
多态与内部类
学习目标1、掌握模板设计模式思想及实现2、掌握Java多态的使用3、掌握引用数据类型转换及异常处理4、掌握几种内部类的使用5、理解Java内存管理与垃圾回收机制第1章 模板设计模式1.1 模板设计模式概述**模板设计模式定义:**定义一个操作中的算法骨架,将通用步骤以模板形式封装在父类模板中,将具体细节步骤延迟到子类中实现。模板设计模式是一种行为设计模式,一般是准备一个抽象类,将部分逻辑以具体方法或者具体的构造函数实现,然后声明一些抽象方法,这样可以强制子类实现剩余的逻辑。不同的子类以不原创 2021-07-23 19:34:48 · 211 阅读 · 0 评论 -
封装与继承
学习目标1、理解Java封装的意义2、掌握封装的使用3、掌握访问权限修饰符4、掌握Java继承的使用及注意事项5、掌握super、final关键字第1章 封装Java语言有三大特性:封装、继承、多态。封装:主要是将类中的部分代码实现细节隐藏、封装起来,不直接对外提供访问;继承:主要体现的父子类的关系上,提高了软件的可重用性和可扩展性;多态:包括编译时多态和运行时多态,通过调用不同参数或名称的方法来决定父类对象动态调用哪个子类方法,增强了代码的灵活度。Animal d= new A原创 2021-07-22 19:50:14 · 638 阅读 · 0 评论 -
封装与继承(二)
封装与继承(二)封装权限修饰符继承final 关键字第一章 封装第01节 基础理论面向对象三大特性1. 封装性2. 继承性3. 多态性什么是封装呢?类的封装封装就是对 一些属性和行为的包装。将属性和行为包装成为类。通过创建对象的方式,去使用属性和行为。生活实例: 有一个名字叫旺财的事物,他有3岁,可以看家,可以吃肉,还可以卖萌,还可以溜。 那么我们将这种 属性和行为封装成为狗。 使用狗的对象,就可以完成上面的操作(旺财、3岁、看家、卖萌....)方法封装我们原创 2021-07-22 19:47:48 · 76 阅读 · 0 评论 -
面向对象(基础二)
递归方法构造方法this和staticpackage和import第一章 递归方法第01节 基础理论什么是递归呢?在 Java 当中,递归指的是 方法自己调用自己的过程。(备注:递归需要有出口,需要能够终结)思想:大事化小小事化了。生活实例: 《和尚讲故事》 从前有座山,山里有个庙,庙里有个老和尚,老和尚在给小和尚讲故事。 从前有座山,山里有个庙,庙里有个老和尚,老和尚在给小和尚讲故事。 从前有座山,山里有个庙,庙里有个老和尚,老和尚在给小和尚讲故事。 从前有座山,山里有个庙.原创 2021-07-22 08:06:21 · 140 阅读 · 0 评论 -
面向对象(基础)
学习目标1、掌握方法的可变参数定义及使用2、掌握递归算法以及其他优缺点3、掌握构造方法的定义及使用4、掌握this、static、package、import关键字5、熟练实现一些常用算法第1章 方法的可变参数1.1 方法的可变参数引入需求一:现在假如有这样一个设计需求,一个工具类中,要实现一个求2个整数之和的方法;接着,还需要实现一个求2个小数求和的方法。针对上面这个需求,最开始我们可以定义两个方法getSum1()和getSum2()分别求和。但是,如果类似需求增多了呢?这种定义方原创 2021-07-22 08:01:53 · 123 阅读 · 0 评论 -
类和对象(二)
面向对象基础方法基础用法第一章 面向对象基础第01节 思想概述什么是面向对象?面向过程:所有的事情,都是自己做。(亲力亲为)面向对象:找人帮你做事情,请的人叫做对象,对象具备有做事情的功能。(请人做事)生活实例:张三,游戏代练。李四玩王者荣耀,想要上王者,自己菜,需要请人帮我做事情,找代练。提供材料,帮我上王者。张三,就是对象,他具备有上王者的功能。怎么对象法呢?如何去模拟现实生活上述图片当中设计图纸相当于是一个 java类,注意他只需要一份即可。但是不能实际做操作。.原创 2021-07-20 19:15:53 · 111 阅读 · 0 评论 -
面向对象(类与对象)
学习目标1、理解Java面向对象的思想2、掌握类与对象的定义和使用3、掌握成员变量与局部变量的区别4、掌握方法的定义与使用5、掌握方法的参数传递6、掌握方法重载的定义与使用第1章 面向对象思想1.1 面向对象思想介绍Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性原创 2021-07-20 19:06:46 · 1094 阅读 · 0 评论 -
五、数组
学习目标1、掌握一维数组的定义和基本使用2、理解数组的内存结构原理3、掌握二维数组的定义和基本使用4、掌握数组的基本算法和实现5、掌握数组工具类Arrays的使用第1章 数组概述1.1 数组介绍现在假如要统计我们班的学生姓名情况,用前面所学的知识,我们可能需要先声明n多个个变量来分别记住每个学生的姓名,这样做会显得很麻烦,而且容易出错。因此我们可以使用容器进行操作。将所有的数据全部存储到一个容器中,统一操作。因此,这就引出了一个容器的概念。容器概念:**容器:**是将多个数据存储到原创 2021-07-15 19:16:27 · 190 阅读 · 0 评论 -
四、循环结构
学习目标掌握for、while、do...while三种循环语句结构、流程及使用掌握break、continue关键字的使用掌握嵌套循环的使用及跳出掌握随机数Random类的使用第1章 循环语句1.1 循环概述在实际开发中,可能有一个功能,要我们判断两个数据的大小,或者是判断当前是哪个季节,等等类似需求,我们都可以使用前面刚学的if和switch条件语句进行控制处理。但也有可能遇到下面的需求:要求计算1~100相加的总和,或者更直白简单一点,要求我们打印1000行helloword。这对这原创 2021-07-15 08:01:44 · 102 阅读 · 0 评论 -
三、流程控制语句
学习目标1、掌握键盘录入类Scanner的基本使用2、掌握三种if分支语句结构、执行流程以及使用3、掌握switch分支语句结构、执行流程以及使用4、掌握Eclipse工具的debug调试使用第1章 数据输入数据输入是程序获取指获取用户键盘录入的数据,那么在java语言中,怎样实现呢?我们可以通过 Scanner 类来获取用户的输入。1.1 Scanner类的使用1.1.1 导包使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入原创 2021-07-15 07:57:58 · 124 阅读 · 0 评论 -
Java知识点汇总
Java基础汇总(持续更新中…)序号内容简介1初始java2变量&运算符原创 2021-07-13 20:11:39 · 291 阅读 · 0 评论