Note
文章平均质量分 93
基础
Doub1eOne
这个作者很懒,什么都没留下…
展开
-
3-8 Log
用于记录系统中发生的各种事件。记录的位置常见的有 :控制台、(数据库)磁盘文件等日志 : 记录正常运行内容 和 错误情况 .网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。原创 2023-11-30 11:16:59 · 982 阅读 · 0 评论 -
3-9 Quartz
Quartz是一个定时任务调度框架。想在30分钟后,查看订单是否支付,未支付则取消订单想在每月29号,信用卡自动还款想定时在某个时间,去做某件事(任务)。Quartz是要做定时任务的调度,设置好触发时间规则,以及相应的任务(Job)即可。/*** 工作类的具体实现,即需要定时执行的“某件事”* *///执行//创建工作详情//获取工作的名称//任务名//任务group。原创 2023-11-30 11:18:41 · 924 阅读 · 0 评论 -
3-10 LayUI
文章目录一、引言1.1 介绍二、环境搭建2.1 下载2.2 导入依赖三、页面元素3.1 布局3.2 字体图标3.3 按钮3.4 表单3.5 数据表格3.5.1 动态表格3.5.2 分页参数3.5.3 显示工具栏3.5.4 操作按钮3.5.5 操作按钮回调3.6 导航3.7 动画四、内置模块4.1 layer4.1.1 弹窗方法4.1.2 弹窗属性4.2 layDate4.3 upload4.4 carousel一、引言1.1 介绍官网:https://www.layui.com/在官网首页,可原创 2023-11-30 11:20:43 · 908 阅读 · 0 评论 -
3- 7 SSM框架知识点总结
5 注解(了解)6 事务处理(了解)7 声明式事务处理(非常重要,背诵如何复制粘贴)3 视图解析器的前缀和后缀4 参数绑定 简单类型的参数绑定5 方法的返回值3 controller3 参数绑定(原始po类型参数绑定)(重点)4 自定义的转换器(重点)参数绑定: 数组(重点)参数绑定 po类的集合对象 List参数绑定 po类的map集合 Mapspringmvc本地化的对象2 FastJson:用法同Jackson原创 2023-11-30 11:15:39 · 752 阅读 · 0 评论 -
3-2 Git
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。官网:https://git-scm.com/Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理 , 追踪文件的变更分支,是一个个版本最终存储的位置。分支,就是一条时间线,每次git commit。原创 2023-11-24 17:09:21 · 881 阅读 · 0 评论 -
4-1架构演进
文章目录一、开发环境&生产环境1.1 开发环境1.2 生产环境二、Web1.0&Web2.0阶段2.1 Web1.0阶段2.2 Web2.0阶段2.3 搭建集群后发生的问题.三、垂直架构四、分布式架构五、分布式架构常见问题5.1 服务之间的异步通讯5.2 服务之间通讯地址的维护.5.3 服务降级5.4 海量数据六、微服务架构6.1 微服务架构6.2 模块过多,运维成本增加6.3 分布式架构下的其他问题6.3.1 分布式事务6.3.2 分布式锁6.3.3 分布式任务6.3.3 分布式任务一.原创 2020-12-15 21:42:42 · 49 阅读 · 0 评论 -
4-2 Linux
文章目录一、引言1.1 开发环境1.2 生产环境1.3 测试环境1.4 操作系统的选择二、Linux介绍2.1 Linux介绍2.2 Linux的版本2.3 Linux和Windows区别三、Linux安装3.1 安装VMware3.2 安装Xterm3.3 在VMware中安装Linux3.3.1 选择安装方式3.3.2 指定镜像方式3.3.3 选择操作系统类型3.3.4 指定虚拟机名称3.3.5 磁盘存储方式3.3.6 指定虚拟机配置3.3.7 开始安装CentOS3.3.8 配置虚拟机网络连接3.3.原创 2020-12-15 21:55:16 · 77 阅读 · 0 评论 -
4-3 Docker
文章目录一、引言1.1 环境不一致1.2 隔离性1.3 弹性伸缩1.4 学习成本二、Docker介绍2.1 Docker的由来2.2 Docker的思想三、Docker的安装3.1 下载Docker依赖的环境3.2 指定Docker镜像源3.3 安装Docker3.4 启动Docker并测试四、Docker的中央仓库【`重点`】五、镜像的操作【`重点`】5.1 拉取镜像5.2 查看本地全部镜像5.3 删除本地镜像5.4 镜像的导入导出六、容器操作【`重点`】6.1 运行容器6.2 查看正在运行的容器6.3.原创 2020-12-15 22:08:02 · 66 阅读 · 0 评论 -
4-5 Redis
文章目录一、引言1.1 数据库压力过大1.2 数据不同步1.3 传统锁失效二、Redis介绍2.1 NoSQL介绍2.2 Redis介绍三、Redis安装3.1 安装Redis3.2 使用redis-cli连接Redis3.3 使用图形化界面连接Redis四、Redis常用命令【`重点`】4.1 Redis存储数据的结构4.2 string常用命令4.3 hash常用命令4.4 list常用命令4.5 set常用命令4.6 zset的常用命令4.7 key常用命令4.8 库的常用命令五、Java连接Red.原创 2020-12-25 09:32:34 · 47 阅读 · 0 评论 -
4-4 Nginx
文章目录一、引言1.1 代理问题1.2 负载均衡问题1.3 资源优化1.4 Nginx处理二、Nginx概述三、Nginx的安装3.1 安装Nginx3.2 Nginx的配置文件3.3 修改docker-compose文件四、Nginx的反向代理【`重点`】4.1 正向代理和反向代理介绍4.2 基于Nginx实现反向代理4.3 关于Nginx的location路径映射五、Nginx负载均衡【`重点`】5.1 轮询(默认)5.2 权重5.3 ip_hash六、Nginx动静分离【`重点`】6.1 动态资源代.原创 2020-12-25 09:32:56 · 71 阅读 · 0 评论 -
4-6 ElasticSearch
文章目录一、引言1.1 海量数据1.2 全文检索1.3 高亮显示二、ES概述2.1 ES的介绍2.2 ES的由来2.3 ES和Solr区别2.4 倒排索引三、 ElasticSearch安装3.1 安装ES&Kibana3.2 安装IK分词器四、 ElasticSearch基本操作4.1 ES的结构4.1.1 索引Index,分片和备份4.1.2 类型 Type4.1.3 文档 Doc4.1.4 属性 Field4.2 操作ES的RESTful语法4.3 索引的操作4.3.1 创建一个索引4.3..原创 2021-02-24 10:42:04 · 69 阅读 · 0 评论 -
4-7 SpringBoot
文章目录一、引言1.1 初始化配置1.2 整合第三方框架1.3 后期维护1.4 部署工程1.5 敏捷式开发二、SpringBoot介绍SpringBoot特点:三、SpringBoot快速入门【`重点`】3.1 快速构建SpringBoot3.1.1 选择构建项目的类型3.1.2 项目的描述3.1.3 指定SpringBoot版本和需要的依赖3.1.4 导入依赖3.1.5 编写了Controller3.1.6 测试3.2 SpringBoot的目录结构3.2.1 pom.xml文件3.2.2 .gitig.原创 2021-02-24 10:56:30 · 90 阅读 · 0 评论 -
4-8 RabbitMQ
文章目录一、引言二、RabbitMQ介绍三、RabbitMQ安装四、RabbitMQ架构【`重点`】4.1 官方的简单架构图4.2 RabbitMQ的完整架构图4.3 查看图形化界面并创建一个Virtual Host五、RabbitMQ的使用【`重点`】5.1 RabbitMQ的通讯方式5.2 Java连接RabbitMQ5.2.1 创建maven项目5.2.2 导入依赖5.2.3 创建工具类连接RabbitMQ5.3 Hello-World5.4 Work5.5 Publish/Subscribe5.6.原创 2021-02-24 11:04:25 · 116 阅读 · 0 评论 -
4-9 SpringCloud
文章目录一、SpringCloud介绍1.1 微服务架构1.2 SpringCloud介绍二、服务的注册与发现-Eureka【`重点`】2.1 引言2.2 Eureka的快速入门2.2.1 创建EurekaServer2.2.2 创建EurekaClient2.2.3 测试Eureka2.3 Eureka的安全性2.4 Eureka的高可用2.5 Eureka的细节三、服务间的负载均衡-Robbin【`重点`】3.1 引言3.2 Robbin的快速入门3.3 Robbin配置负载均衡策略四、服务间的调用-.原创 2021-03-06 19:46:28 · 62 阅读 · 0 评论 -
4-10 Zookeeper
Zookeeper本身是Hadoop生态园的中的一个组件,Zookeeper强大的功能,在Java分布式架构中,也会频繁的使用到Zookeeper。DougZookeeper就是一个文件系统 + 监听通知机制。原创 2022-10-22 19:46:06 · 78 阅读 · 0 评论 -
4-11 分布式处理方案
由于传统的锁是基于Tomcat服务器内部的,搭建了集群之后,导致锁失效,使用分布式锁来处理。分布式锁介绍分布式任务介绍官网:http://elasticjob.io/index_zh.html由当当网基于Quartz + Zookeeper的二次开放产品基于Zookeeper分布式锁,保证只有一个服务去执行定时任务。基于Zookeeper实现了注册中心,自动帮助我们去调度指定的服务执行定时任务。基于Zookeeper实现了注册中心,基于心跳的方式,自动去检测服务的健康情况。分布式事务介绍。原创 2022-10-22 19:53:15 · 70 阅读 · 0 评论 -
1-1 Java基础和编程概述
计算机语言分类:机器语言:直接用二进制指令表达,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义(如0000 代表 加载(LOAD),0001 代表 存储(STORE))。汇编语言:使用一些特殊的符号来代替机器语言的二进制码(又称符号语言),计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言,汇编语言依赖于硬件体系,开发难度大(如加法指令ADD/ADC、减法指令SUB/SBB)。原创 2022-10-22 20:09:45 · 358 阅读 · 0 评论 -
1-2 Java运算符和分支
现在我们书写的代码都是从上至下逐行执行,这种方式称为【顺序执行(顺序结构)】如果当程序出现一个选择问题的时候:例如:当你编写一个程序时,如果玩家获得1000分,可以让玩家进入第二关卡,否则就在当前关卡进行游戏这个例子中顺序结构就无法实现,因为有一个条件执行到另外一段代码【编程逻辑】,只要达到1000分当Java程度中出现选择判断条件的时候,顺序执行无法满足,我们就需要使用到Java中所提供的分支结构。原创 2022-10-22 20:13:53 · 530 阅读 · 0 评论 -
1-3 Java循环结构和方法
while循环是仅次于for循环而存在一个循环,循环的特点就是while循环后面循环条件是一个boolean表达式,所以利用这个原则写一个死循环,只要表达式的始终为true就是死循环,如果循环过程中是一个单纯的boolean表达式,建议优先使用while循环。break关键字只能停止当前循环【当前这层】,如果是嵌套循环,需要将循环都停止,就建议在最外层循环的位置添加一个“标签”,可以标记循环的名字,使用break的时候可以对这个带有标签名字循环进行终止,已达到对嵌套循环的停止。2.循环次数【重复多少遍】原创 2022-10-22 20:17:07 · 278 阅读 · 0 评论 -
1-4 Java方法和数组
重载的好处:可以不用大量记忆方法名,同样实现逻辑的方法只需要记住一个方法名即可,无需记忆参数类型,只需要在调用方法的时候,传入对应值即可,系统会自动选择最合适的方法给你使用。将一段特定的功能代码进行封装,需要写入到一个大括号中,然后给这个大括号起一个名字,有这个名字之后,就可以调用这个方法了,调用方法就可以处理你要处理业务逻辑。循环不能解决所有重复的问题,当遇到针对某一段特定的代码,重复实现,此时循环就无法完成这个需求,需要一个新的概念完成这个需求 —》方法就是**【一段特定功能的代码】**原创 2022-10-22 20:21:57 · 132 阅读 · 0 评论 -
1-5 Java数组
用于:存储局部变量,操作栈,方法出口等等(每一个方法,创建一个栈帧,栈帧存放了当前方法的数据信息(局部变量),当方法调用完毕之后,该方法的栈帧就会被销毁):选择某个下标位置的元素,然后和后面的元素依次进行比较,若大于则交换,经过一轮排序之后,会找出最小值,放到数组的第一个位置,后续排序只要遵守这个原则即可。的数据存储,也可以满足对当前数据的各种该操作【增,删,改,查】,这个数据结构就是。原创 2022-10-22 20:24:48 · 172 阅读 · 0 评论 -
1-6 Java数组2
可变参数是定义在方法参数列表总一种形式,这个参数类型的定义有一个特殊方式必须使用**【…】**,一个方法中的可变参数有且仅有一个,必须出现在所有定义参数的末尾可变参数是一个比较好使用参数定义,既然是可变就意味着【什么都不传 或 传多个】,在方法体的内部对可变参数的操作是以一维数组从形式操作。原创 2022-10-22 20:26:24 · 172 阅读 · 0 评论 -
1-7 面向对象基础
1):问题的定义及规划: 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。2):需求分析: 在确定软件开发可行的情况下,对软件需要实现的各功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。3):软件设计: 此阶段主要根据需求分析的结果,把整个软件系统划分为大大小小的多个模块,设计出每一个模块的具体结构。如系统框架设计,数据库设计等。软件设计一般分为总体设计和详细设计。原创 2022-10-22 20:29:20 · 138 阅读 · 0 评论 -
1-8 面向对象之封装
1.创建包的时候不能以【Java】开头,因为Java有安全检查机制【Java开头的包是系统API】2.包名必须遵守标识符命名规则,不能使用关键字【可以因情况而定】,建议全部的名称小写3.在开发中包的名称是公司域名倒写【不包括www】原创 2022-10-22 20:33:35 · 277 阅读 · 1 评论 -
1-9 面向对象之继承
Objects工具类:工具类是Java1.7中所有提供一个新的工具类,这个工具类的诞生主要目的是辅助Object完成对,对象的操作,实际中这个工具类主要目的是处理一些常见空指针异常问题,这个工具类中提供了大量处理null作为值的方法,从而避免空指针。基于某个父类的定义加以扩展,从而从产生新的子类定义,子类可以继承父类原有定义的属性和方法,也可以在子类自身增加原有父类不存在属性方法,或者父类所提供方法无法满足子类需求的时候,子类可以将父类原有方法进行修改从而达到自身需求。原创 2022-10-23 17:59:46 · 72 阅读 · 0 评论 -
1-10 面向对象之多态
PS:例如:一个父类,生出了一个女儿和一个儿子,两个孩子都是正常生产,但是女儿长得好看,儿子长得就有有点…cut词,如果是导演听到了停止拍摄,如果理发师听到这个理发。原创 2022-10-23 18:00:48 · 78 阅读 · 0 评论 -
1-11 内部类和Lambda表达式
PS:打死都不用一个类【笔试题】,局部内部类只能定义在方法体中【不能修饰任何修饰符】![请添加图片描述](https://img-blog.csdnimg.cn/75452c3622a34942abbb07362a75801f.jpeg)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCSnFFsI-1666519301147)(内部类和Lambda表达式.assets/wpsDAkj3t.jpg)]原创 2022-10-23 18:11:25 · 140 阅读 · 0 评论 -
1-12 包装类和String类
包装类是基本数据类型引用版本,因为基本数据类型在网络传输中,效率低【基本数据类型不能序列化(不能形成二进制)】为了提供传输效率所以提供了包装类基本数据类型没有提供任何可以对数据操作的方法,包装类本身就是一个类,所以他提供了一些可以一些直接处理数据方法在后期使用集合过程中,集合只能存储引用类型,所以无法存值类型【基本数据类型】,所以就就需要包装类进行存储PS:就算包装类是基本数据类型引用版本,但是依旧遵守基本数据类型规则【特殊的引用类型】原创 2022-10-23 18:14:11 · 207 阅读 · 0 评论 -
1-13 StringBuffer和StringBuilder和常用类
正则表达式是一个特殊字符串,通过这个字符串可以对其他字符串进行验证,正则表达式可以做到约束和验证的目的使用场景:注册页面【长度,匹配要求,限制字符】,邮箱,手机号等等【JS】演示正则使用StringBuffer和StringBuilder类StringBuffer和StringBuilder都是可变字符串,对字符串的操作会直接作用在原本字符串上【所有操作都是对当前字符串】,所以String和StringBuffer和StringBuilder的区别就出现,String的所有操作都会得到新的字符串,St原创 2022-10-23 18:22:37 · 115 阅读 · 0 评论 -
1-14 枚举和异常
Java中系统中提供了很多异常,但是这些异常并不能满足所有情况,判断腿的异常,身高异常,体中异常?当出现一些定制异常的时候,系统异常就不能满足需求,此时我们可以创建自己的异常自定义异常分为两个种类1.运行时自定义异常,创建一个自定义异常类,这个类继承于RuntimeException【程序运行时就提示有异常】2.编译时自定义异常,创建一个自定义异常类,这个类继承于Exception【编写代码时就提示有异常】无论是继承哪一个,都需要仿照父类生成自己的构造方法即可自定义异常。原创 2022-10-23 18:26:20 · 177 阅读 · 0 评论 -
1-15 Collection集合之List集合
PS: 大话数据结构建议可以读数据结构是计算存储、组织数据的形式数据结构是指相互之间存在一种或多种特定关系的数据元素的结合通常情况下,精心选择的数据结构可以带来更高的运算和存储效率,数据结构往往高效 原因在于【检索算法】和【索引技术】常见数据结构:【数组、栈、链表【单项和双向(环形链表)】,哈希表,队列【单向和双向】、堆、树、图】Java中集合框架其实就是【数据结构的实现】,我们只需要掌握【如何】使用这个数据结构即可,还是需要间接掌握一些底层原理。原创 2022-10-23 18:33:50 · 193 阅读 · 0 评论 -
1-16 Collection集合之Set集合和泛型
Set集合是Collection集合下的一个子集合即Set集合是继承于Collection,所以Set集合的实现类,也是Collection集合的实现类。List是ArrayList和LinkedList的【“父类”】,即当前的两个类都实现了List接口,所以就允许面向接口编程【允许接口多态】PS:集合类或接口,基本上都使用上了泛型,所以无需对泛型声明,只需要对泛型赋值即可【只需要写数据类型就可以】在使用集合时,不使用泛型集合需要向下转型和判断数据类型,如果集合数据类型过【杂】,操作起来十分不方便。原创 2022-10-23 19:07:04 · 426 阅读 · 0 评论 -
1-17 Set集合和Map集合
1.这两个接口都可以对TreeSet中排序的数据,提供排序方式,只不过对应构造方法不同2.Comparator和Comparable的实现排序理论是一样的,所以如果使用TreeSet对数据进行排序,这两个接口只要实现其中一个即可,不需要都实现PS:如果用TreeSet建议使用Comparable3.Comparator接口其实比Comparable接口受众面更大,Comparator接口不仅可以作为TreeSet集合的实现,也可以作为系统一共sort方法中参数实现。原创 2022-10-23 19:13:07 · 91 阅读 · 0 评论 -
1-18 Collections工具类和StreamAPI流式编程
Map集合是独立的,它不属于Collection,Map集合提供了一种键值对的存储机制【key-value】key值必须唯一,value值可以不唯一。原创 2022-10-23 19:14:40 · 203 阅读 · 0 评论 -
1-19 IO流_1
1.写递归必须要有结束点【递归的停止】,否则会出现StackOverflowError 栈溢出2.明确这个方法在重复做什么事情,是否有重复做事情的条件,是否可以重复做到这个事情3.简单的递归都是可以使用【循环解决】,但是深层次的遍历就无法使用循环必须使用【递归】4.在项目中有一定要在【确认】的前提下在写递归,不然一但出错,后果严重PS:递归的执行效率是真的高,原因是在同一个时间内会将所有资源都用到这个计算中。原创 2022-10-25 21:48:29 · 146 阅读 · 0 评论 -
1-20 IO流_2
使用字节流操作汉字或特殊的符号语言的时候,容易乱码,建议使用字符流.先有字节流,后有字符流,字符流是对字节流的补充.使用记事本打开某个文件,可以看到内容的就是文本文件,否则可以理解二进制.一般的,操作二进制文件(图片,音频,视频等)必须使用字节流.一般的,操作文本文件使用字符流.Reader【字符输入流】Reader是所有字符输入流的父类,这个流中数据是字符【char】,所有字符输入流都需要继承于它,并且得到其方法因为Reader是一个抽象类,所以不能直接创建对象,需要使用其子类来创建对象FileRea原创 2022-10-25 21:50:44 · 335 阅读 · 0 评论 -
1-21 线程1
进程:是指一个内存中运行的**【应用程序】原创 2022-10-25 22:07:05 · 166 阅读 · 0 评论 -
1-22 线程2
多线程通信的时候容易造成死锁,死锁无法解决,只能避免**产生的原因:**当A线程等待由B线程持有的锁对象,而B线程正在等待A线程持有的锁对象时,就会发生死锁,JVM是不会检测不会回避,JVM的回应就是虚拟机一致执行【会出现假死状态】**避免死锁的原则:**当多个线程都要访问共享资源的时候 ,A,B,C保证每一个线程都按照相同顺序去访问这个资源,这个样就可以避免死锁,A线程最先,B线程第二,C线程最后【可以适当睡眠】“死锁”状态 不等于 “等待”状态案例:张三对李四说:你把画给我,我就把书给你…李四对张三说原创 2022-10-25 22:08:57 · 94 阅读 · 0 评论 -
1-23 Socket编程
(3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。但是你在等待包子的时候用,其他人【服务员】可以准备凉菜,或者可以两种同时准备,最常时间就3分钟【这就是异步执行】,而Future就是这种执行模式。原创 2022-10-25 22:20:17 · 213 阅读 · 0 评论 -
1-24 反射
类的对象:基于某类new出来的对象,我们称为实例对象//通过Integer类创建乐意个i对象,这个对象是对当前类的一个引用,也为称为Integer类的实例类对象:类加载的产物,这个产物中封装着一个类的所有信息【类名,父类,接口,属性,方法和构造方法】PS:这个加载的产物属于谁,他属于Class【Class描述的是什么,就是这个类中有类名,父类,接口,属性,方法和构造方法】如何创建Class对象?原创 2022-10-25 22:22:05 · 61 阅读 · 0 评论