自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进制脱发表

进制的加法乘法表跳出思维的定式,来体验程序员的数学运算机制都可以用加法来代替 a+b a+(-b) a+a+a+a b-a-a-a-a机制运算的真谛就是查数!!!!!!!!二进制加法1+0=11+1=10所以1+1=3是对的乘法1*1=1三进制加法1+0=11+1=21+2=10乘法1*1=11*2=22*2=11四进制加法1+1

2021-06-10 15:39:57 129

原创 Ribbon负载均衡

负载均衡的目的是减少同一时间对同一个提供者的请求次数。在高并发高可用的情况下,很容易造成请求雪崩,直接把服务挂掉,为了防止这一情概况的发生,我们使用负载均衡来处理。使用方式很简单,在Ribbon和Eureka集成后,创建多个用来接收请求的提供者,并注册到Eureka中,注意,这里注册的时候,一定要保证自定义的Spring.appication.name内容一致。注意是所有的提供者的名字都要使用。然后注册Eureka时添加instance: instance-id: springcloud-provi

2021-06-07 11:23:46 131

原创 Ribbon集成eureka

Ribbon集成Eurekaribbon的作用是通过某一种算法实现在集群服务中,每个服务的平均调度。这个算法可以是轮询的 可以是随机 可以是权重的。轮询顾名思义 挨个走随机 指不定用哪个权重 设置哪个服务为权重高的 哪个就可以多使用使用方式:引入pom依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>

2021-06-04 18:00:25 246

原创 Eureka集群搭建

Eureka集群搭建Eureka搭建集群目的是实现Eureka的高可用。eureka的目的是服务的提供者的注册和消费者的发现。如果就一个eureka,当eureka由于不可逆原因宕机了。那么就意味者项目只能等修复以后才能使用,而我们如果使用集群。多个Eureka服务同时运行。那么就可以实现一台服务宕机其他服务依旧可用。这很重要。使用方式:我们以两个eureka为例。在项目中创建两个子项目,项目中导入相同的Eureka依赖pom: <dependencies>

2021-06-04 17:04:59 197 1

原创 Eureka使用

Eureka使用Eureka服务注册与发现。微服务中我们需要创建很多的子项目,每个项目都相互关联,相互使用。而有时子项目可能因为服务器停电或者其他问题突然死掉。而我们不能即时发现。导致项目运行失败。为了解决这个问题。我们使用Eureka来进行注册发现。使用Eureka可以很快的看到自己注册过的项目,以项目名称在Eureka的可视化网页中显示。使用方法创建一个子项目专门用来启动Eureka的服务导入pom依赖 <dependencies> <dependenc

2021-06-04 14:08:40 146 2

原创 springcloud中的提供者和消费者与API

从maven空项目开始创建一个子项目:然后向pom中导入依赖 <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <junit.version>4.12</junit.version>

2021-06-04 11:21:10 263 1

原创 maven依赖找不到问题

我们平时是不是遇到这样的问题can not find XXX 依赖这个使因为你导入的maven依赖仓库找不到导致的。而这个时候你会发现知识一部分的依赖找不到,其他依赖导入下载都是成功的。而找不到的原因很无语,是因为你导入的依赖的版本是不存在的举个简单的例子:你在项目到导入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <ar

2021-06-04 10:20:11 2418

原创 springboot与cloud版本冲突问题

二者冲突问题是一个大坑,因为这个版本必须是完全对应的,弄错一个版本就会使项目启动失败。严格按照下图对应依赖:添加链接描述注意这个依赖导入对应版本后也有可能回出问题比如error creating bean with name 'formcontentfilter' error creating bean with name 'bootstrapimportselectorconfiguration':类似的问题,不慌,慢慢从X位置换版本,最多10就好啦!然后基本就解决。...

2021-06-04 10:05:50 381

原创 docker常用命令

docker笔记docker安装在Linux中安装首先 你要有一台服务器 可以去阿里云买 或者有一台虚拟机 会点Linux基础操作就可以了然后安装#1.卸载以前的版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \

2020-10-15 18:54:45 76

原创 微服务的优缺点

微服务的优缺点优点单一职责原则每个服务足够内聚 足够小 容易理解,这样能聚焦一个指定的业务功能或业务需求开发简单,效率高,一个服务可能就是专一的只干一个事微服务能够被小团队单独开发,这个小团队是2-5人的开发人员组成微服务是松耦合的,是有功能意义的服务,无论是在发开阶段还是部署阶段都是独立的微服务能使用不同的语言开发易于和第三方竭诚,微服务允许且灵活的方式继承自动部署微服务易于被开发人员理解,修改维护,这样小团队能够更关注自己的工作成果,无需通过合作才能体现价值微服务允许你利用融合最新

2020-10-12 22:12:45 104

原创 什么是微服务

什么是微服务什么是微服务微服务是一种架构模式,或者说是一种风格,他提倡将单一的应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调,相互配置,为用户提供最终价值,服务之间采用轻量级的通信机制相互沟通,每个服务都围绕着具体的业务进行构建,并且能够被独立的部署在生产环境中,另外,应尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不

2020-10-12 22:12:16 107

原创 ElasticSearch笔记

elasticsearchik分词器两种分词效果ik_smart 最少切分 你设置的搜索是中国 那么只有输入中国才能搜索到ik_max_word 最细粒度划分 你设置中国 那么 你输入中、国、中国 都可以受到手动配置个人的分词器一般情况下 分词器只会存储词典里的东西 比如 中国 世界等词汇 这些词汇 他们会自动被ik分词器使用 但有时候一些特殊的词字典是不存在的 我们需要手动配置 在配置文件中的IKAnalyzer.cfg定义你自己想用的词汇文件 然后启动es时帮你加载上Rest风格一种

2020-10-09 22:28:37 68

原创 Redis缓存穿透和雪崩

Redis缓存穿透和雪崩Redis缓存的使用,极大地提升了应用程序的性能和效率,特别是数据查询方法,但同时,他也会带来一些问题,其中最要害的问题,就是数据的一致性问题,从严格上讲,这个问题是无解的,如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透,缓存雪崩和缓存击穿,目前,业界都有比较流行的方法缓存穿透(查不到数据)原理当用户想要查询一个数据时候,发现Redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询,发现也没有,于是查询失败,当用户很多时候,缓存

2020-09-21 22:49:49 61

原创 Redis哨兵模式

Redis哨兵模式主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换到主服务器,这就要人工的干预,费时费力,会造成一段时间内服务不可用,这不是推荐的模式,更多的时候我们使用哨兵模式,Redis从2.8开始正式提供了sentinel架构来解决问题哨兵模式就是谋朝篡位的自动版,能够自动检测主机是否故障,如果故障了就根据票数自动将从库转换为主库哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程他会独立运行,其原理是哨兵通过发送命令。等待Redis服务器响

2020-09-21 22:48:20 160

原创 Redis主从复制

Redis主从复制概念是指将一台Redis服务器的数据,赋值到其他的Redis服务器中,前者是主节点(master/leader)后者称为从节点(slave/follower)数据的赋值是单向的,只能由主节点到从节点,master以写为主,slave以读为主。默认情况下,每台服务器都是主节点,且一个主节点可以有多个从节点(或者没有),但一个从节点只能由一个主节点主从复制的作用主要包括:1.数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式2.故障恢复:当主节点出现问题,可以由从

2020-09-21 22:47:59 69

原创 Redis发布订阅

Redis发布订阅Redis发布订阅是一种消息通道模式,发送者发送信息,订阅者接收消息Redis客户端可以定义任意数量的频道序号命令和描述1psubscribe pattem 订阅一个或者多个符合给定模式的频道2pubsub subcommand 查看订阅与发布系统状态3publish channel message 将消息发布到指定的频道4punsubscribe 退订所有给定频道5subscribe channel 订阅给定的一个或多个频道的消

2020-09-21 22:46:45 53

原创 Redis持久化

Redis持久化Redis是内存数据库 如果不讲内存中的数据库状态保存到磁盘中 那么一旦服务器进程退出服务器状态也会随之消失 所以Redis提供了持久化功能RDB(Redis database)在指定的时间间隔内将内存中的数据集快照写入磁盘中,他恢复时是将快照文件直接读到内存中Redis 会独立创建一个子进程进程持久化 会先将数据写入到一个临时文件中 待持久化过程结束了 再用这个临时文件替换上次持久化好的文件,整个过程中主进程不进行任何的io操作,这就确保了极高的性能。如果需要进行大规模数据的恢复

2020-09-21 22:46:19 49

原创 Redis笔记

Redis什么是nosqlnot only SQL不仅仅是SQL语句是一个非关系型数据库泛指非关系型数据库的 随之web2.0互联网的诞生 传统的关系型数据库很难对付web2.0时代尤其是超大规模的高并发的社区 暴露出来很多的问题 nosql在现在大数据环境下发展迅速Redis是最快的 而且使我们当下必须要找我的技术很多非关系型用户的个人信息 社交网络 地理位置 这些数据类型的存储不需要固定的格式不需要多月的操作就可以横向发展 Map<String,Object> 键值对控制

2020-09-21 22:45:42 104

原创 SSM整合开发步骤

SSM整合开发步骤0.使用bjpowernode的mysql数据库 表使用student1.新建web项目2.加入依赖springmvc依赖 spring Mybatis依赖Jackson依赖 mysql驱动依赖druid连接池 jsp servlet依赖3.写web.xml1.注册DispatcherServlet 目的:1.创建springmvc容器对象 才能创建controller2.创建的是servlet 才能接收用户的请求2.注册spring监听器 contextLoaderLi

2020-09-10 22:20:06 119

原创 SpringMvc内部处理流程

SpringMvc内部处理流程​ 1.用户发起请求​ 2.DiapatcherServlet接收请求 把请求转交给处理器映射器​ 处理器映射器 springmvc框架中的一种对象 框架吧实现了HandlerMapping接口的类叫做映射器 (多个)​ 作用:根据请求 从springmvc容器对象中获取处理器对象​ 框架把找到的处理器对象放到一个叫做处理器执行链(HandlerExcutionChain)的类保存​ HandlerExcutionChain:保存着1.处理器对象MyContr

2020-09-10 22:19:36 93

原创 SpringMVC拦截器

SpringMVC拦截器​ 1.拦截器是springmvc中的一种 需要实现HandlerInterceptor接口​ 2.拦截器和过滤器类似 功能方向侧重不同 过滤器是用来过滤请求参数设置编码字符集的工作​ 拦截器是拦截用户的请求 做请求做判断处理的​ 3.拦截器是全局的 可以对多个Controller做拦截​ 一个项目中可以有多个或者0个拦截器 他们在一起拦截用户的请求​ 拦截器常用在:用户登录处理 权限检查 记录日志​ 使用步骤:​ 1.定义类实现HandlerIntercep

2020-09-10 22:18:41 44

原创 springMVC笔记

springMVC笔记springmvc是基于spring的一个框架 实际上就是一个spring的一个模板 专门是做web开发的 可以理解为是一个servlet的升级版web开发底层用的servlet 框架是在servlet的基础上加入了一些功能 让web开发更加的方便springmvc就是一个spring spring是一个容器 ioc能够管理对象 使用《bean》@Component @Respomsitory @Service @Controllerspringmvc能够创建对象 放到容器

2020-09-10 22:18:14 120

原创 spring事务

spring事务spring中管理事务的是事务管理器和他的实现类spring事务是一个统一的模型​ 1.指定要使用的事务管理器的实现类bean​ 2.指定哪些类 哪些方法需要加入事务的功能​ 3.指定方法需要的隔离级别 传播行为 超时告诉spring 你的项目中类的信息 方法的名称 方法的事务传播行为事务隔离级别:四个 默认是REPEATABLE_READ(mysql)READ_UNCOMMITTED读未提交 未解决任何并发问题READ_COMMITTED读已提交

2020-09-10 20:32:27 235

原创 spring赋值

spring创建对象赋值在spring的resource中的配置文件中 给java对象的属性赋值DI:依赖注入 表示创建对象给属性赋值实现方式:​ 1.在spring配置文件中 根据标签和属性赋值 叫做基于xml的di实现赋值对象大致分为两种:简单类型和引用类型​ 简单类型:spring中规定java的基本数据类型和String都是简单类型​ 所谓的注入就是赋值 di就是给属性赋值​ 1.set注入 spring调用set方法 在set方法中完成赋值​ 2.引用注入的方式 <b

2020-09-10 20:31:55 247

原创 spring笔记

spring笔记spring全家桶:spring springmvc springboot等等…spring存在两大核心对象IOC,AOPIOC(inversion of control)控制反转 是一个理论概念或者思想描述的是:把对象的创建,赋值,管理工作都交给代码之外的容器实现也就是对象的创建时有其他外部资源完成控制:创建对象 对象的属性赋值 对象之间的关系管理反转:把原来的开发人员管理和创建对象的权利转移给代码之外的容器实现,由容器代替开发人员管理对象,创建对象,给对象赋值正转:由

2020-09-10 20:31:29 104

原创 maven添加依赖失败超时

maven下载jar失败超时maven在你添加项目的依赖时 会去你的本地仓库中寻找相对的jar 如果你的jar包中不存在这个jar 那么 他会从远程仓库中下载 当你下载时候很有可能会失败超时 因为远程仓库连接的是国外的仓库 本地的网络下载会很慢 甚至无法下载 所以我们需要更改远程仓库的下载从中央仓库改成镜像仓库打开maven安装位置 打开conf中的setting.xml文件 记得在使用前先自己备份一份打开后 找到mirrors这一项 添加如下代码<mirror> &lt

2020-09-09 22:17:53 539

原创 Mybatis动态SQL语句

Mybatis动态SQL语句动态SQL SQL的内容是变化的 可以根据不同的条件获取到不同的SQL语句1.if 判断条件语法结构:<select id="selectStudentsif" resultType="com.one.domain.Student"> select id,name,email,age from student where 1='1' <if test=" name!=null and name!=''">

2020-09-09 22:17:11 43

原创 Mybatis中#与$的区别

Mybatis中#与$的区别Mybatis中SQL语句中传值存在两种方式#{},${}二者都可以做到参数传递 但是存在着很大的区别1.以#的方式传参数 底层使用的是jdbc中的prepareStatement 使用的是以‘?’ 为占位符的SQL语句insert into student (id,name) values (?,?)这样做可以提高运行的效率2.#方式可以避免SQL注入的问题3.$不使用占位符 使用的是字符串拼接 底层使用的jdbc中学到的statement执行SQL语句 效率

2020-09-09 22:16:40 65

原创 什么是Mybatis

什么是MybatisMybatis是一个mysql的映射框架,提供的数据库的增强能力,是一个增强的jdbc,使用Mybatis让开发人员集中精神写SQL就可以了不需要关心Connection Statement Result的创建销毁SQL的执行使用Mybatis以后 不需要在自己jdbc工具类了基本结构 maven项目将你需要书写的配置写在xml文件中 配置文件写在resources文件夹中1.数据库的属性配置文件 吧数据库连接信息放到一个单独的文件中 和Mybatis主配置文件分开目的是

2020-09-09 22:16:14 567

原创 maven笔记

maven笔记作用1.maven可以管理jar文件2.自动下载jar和他的文档和源码3.管理jar直接的依赖 a.jar需要b.jar 那么maven会自动帮你下载b.jar4.管理你需要的jar版本5.帮你编译程序 把java编译为class文件6.帮你测试你的代码是否正确7.帮你打包文件 形成jar文件 或者war文件8.帮你部署项目项目搭建构建是面向过程的 就是一些步骤maven支持的构建包括:​ 1.清理:把之前项目编译的东西删除掉 为新的编译代码做准备​ 2.编译:把程

2020-09-08 22:24:45 137

原创 动态代理笔记

动态代理底层实现为动态代理什么是动态代理使用jdk的反射机制,拥有创建对象的能力 创建的是代理类的对象 而不用你创建类的文件 不用写java文件动态:在程序执行时 调用jdk提供的方式才能创建代理类的对象动态代理能做什么可以在不改变原来目标方法功能的前提下 可以在代理中增强自己的代码功能换句话说:​ 你所在的项目中,有一个功能是其他人写好的 你可以使用​ 但是你发现这个功能不是很完善缺点功能 不满足自己的需求​ 我需要在他的代码执行后 自己再写点代码 增加自己的功能​ 而且用的代理实现

2020-09-08 22:23:30 42

原创 java+jsp+servlet+jdbc 学生登录注册系统

java+jsp+servlet+jdbc 学生登录注册系统jspindex.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</ti

2020-09-08 13:31:05 929

原创 JSP新手必会

JSP新手必会组成一般由java代码块 静态HTML内容 和 jsp方法组成属于动态页面jsp是单例多线程的 本质是servlet 与servlet不同的是 jsp是专门用进行数据展示的servlet 普通的servlet只用于完成业务逻辑处理的jsp规范将jsp翻译成servlet的过程,是由Tomcat完成 在Tomcat中内置了一个jsp引擎,当第一次访问该jsp页面时,翻译引擎会将jsp页面翻译为servlet的.java文件 然后再将其编译为.class文件jsp注释<%

2020-09-08 13:30:01 106

原创 中文乱码问题

中文乱码问题原理:由于http底层使用的是tcp协议 是一种面向连接的可靠地字节流协议 在请求中 这些字节均以%开头 并以十六进制出现 例如%5A%8D乱码如何产生当用户通过浏览器提交一个包含UTF—8编码格式的中文请求时候 浏览器会将一个中文字符转化为三个字节(一般一个utf-8汉字占三个字节)即形成三个类似%5A的字节表示形式 并将这三个字节上传给Tomcat服务器 Tomcat接收到字节后 并不知道他源底层采用什么字符编码 Tomcat默认使用的格式ISO-8859-1 这个格式不支持中文

2020-09-03 22:27:53 116

原创 请求转发与重定向

请求转发与重定向请求转发也称为了服务器的内部跳转数据内部是连接使用的可以使用request.getRequestDispatcher().forWord()进行转发只能作用于当前应用中使用 只进行一个请求和响应请求所转发到的资源可以直接获取到请求中所携带的数据浏览器地址栏显示的为用户所提交的请求路径重定向也称为服务器外跳转response.sendRedirect(“servlet?name=“value”&name…”)重定向可以跳转到其他的应用中 浏览器发出两次请求和接收两次

2020-09-03 22:27:12 92

原创 servlet新手必会

servlet新手必会servlet生命周期既程序员可以操纵的阶段​ 实例化>初始化>服务>销毁特点:单例多线程1.一个servlet实例只会执行一次无参构造器和init()方法 并在第一次运行时访问2.用户每提交一次对当前servlet的请,就会执行一次servlet方法3.一个实例servlet方法之后执行一次destory方法销毁 结束4.默认情况下 servlet在web容器启动时不会被实例化当你定义一个servlet时候记得在xml添加servlet配置对象写

2020-09-03 22:26:34 87

原创 JDBC新手必会

JDBC新手必会jdbc是什么java连接数据库 java database connectivityjdbc的本质是什么是sun公司提供的一套接口接口都有调用者和实现者面向接口调用 面向接口写实现类 这都属于面向接口编程为什么要面向接口编程解耦合:降低程序的耦合度 提高程序的可扩展力多台机制就是非常典型的面向抽象编程(是面向具体编程)建议以后写也用多态机制 父类型的引用指向子类型的对象jdbc使用流程java程序员面向接口编程 》 调用jdbc接口 》 数据库厂家java程序员提供

2020-09-03 22:25:58 99

原创 XML新手必会

XML特点:语法严格 完全区分大小写java程序员需要掌握:xml的解析方式(xml读/java写)xml涉及到的—xsl 等同于css 以.xsl结尾—DTD 约束xml文件中的标签 在xml文件中只能编写那些标签,那些变迁中只能编写哪些属性 这是一个单独的文件以.dtd结尾—scheme DTD的新语法 比DTD编写更加的方便 约束xml文件​ scheme也有单独的文件 以.xsd结尾xml是可扩展的<?xml Version="1.0" encoding="GBK"?&

2020-09-03 22:25:28 98

原创 AJAX新手必会

AJAX全局刷新和局部刷新全局刷新:浏览器在得到服务器端返回的数据后 只能展示得到的数据,不能同时展现浏览器以前的内容局部刷新:浏览器在得到服务器端返回的数据后 同时展示原有的数据和得到的数据全局刷新和局部刷新的工作原理全局刷新的工作原理​ 1.必须由浏览器负责将{请求协议包}推送到服务器​ 2.导致服务器端相应协议包直接推送到浏览器内存中​ 3.导致浏览器内存中原有的数据被覆盖​ 4.导致此时浏览器在执行展示数据时 只能展示得到相应数据 无法展示原有的数据局部刷新的工作原理1.必须禁

2020-08-31 23:26:28 87

原创 数据库三范式

数据库三范式什么是设计范式设计范式是设计表的依据 按照这三个范式设计的表不会出现数据冗余三范式第一范式任何一张表都应该有主键 并且每一个字段的原子性不可再分第二范式建立在第一范式的基础上 所有非关键字端完全依赖主键 不产生部分依赖第三范式建立在第二范式的基础上 所有非主键字段直接依赖主键 不能产生传递依赖当你多表设计时候一对多两张表 多的表加外键 吧冗余的数据放到另一张表整合例如:班级t_classCno(pk) cname1 班级12 班级2

2020-08-31 20:06:28 62

空空如也

空空如也

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

TA关注的人

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