自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 Java集合:Collection-数组集合区别、集合特点、常用方法、遍历-List有序集合-Set无序集合-Map双列集合

文章目录1 Collection1.1 数组和集合的区别1.2 集合的特点1.3 Collection的方法1.4 遍历2 List有序集合-ArrayList和LinkedList2.1 特有方法2.2 ArrayList2.3 LinkedList3 Set无序唯一集合LinkedHashSet-TreeSet3.1 HashSet3.2 LinkedHashSet3.3 TreeSet4 Map双列集合4.1 Map集合和Collection集合区别4.2 Map集合的方法4.3 HashMap4.4

2021-08-30 20:00:47 1374

原创 Java基础语法:JVM、JRE和JDK-重载和重写-三大特性-反射-equals和==的区别-equals 和 hashCode 的关系-Object都有那些方法-基本数据类型-序列化-简述泛型

1 JVM、JRE和JDK1.1 JVMJava虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。1.2 JREJRE 是 Java运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java虚拟机(JVM),Java类库,java命令和其他的一些基础构件。但是,它不能用于创建新程序。1.3 JDKJDK是Java Development Kit,它是功能齐

2021-08-27 18:05:56 1263

原创 Redis:缓存处理流程-缓存穿透-击穿-雪崩

1 缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。2 缓存穿透2.1 描述缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。2.2 解决方案接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;从缓存取不到的数据,在数据库中也没有取到,这时也

2021-08-27 12:32:00 1816

原创 MySQL-事务的特性、隔离级别、存储引擎、索引、连接查询、索引失效、查询优化、删除区别、数据库范式、InnoDB锁机制-书写顺序和执行顺序

文章目录1 事务的特性(ACID)2 MySQL中InnoDB支持的四种事务隔离级别3 存储引擎3.1 MyISAM3.2 InnoDB3.3 Memory4 什么是索引?都有哪些索引?4.1 索引定义、优缺点4.2 索引类型4.3 索引存储类型4.4 B+Tree索引4.5 聚簇索引与聚集索引4.6 非聚集索引与聚集索引的区别4.7 聚簇索引的优缺点5 简述内连接和外连接6 索引失效的情况7 查询优化?8 delete、drop、truncate的区别9 数据库范式10 innoDB锁机制10.1 inn

2021-08-27 12:25:33 1654

原创 Java进程与线程、多线程特性、实现方式、start和run、wait和sleep、线程生命周期、Synchronized底层实现原理、锁是什么?如何确定对象的锁?、线程控制

1 进程和线程的区别进程是资源分配的最小单位,线程是任务调度和执行的基本单位进程有独立的地址空间,一个进程崩溃,不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。2 多线程特性原子性可见性有序性一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行,这就是原子性操作。可见性指当一个线程修改了共享变量时,其

2021-08-24 17:09:26 441

原创 JVM内存模型、Java类加载过程、类加载器、双亲委派机制、垃圾回收机制、垃圾判定方法、垃圾回收方法、垃圾回收优点:有效防止内存泄漏、Java 中的内存泄露的情况、Java引用类型、

1 JVM内存模型及分区JVM分为堆区、栈区(虚拟机栈和本地方法栈)、方法区、程序计数器堆:存放对象实例,垃圾回收主要针对堆区。虚拟机栈:描述方法执行的内存模型,每个方法执行时创建一个栈帧存放方法的局部变量表、操作数栈、返回地址等信息。本地方法栈:为本地方法服务。方法区:存储被虚拟机加载的类信息、常量、静态变量等数据。程序计数器:记录当前线程执行的行号。2 Java类加载过程加载验证准备解析初始化加载通过全类名获取类的二进制字节流将二进制字节流中的静态存储结构转化

2021-08-24 10:31:20 1150

原创 计算机网络:DNS解析过程、转发和重定向区别、HTTP发展、HTTPS、GET和POST

1 简述DNS解析过程客户机发出查询请求,在本地计算机缓存查找,若没有找到,就会将请求发送给dns服务器本地dns服务器会在自己的区域里面查找,找到即根据此记录进行解析,若没有找到,就会在本地的 缓存里面查找本地服务器没有找到客户机查询的信息,就会将此请求发送到根域名dns服务器根域名服务器解析客户机请求的根域部分,它把包含的下一级的dns服务器的地址返回到客户机的 dns服务器地址客户机的dns服务器根据返回的信息接着访问下一级的dns服务器这样递归的方法一级一级接近查询的目标,最后在有目标

2021-08-23 22:16:10 2490

原创 计算机网络-OSI七层模型、TCP(三次握手、四次挥手、原因)、UDP、TCP与UDP区别、为什么TCP可靠、TCP粘包、解决粘包、滑动窗口、拥塞控制、快重传

文章目录1 简述OSI七层模型1.1 物理层(网卡、集线器工作在此层)1.2 数据链路层(交换机)1.3 网络层(路由器)1.4 传输层1.5 会话层1.6 表示层1.7 应用层2 传输层协议(TCP、UDP)2.1 TCP协议(Transmission Control Protocol,传输控制协议)2.1.1 三次握手2.1.2 四次挥手2.2 UDP协议(User Datagram Protocol,用户数据报协议)3 TCP与UDP区别4 为什么TCP可靠?5 为什么UDP不可靠?6 简述TCP的粘

2021-08-23 21:58:00 2143

原创 缺省(默认)端口参数

文章目录缺省各种常用的默认端口号端口号的范围是从1~65535。其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端口”(Well Known Ports);从1025~65535的端口被称为动态端口(Dynamic Ports),可用来建立与其它主机的会话,也可由用户自定义用途。常见端口号缺省缺省是一种计算机术语,指在无决策者干预情况下,对于决策或应用软件、计算机程序的系统参数的自动选择。默认选项的设计可以在用户不须决策的状况下就可以基础地使用上述的软件与程序。各种常用的默认端口

2021-08-23 17:34:38 1810

原创 websocket-背景、特点、与http关系、协议建立、客户端、服务端、心跳机制、客户端服务端说明、实时推送

文章目录1. websocket的背景2. websocket的特点3. websocket 与Http的关系4. websocket协议建立5. websocket的客户端6. webSocket的服务端7. websocket的心跳机制8. 客户端和服务端说明9 websocket的实时推送1. websocket的背景现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询或者long poll这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的

2021-08-12 16:01:21 294

原创 Maven打包SpringBoot多 模块项目

1. 父工程配置mybatis的mapper.xml的路径<build> <resources> <!-- mapper.xml文件在java目录下idea默认只能识别resources目录下面的xml文件,不能识别我们自己包中的xml文件,所以我们需要自己构建时指定--> <resource> <directory>src/main/java</directory> <includes>

2021-08-12 15:58:41 219

原创 Redis(REmote DIctionary Server)-简介、特点、优势、安装、数据类型、常用命令、API操作、SpringBoot集成Redis、持久化策略、缓存穿透、击穿、雪崩

文章目录1. Redis的简介2 Redis的特点3 Redis的优势4 常用的NoSql数据库5 Redis的安装5.1 Redis单机版的安装5.2 Redis的集群安装6 Redis中配置的查看7 Redis中的数据类型8 数据类型之String(字符串)9 数据类型之Hash(哈希)10 数据类型之List(列表)11 数据类型之Set(集合)12 数据类型之ZSet(有序集合)13 Redis中的常用命令13.1 键值对相关13.2 服务器相关1. Redis的简介Redis是一个开源(BS

2021-08-12 14:57:45 1441

原创 优品商城-商品类别、商品、商品订单

商品goods 商品类别controller 删除 和修改 商品 service 和 controller ```@RequestParam(defaultValue = “1”) ```title != null and title != ‘’ goods 查询操作 加分页 搜索[ ]媒资映射再买一个linux的ngroknatapp就是封装的这个订单结算之前生成订单 GoodsOrderMapper Goods

2021-08-10 15:44:22 218

原创 内网穿透-端口映射-跨域问题解决

内网穿透server.port=80跨域问题@CrossOrigin

2021-08-10 09:27:46 4142 6

原创 优品商城-接口文档1(用户相关)

1 后台用户注册接口**请求地址:**http://localhost:8080/user/regist**请求方式:**POST请求参数:nickname: xxxpassword: xxx请求参数说明:参数名称说明nicknamepasswordstring类型;登录密码响应数据:{ "code": 888, "msg": "xxx" }响应数据说明:参数名称说明codeint类型;响应码,666:注册成功;888

2021-08-09 20:27:46 138

原创 nginx-一个高性能的HTTP和反向代理web服务器

1. Nginx简介Nginx是一个开源且高性能,可靠的http中间件,代理服务2. 常见的Http服务httpd apache基金会IIS 微软GWS googleNginx3. 为什么选择NginxIO多路复用epool轻量级cpu亲和把cpu的核心和nginx的工作进程绑定在一起,把每个worker固定在一个cpu的核上执行,较少cpu的切换,获得更好的性能sendFile机制在传统的传输静态文件时要经过linux内核的用户空间(User Space)和内

2021-08-09 20:05:32 163

原创 fastDFS轻量级分布式文件系统

1. fastDFSfastDFS 是以C语言开发的一项开源轻量级分布式文件系统,一般作为资源服务器来使用2. fastDFS主要功能文件存储文件同步文件的访问(文件上传|文件下载)特别适合以文件为载体的在线服务(图片网站,视频网站,购物网站)3. fastDFS中的角色3.1 tracker server 追踪服务器追踪服务器负责接收客户端的请求主要做调度工作, 起负载均衡的作用Tracker需要管理的信息也都放在内存中,并且里面所有的Tracker都是对等的(每个节点地位

2021-08-09 20:02:26 487

原创 优品商城-注册登录(User、Member)

1 登录2 注册

2021-08-09 20:00:02 904

原创 jwt(JSON Web Token)

1. jwtJSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。2. 什么时候使用jwtAuthorization (授权) : 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。Information E

2021-08-09 19:55:54 70

原创 centos安装mysql

1. 准备安装rpm安装包mysql-community-client-8.0.22-1.el7.x86_64.rpmmysql-community-server-8.0.22-1.el7.x86_64.rpm2. 查看linux自带的mariadb的库rpm -qa|grep mariadb3. 卸载自带的mariadb库rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps4. 安装Mysql依赖的底层库yum install -y per

2021-08-08 11:55:49 120

原创 主从同步,主服务器增删改,从服务器查找

1. mysql主从同步的定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表2. 使用主从同步的好处通过增加从服务器来提高数据库的性能,在主服务器上执行写入和更新和删除,在从服务器上向外提供读功能,可以动态地

2021-08-08 11:50:42 1805

原创 优品商城-集群环境-创建三个服务器

1 建表2 后台注册接口3 linux环境(3个centos)3.1 安装centos7系统镜像​ 安装时选择服务器版mini版本安装3.2 配置网络环境vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetBOOTPROTO=static #静态配置ipDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCO

2021-08-06 20:27:42 94

原创 优品商城-项目创建、实体类、um、startup

1 项目的创建youping-common(通用)youping-goods(商品)youping-startup(启动类)youping-um(用户管理)

2021-08-06 20:27:07 206

原创 git版本控制系统

1 Git的简介Git是目前世界上最先进的分布式版本控制系统(没有之一)2 Git的诞生很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。  Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!

2021-08-06 20:17:57 186

原创 优品商城-建表(user、member-goods、goods_cart、category、order、spec-address、province、city、county)

/*Navicat Premium Data TransferSource Server : localhostSource Server Type : MySQLSource Server Version : 80022Source Host : localhost:3306Source Schema : youpingTarget Server Type : MySQLTarget Server Version : 8002

2021-08-06 20:02:16 595

原创 Thymeleaf

1 简介简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf

2021-08-03 12:34:02 233

原创 mybatis-plus的使用

1. 导入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version></parent><dependencies> <dependency

2021-08-02 22:04:21 73

原创 SpringBoot

1. SpringBoot介绍在这一部分,我们主要了解以下3个问题:什么是SpringBoot为什么要学习SpringBootSpringBoot的特点1.1 什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:https://spring.io/projects我们可以看到下面的一段介绍:Takes an opinionated view of building product

2021-08-01 18:08:09 434

原创 Spring、SpringMVC、Mybatis整合

1 简述三大框架1.1Spring:Bean管理1.1.1 IOC:控制反转1.1.2 DI:依赖注入1.1.3 AOP:面向切面编程2 SpringMvc:mvc的web框架3 Mybatis:Dao层的数据库访问框架

2021-08-01 18:04:35 518

原创 Mybatis

文章目录1. jdbc编程1.1 优点1.2. 缺点2. mybatis的架构3. mybatis到底是什么?4. mybatis入门程序(了解)4.1 修改maven编译jdk的版本4.2 mybatis依赖的pom4.3 配置日志文件(先不管)4.4 创建mybatis的配置文件4.5 创建映射(mapper)文件4.6 运行程序5. 常用参数6. 解决mybatis中查询中文出现的问题(8.x以下的版本)7.查询多条记录8. 模糊查询9. ${} 与 #{}10. 添加用户11. mybatis与hi

2021-08-01 09:35:25 291

原创 springmvc-执行流程

文章目录1. Web开发的发展1.1 model1的开发方式1.2 model2的开发方式2. Spring MVC 框架介绍3. SpringMvc的执行流程3. SpringMvc应用程序的编写引入依赖创建Spring与SpringMvc配置文件修改web.xml编写spring的`applicationContext.xml`配置文件编写springmvc配置文件 `spring-mvc.xml`编写处理器(Controller)编写视图4. 浏览器访问5. SpringMvc接收客户端的请求参数5

2021-07-30 09:35:10 220

原创 计算机网络:网络地址-MAC地址、IP地址、子网掩码

文章目录一、 网络地址1 MAC地址1.1 名称:硬件地址、网卡地址、NIC地址、MAC地址1.2 组成:48b二进制组成,使用16进制表示,两两一组,减号作为分隔符表示1.3 查看:ipconfig/all1.4 例:70-1C-E7-39-1D-1D1.5 MAC地址用于表示LAN网中主机设备的唯一位置,与网卡设备绑定不可删除修改2 IP地址2.1 IP地址是一种逻辑地址,可以修改,运行于ISO-OSI协议的第三层网络层2.2 IP地址可以表示一个唯一的连接2.3 一个设备可以拥有多个IP地址,但一个I

2021-07-27 11:34:21 5282

原创 Spring03:AOP-基于Aspectj的AOP

文章目录1. Spring中的AOP简介2 代理模式3. AOP的专业术语1. Spring中的AOP简介AOP(Aspect Oriented Programming)2 代理模式3. AOP的专业术语Joinpoint(连接点):目标类中可以被增强的方法Pointcut(切入点/切点):目标类中要被增强的方法Advice(通知/增强):增强的代码前置增强(通知)后置增强(通知)环绕增强(通知)Target(目标对象):目标对象Weaving(织入):把增强应用切点的

2021-07-26 15:18:14 92

原创 Spring02:纯注解开发Spring-Spring与junit整合-与web整合

文章目录1. 打开IDEA的自动编译2. Spring装配Bean的方式2.1 使用xml装配Bean2.2 使用注解装配Bean3. Spring依赖注入的方式3.1 使用XML注入属性3.2 使用注解注入属性3.2.1 按类型注入3.2.2 按名称注入4. XML与注解的选择5. 使用纯注解开发Spring6. Spring与Junit的整合(基于Xml配置方式)6.1 导入依赖6.2 在单元测试类使用注解7. Spring整合单元测试(基于注解方式)8. Spring与web整合(了解)7.1 导入

2021-07-26 09:47:19 114

原创 Spring01:框架介绍、Spring核心(IOC、DI、AOP)、Spring优点、入门(pom依赖-创建log4j、Spring配置文件、创建对象)、DI、Bean作用范围和生命周期

1 框架简介盖房子的时候搭建的架子自己编码的时候遵循框架的约束即可2 Java中的框架2.1 Struct2 Spring Hibernate2.2 SpringMvc Spring Mybatis2.3 SpringBoot3 Spring核心(JavaBean的管理)3.1 IOC(控制反转)把对象的创建权交给Spring容器3.2 DI(依赖注入)在把对象交给IOC容器的时候,注入对象的属性3.3 AOP(面向切面编程)是面向对象的功能延伸.不是替换面向对象,

2021-07-23 14:50:38 211 1

原创 LInux开发

1 Linux的组成1.1 Kernel:系统内核完成系统的进程管理、内存管理、网络管理、文件管理、设备管理1.2 文件系统:管理磁盘上的数据块、索引块及控制信息1.3 软件管理组件完成软件的安装、卸载、维护、升级等1.4 第三方工具及桌面2 虚拟机的部署2.1 设置管理员权限2.2 新建虚拟机新建虚拟机典型稍后安装操作系统客户机系统选择:centos7 64位命名虚拟机:名称不变,存储路径简化磁盘大小:20GB,单个文件存储自定义硬件:内存2GB,cpu:1,多核,新C

2021-07-15 17:13:31 70

转载 Java volatile关键字

1 简介volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile 变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。2 并发编程的三个基本概念2.1 原子性即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。

2021-06-29 15:58:57 48

原创 GC垃圾回收器

文章目录1 GC是什么?为什么要有GC?2 垃圾回收器的基本原理3 GC算法3.1 概述3.2 引用计数器3.3 标记清除3.4 复制算法3 垃圾回收的优点以及原理4 内存泄漏4.1 什么是内存泄漏4.2 内存泄漏原因4.3 非必要的对象引用4.4 未释放的系统资源1 GC是什么?为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而

2021-06-28 18:10:20 89

原创 合集-闭包、java8、重写equals、

文章目录1 lambda表达式(闭包)1.1 概念及优势1.2 语法1.3 特性1.4 实例2 java8的新特性2.1 函数式接口2.2 Lambda 表达式2.3 方法引用2.4 Stream API2.5 Date Time API2. 6 Optional 类3 为什么重写equals和重写hashcode?1 lambda表达式(闭包)1.1 概念及优势Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数

2021-06-28 17:56:53 140

原创 图书管理系统

1. 管理员账号的注册管理账号的注册,我们只需要写好接口就行,不在界面上体现2. 管理员登录功能管理员输入自己的用户名和密码就可以进入管理系统3. 设计表结构

2021-05-20 21:42:25 455

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除