自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 原型设计模式

理解:当我需要很多个对象,并且每个对象的属性都需要相同的情况下,如果不用原型设计模式的话,我可能需要一个对象一个对象去new new好后还需要把将一个属性一个属性的去添加,当有了原型设计模式 只需要第一个模板类添加继承cleanble的接口重写clone方法,这样的情况下 我就只调用一个对象.clone方法获取一个set好所有属性的对象了 ,这样的情况还有一个好处 就是当你修改了模板对象中的属性 ,克隆出来的对象数据也会跟着变化。

2023-07-17 21:02:46 65

原创 liunx

常用命令

2023-03-27 20:37:23 263

原创 prometheus搭建文档

prometheus启动:/usr/local/prometheus/prometheus --config.file=“/usr/local/prometheus/prometheus.yml” &复制: cp /root/node_exporter-0.16.0.linux-amd64.tar.gz /usr/local/node_exporter。安装包解压:tar xf prometheus-2.5.0.linux-amd64.tar.gz -c /opt/software/

2023-03-25 11:28:50 305

原创 java请求工具类

【代码】java请求工具类。

2023-01-10 09:25:37 81

原创 UTC与GMT的区别

经常会被一些时间搞晕,只大概知道时间,但是可能会存在一些时间差距,而排查问题的时候有时候需要精确到秒,所以今天梳理下时间表示。由于在不需要精确到秒的情况下,GMT和UTC可以视为等同,所以GMT+08:00 和 UTC+ 8:00都表示北京时间。1972年之前,格林威治时间(GMT)一直是世界时间的标准。也称天文时间,或太阳时,他的依据是地球的自转,我们用它来确定多少原子时,对应于一个地球日的时间长度。所以,CST=UTC+8:00,说到底,CST就是用的UTC时间,只不过单独指UTC+8:00。

2022-12-01 08:56:29 1547

原创 liunx

常用命令

2022-06-23 17:04:07 209

原创 liunx时间同步

123

2022-06-23 17:03:06 244

原创 redis的六种淘汰策略以及雪崩和穿透的解决方法

1.noeviction:不删除策略,达到最大内存限制时,如果需要更多的内存,直接返回错误信息。2.allkeys-lru:所有key通用;优先删除最近最少使用的key3.allkeys-random:所有key通用;随机删除一部分key4.volatile-lru:只限于设置了expire的部分;优先删除最近最少使用的key5.volatile-random:只限于设置了expire的部分;随机删除一部分key6.volatile-ttl:只限于设置了expire的部分;优先删除剩余时间短的ke

2021-04-15 21:43:52 150

原创 事务

回顾事物的四大特性1.原子性:要么都成功要么都失败2.一致性:数据更改前后是一致的,比如 张三给李四转账 张三转一百 李四加一百 那么就是一致性 但是张三如果给李四转一百 李四直接到了50 就违背了一致性3.隔离性:事物和事物之间是互相隔离的不会相互影响的4持久性:就是一旦执行 除非有人为干预 要不然就一直执行下去...

2021-04-11 15:57:30 52

原创 redis的学习

一、redis的简介(1)redis是内存数据库,可以作为数据库、缓存、消息中间件(2)支持的数据类型string、list、zlist、map、hashes(3)支持半径索引查询bitmaps、hyperloglogs、geospatial(4)内置复制、LUA脚本、LRU驱动事件、事务、不同级别的持久化(5)redis的哨兵机制、自动分区提供高可用性二、redis常用命令(1)type * 查看当前的key的类型...

2021-04-06 19:48:12 51

原创 react的生命周期

加载流程1.construction 构造器2.componentWillMount 组件加载前的钩子函数3.render 加载组件4.componentDidMount 组件加载后的钩子函数5.componentWillUnmount 组件卸载后的钩子函数修改转态更新1.setState 当改变状态2.shouldComponentUpdate 调用这个阀门函数 返回的是布尔值3.componentWillUpdate 组件将要更新4.render 加

2021-04-06 18:51:08 73

原创 请谈谈你对volatile的理解

1.volatile是java虚拟机提供的轻量级的同步机制1.1保证可见性1.2不保证原子性1.3静止指令重排2.jvm你谈谈3.你在那些地方用过volatile?

2021-03-06 21:35:11 61

原创 spring

1.1简介!Spring:春天2002年,首次推出了Spring框架:interface21框架Spring框架即以interface21框架为基础,经过重新新设计,并不断丰富内涵,与2004年3月24日发布1.0正式版Rod johnson是这个框架的创始人Spring的理念:是现有的技术更加容易使用,本身兼容了很多东西整合了现在的技术框架!1.2 优点Spring是一个开源的免费的框架(容器)!Spring是一个轻量级、非入侵的框架!控制反转(ioc),面向切面编程(AOP)支.

2021-01-17 16:26:38 57

原创 windows端口被占用解决方法

以杀死占用了bai80端口的du进程为例:1、根据端口号“zhi80”查找进程号netstat -ano|daofindstr “80”TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 77962、根据进zhuan程号“7796”查找进程名shutasklist|findstr 7796java.exe 7796 Console 1 57,368 K3、根据进程名杀死进程taskkill /f /t /im java.exe成功: 已终止 PID 7796 (属于 PI

2021-01-02 12:02:37 66

原创 创建应用的后端代码流程

参数配置首先需要创建应用应用创建成功,前端还需要查询应用一个查询某商户下面的应用列表根据应用的ID查询应用支付参数配置1.创建应用2.为应用绑定服务类型3.配置支付渠道参数package com.shanjupay.merchant.controller;import com.shanjupay.merchant.api.AppService;import com.shanjupay.merchant.api.dto.AppDTO;import com.shanjupay.mercha

2020-12-03 22:37:14 172

原创 商户注册和资质申请的业务流程

1.用户注册页面有用户名、用户密码、用户手机号、验证码、验证码发送按钮1)首先做的是验证码的发送,当用户点击验证码,会想后台发送一个url请求,url请求通过解析最终找到controller中的方法,方法通过@requestparam注解拿到这个url中的参数应用层基本上不做业务处理,将参数传至service,service用resttemplate远程调用短信服务的接口,并携带手机号和短信有效时间。调用短信服务,短信服务将拿着你的手机号调用阿里云的短信,并且将你的短信信息和生成了keyid放入

2020-12-03 20:10:47 379

原创 当端口被占用的时候的解决方案

查看所用端口:netstat -ano查看指定端口:netstat -aon|findstr “8080”查看指定进程:tasklist|findstr “8089”到后台去删除杀死进程:taskkill /pid xxx -f

2020-09-20 16:55:24 105

原创 day15-购物车

0.学习目标了解购物车功能流程实现未登录下购物车功能实现已登录下购物车功能1.购物车功能分析1.1.需求需求描述:用户可以在登录状态下将商品添加到购物车用户可以在未登录状态下将商品添加到购物车用户可以使用购物车一起结算下单用户可以查询自己的购物车用户可以在购物车中可以修改购买商品的数量。用户可以在购物车中删除商品。在购物车中展示商品优惠信息提示购物车商品价格变化提示商品是否下架提示商品库存是否充足对商品结算下单1.2.业务分析在需求描述中,不管用户是否登录,都需

2020-08-21 08:39:39 713

原创 day14_服务鉴权

day14-服务鉴权0.学习目标理解网关权限拦截流程理解服务鉴权的思路了解微服务授权流程会使用Spring定时任务会使用Feign拦截器1.网关的权限控制昨天的课程中,我们实现了登录相关的几个功能,也就是给用户授权。接下来,用户访问我们的系统,我们还需要根据用户的身份,判断是否有权限访问微服务资源,就是鉴权。大部分的微服务都必须做这样的权限判断,但是如果在每个微服务单独做权限控制,每个微服务上的权限代码就会有重复,如何更优雅的完成权限控制呢?我们可以在整个服务的入口完成服务的权限控制

2020-08-21 08:37:54 1285 1

原创 day13-授权中心

0.学习目标了解什么是无状态登录了解JWT原理实现登录授权功能实现首页登录状态判断实现Zuul的网关鉴权1.无状态登录原理1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到

2020-08-18 00:25:22 346

原创 day04-商品分类及品牌

0.学习目标会使用nginx进行反向代理实现商品分类查询功能掌握cors解决跨域实现品牌查询功能1.使用域名访问本地项目1.1.统一环境我们现在访问页面使用的是:http://localhost:9001有没有什么问题?实际开发中,会有不同的环境:开发环境:自己的电脑测试环境:提供给测试人员使用的环境预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试生产环境:项目最终发布上线的环境如果不同环境使用不同的ip去访问,可能会出现一些问题。为了保证所有环境的一致

2020-07-19 22:51:29 515

原创 day01-SpringCloud01

0.学习目标了解系统架构的演变了解RPC与Http的区别掌握HttpClient的简单使用知道什么是SpringCloud独立搭建Eureka注册中心独立配置Robbin负载均衡1.系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一

2020-07-14 23:05:02 238

原创 day06-Vue

学习目标会创建Vue实例,知道Vue的常见属性会使用Vue的生命周期的钩子函数会使用vue常见指令会使用vue计算属性和watch监控会编写Vue组件掌握组件间通信请分别在chrome浏览器以及intellij中安装Vue插件0.前言前几天我们已经对后端的技术栈有了初步的了解、并且已经搭建了整个后端微服务的平台。接下来要做的事情就是功能开发了。但是没有前端页面,我们肯定无从下手,因此今天我们就要来了解一下前端的一些技术,完成前端页面搭建。先聊一下前端开发模式的发展。静态页面

2020-07-14 22:51:38 186

原创 前端页面

主页<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>黑马旅游网</t

2020-07-13 22:13:43 246

原创 工具类

package cn.itcast.travel.utils;import org.apache.commons.mail.HtmlEmail;/** * 发送邮件工具类 */public final class MailUtil { /** * 发送邮件 * 参数一:发送邮件给谁 * 参数二:发送邮件的内容 */ public static void sendMail(String toEmail, String emailMsg)

2020-07-13 07:15:19 85

原创 serevice接口

package cn.itcast.travel.service;import cn.itcast.travel.exceptions.UserExistsException;import cn.itcast.travel.pojo.User;public interface IUserService { void register(User user) throws Exception; Boolean active(String code); User login(

2020-07-13 07:12:44 271

原创 RouteController

package cn.itcast.travel.web;import cn.itcast.travel.pojo.ResultInfo;import cn.itcast.travel.pojo.Route;import cn.itcast.travel.service.IRouteService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.

2020-07-12 22:44:50 508

原创 CheckCodeController

package cn.itcast.travel.mapper;import cn.itcast.travel.pojo.User;import org.apache.ibatis.annotations.Param;public interface UserMapper { User queryUserByUserName(@Param("username") String username); void addUser(User user); int active(

2020-07-12 22:42:51 145

原创 UserMapper

package cn.itcast.travel.mapper;import cn.itcast.travel.pojo.User;import org.apache.ibatis.annotations.Param;public interface UserMapper { User queryUserByUserName(@Param("username") String username); void addUser(User user); int active(

2020-07-12 22:40:25 307

原创 RouteMapper

package cn.itcast.travel.mapper;import cn.itcast.travel.pojo.Route;import java.util.List;public interface RouteMapper { List<Route> queryPopularityRouteList(); List<Route> queryNewsRouteList(); List<Route> queryThemesR

2020-07-12 22:39:40 80

原创 UserNotExistsException

package cn.itcast.travel.exceptions;/** * 用户不存在异常 */public class UserNotExistsException extends Exception { public UserNotExistsException(){ } public UserNotExistsException(String errorMsg){ super(errorMsg); }}...

2020-07-12 22:38:36 729

原创 UserNoActiveException

package cn.itcast.travel.exceptions;/** * 用户未激活异常 */public class UserNoActiveException extends Exception { public UserNoActiveException(){ } public UserNoActiveException(String errorMsg){ super(errorMsg); }}

2020-07-12 22:37:49 125

原创 UserNameOrPasswordErrorException

package cn.itcast.travel.exceptions;/** * 密码错误异常 */public class UserNameOrPasswordErrorException extends Exception { public UserNameOrPasswordErrorException(){ } public UserNameOrPasswordErrorException(String errorMsg){ super(erro

2020-07-12 22:36:54 1269

原创 UserNameNotNullException

package cn.itcast.travel.exceptions;/** * 用户名不能为空异常 */public class UserNameNotNullException extends Exception { public UserNameNotNullException(){ } public UserNameNotNullException(String errorMsg){ super(errorMsg); }}.

2020-07-12 22:36:07 127

原创 UserExistsException

package cn.itcast.travel.exceptions;/**用户已存在异常*/public class UserExistsException extends Exception {public UserExistsException(){}public UserExistsException(String errorMsg){super(errorMsg);}}

2020-07-12 22:34:36 288

原创 PasswordErrorException

package cn.itcast.travel.exceptions;/**密码错误异常*/public class PasswordErrorException extends Exception {public PasswordErrorException(){}public PasswordErrorException(String errorMsg){super(errorMsg);}}

2020-07-12 22:32:30 436

原创 pom

4.0.0com.itheimatravelwar1.0-SNAPSHOTtravelhttp://maven.apache.org junit junit 4.11 test javax.servlet javax.servlet-api 3.1.0 provided .

2020-06-26 17:09:48 131

原创 sql50题

7.查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名– 查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名select s_id,s_namefrom studentwhere s_id in(select a.s_idfrom(select s_idfrom scorewhere c_id = ‘01’) as ain...

2020-01-02 23:23:47 104

原创 Object类

object类:object是类层次的根。每一个类都有object类作为超类,包括数组都需要继承这个类。特点:它是java中的上帝类,所有的类都是它的子明。只要是类就可以使用object类中的方法,以及重写非final修饰的方法object类中有很多方法:(1)toString:当你打印的时候默认是调用toString方法的,toString方法里面的源码你也看到了,是哪个用反射拿到这个对...

2019-12-29 21:59:33 82

原创 在js中呈现结果的方式

(1)alert():在浏览器弹框中显示结果(2)console.log():在浏览器的输出窗口中显示结果(3)document.write():往浏览器中直接放入值

2019-12-12 21:39:44 471

空空如也

空空如也

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

TA关注的人

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