自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES(搜索 / 查询)

一、数据准备es 官方银行客户账户 数据 ,用来演示1、下载数据webget https://raw.githubusercontent.com/elastic/elasticsearch/master/docs/src/test/resources/accounts.json2、将json 提交到es 中curl -H “Content-Type: application/json” -XPOST “192.168.12.130:9200/bank/_doc/_bulk?pretty

2021-06-29 21:28:25 1126 1

原创 ES(Elasticsearch)

一、引入1、海量数据存储mysql 表规模 最大千万级别 (还和列数有关系) ,超过千万,性能极差2、全文检索select * from book where name like ‘%jvm%’ or describe like ‘%jvm%’现在 describe 描述非常长 ,mysql 检索 describe like ‘%jvm%’,1 先读取这一行 ,匹配describe 内容是否还有jvm , 效率很差 ,MySQL可以做到 ,但是性能非常的差,需要全文检索

2021-06-28 21:59:25 823

原创 分布式锁(redis、zk)

一、概述什么是锁?synchronized ,lock 都是锁锁的作用保证 当前线程访问该方法或者代码块 时,方法内、代码块中的 资源(共享变量)同一时刻只有一个线程在访问,线程安全synchronized 、lock的特性1.保证synchronized ,lock 代码 都是 同一时刻单线程运行2.同时能够保证 代码块内 的 共享变量具有 可见性,保证其他线程能够立即看到 代码块内的共享变量的值二、volatile内存语义两个可见性: 当一个线程修改了某一

2021-06-25 20:52:03 365 1

原创 Apache ZooKeeper

一、概述在分布式环境下,如果舍弃SpringCloud,使用其他的分布式框架,那么注册心中,配置集中管理,集群管理,分布式锁,队列的管理想单独实现怎么办。Zookeeper本身是Hadoop生态园的中的一个组件,Zookeeper强大的功能,在Java分布式架构中,也会频繁的使用到Zookeeper。Zookeeper就是一个文件系统 + 监听通知机制存储结构znode 就是一个节点 ,znode 可以存储数据,还可以存储 子节点​

2021-06-24 19:41:55 340 1

原创 消息队列(RabbitMQ)

一、概述消息队列作用:解耦、异步、削峰解耦解耦,就是将连个应用不是互相之间强依赖关系,一个挂了,两外一个依然可以使用削峰削锋,就是可以将高并发的网络请求 缓存到消息队中,慢慢的执行消息对对应的业务618 秒杀购买商品生成订单扣减库存扣减余额发货,生成物流如果以上 步骤都在一个应用的请求中去执行,在每秒 50000个并发的情况下,是否回对应服务造成很大的压力优化流程1.先扣减库存2将对应商品生成订单的消息,发送到消息队列3.让应用慢的消费消息 完成一下业务

2021-06-23 21:17:34 2523 22

原创 分布式事务

一、概述1、事务四大特性一致性:转账例子 ,钱总金额 不变原子性:多条sql 语句 要么成功,要么都失败,如果有一条失败,其他成功的回滚隔离性:在一个事务中(sqlsession)能够看到另外一个事务的数据隔离级别:读未提交 读已提交 可重复读 序列化读脏数据:脏读:一个事务可以看到另外一个事务未提交的数据不可重复读:一个事务中执行查询同一行数据 ,两次结果不一致 针对 修改、更新幻读:一个事务中执行查询同一个sql(select * from …tb) 多次,查询出来

2021-06-23 19:49:23 193 1

原创 springcloud(二)

一、概念Feign,中文意义就是伪装, feign 就会将restTemplate 发起的get post请求封装起来,伪装成程 service接口,我们只需要调用接口,其他交给 Feign来完成feign 将调用远程的请求 伪装成本地的接口,让应用调用,非常的方便springcloud微服务之间,互相调用是通过restTemplate互相调用,传入路径和参数,就可以完成http请求实例1、创建一个feign 子应用,在springcloud(一)代码基础上2、引入依赖<

2021-06-17 20:37:31 181 1

原创 springcloud(一)

一、微服务框架微服务 就是将一个应用按照功能进项拆分,每一个功能都是一个独立的应用,应用之间可以通过http/tcp 请求互相调用java 微服务中最常用的框架springcloudspringcloudspringcloud 就是基于springboot实现的微服务框架,springcloud可以认为是一个标准,一套接口/规范,基于这种规范有了两大类实现springcloud netflixspringcloud netflix 是 springcloud第一代版本 ,有美国 网飞

2021-06-16 19:56:07 135

原创 日 志 框 架

一、日志简介日志框架就是记录应用中所有的事件,可以将事件以文件文字的形式 输出到控制台 还可以输出到文件中作用:1.记录事件2.帮助我们快速的调试代码,通过日志就可以知道代码的运行情况 通常用户与生产环境调试日志级别日志级别从低到高:TRACE(踪迹)、DEBUG(调试)、INFO(信息)、WARN(警告)、ERROR(错误)、FATAL(致命错误)最常用 debug info二、日志框架 Log4j+Commons-LoggingLog4j1

2021-06-15 22:46:20 428

原创 架 构 演 进

java 工程师 常使用ssm(spring + springmvc + mybatis)开发后台应用架构演进:作用就是为了给用户提供更好的服务(应对越来越多的用户,使用该服务造成的高并发,高可用问题)一、开发环境&生产环境开发环境就是程序员开发调试代码的环境,在这个环境中都是测试数据,对用户没有任何影响,主要是为了便于调试 测试准备,数据可以随意的修改,对于工程师来说权限很好编码 :window mac部署:linux (tomcat mysql)生产环境.

2021-06-15 22:33:38 399 3

原创 Vue(三)工程化搭建

一、vue-clicli: Command Line 命令行工具,vue-cli就是vue的命令行工具,也称之为脚手架,使用vue-cli提供的各种命令可以拉取、创建、运行我们需要使用到的框架,比如webpack、Element UI、Element Admin等等。那么要想使用vue-cli命令,需要先安装node.js。vue 工程化搭建 使用vue-cli 完成1、安装vue-cli前置工作vue-cli 安装需要npm,npm 需要 node.js1、安装node.js是一

2021-06-06 21:29:59 1368 3

原创 Vue(二)

一、监听属性watch 监听属性数据的变化<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="js/vue.js"></script></head><body><div id="app">

2021-06-03 19:41:43 186 3

原创 Vue(一)

一、概述Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,只关注视图层。Vue 前端框架,只关注视图(view)(html) 和 数据(data/model)Vue:完成的工作 就是整合视图(view)( html) 和 数据交互,绑定​ vue 替代 的 就是 jquery,让用更加简便的操作视图 和 数据html—》整个界面框架 骨骼(布局)js/jquery----》初始化 html数据,事件响应交互css-----》美化界面,为ht

2021-06-02 19:59:47 1409 9

原创 nginx

一、概述1、反向代理反向代理:就是nginx 可以代理我们的tomcat ,用户只需要访问nginx 不需要知道真正提供服务的Tomcat 的ip,通过nginx 访问就可以了正向代理:客户端主动需要一台代理服务器 ,通过代理服务器去访问目标服务器2、负载均衡就是用户请求过来到达nginx ,nginx 将请求 转发个tomcat 处理 响应请求,如果每秒都有1000次请求,nginx 会根据tomcat 机器的性能 均衡分配(能者多劳)假如 每秒中 1000ge 请求 (Q

2021-06-01 21:23:12 227

原创 Redis(三)

一、SpringBoot与Redis集成1、引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-parent</artifactId> <version>2.1.5.RELEASE</version> </parent> &l

2021-05-31 21:51:13 169 2

原创 Redis(二)

一、java 操作 redis1、创建Java 工程 ,并导入依赖 <dependencies> <!-- 1、 Jedis reidis java 客户端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</ar

2021-05-28 20:33:00 124

原创 Redis(一)

一、非关系型数据库非关系型数据库 nosql—>not only sql行与行之间没有关系表与表之间没有关系Redis就是一款NoSQL。key valueNoSQL -> 非关系型数据库 -> Not Only SQL。Key-Value:Redis文档型:ElasticSearch,Solr,Mongodb。。。 存储文档(文章)面向列:Hbase,Cassandra。。。—>列存储数据库 (大数据相关数据库,列可以随时增加图形化:Neo4j。。。 图

2021-05-27 21:44:22 199

原创 Docker-Compose

一、概述Docker-Compose 是一个容器编排工具。比如开发一个应用:运行需要 tomcat ,mysql +代码----》转化镜像tomcat + 代码 一个镜像mysql 一个镜像两个镜像对应的容器 都要启动,mysql 对应的镜像先启动,以上过程是通过手动方式 完成一系列容器的启动,让我们项目可以运行我们可以通过 Docker-Compose 一键 启动所有的容器,并管理容器的依赖关系二、Docker-Compose 安装1、

2021-05-27 19:41:33 116

原创 docker

一、引入原因1、环境不一致小明是一个程序员在开发环境(tomcat,jdk,mysql)编写调试,测试没有问题现在需要将代码 发布线上(代码 )线上环境(tomcat jdk mysql),发现发布有bug, 不兼容回到开发环境没有问题代码 和 mysql tomcat 不匹配造成2、隔离性一台服务器 可以运行多个 应用 ,应用之间互相影响应用a (一个程序写一个死循环) 占用 cpu 100%应用b 不能抢占cpu3、弹性伸缩弹性伸缩:一瞬间就可以将服务器集群快

2021-05-26 22:44:40 572

原创 Linux(二)

一、linux解压缩压缩:就是类似window 中 好压 7z rartarlinux 内置压缩软件:创造一个压缩包[root@mastera ~]# tar -czvf test.tar.gz test1_backup test2 test3tar -czvf 压缩包名字 要压缩的文件夹/文件 -c 产生压缩包-z 压缩包以.gz 格式压缩-v 显示详细 信息-f 制定文件名称-x 解压缩tar -xzvf test.tar.gz -C

2021-05-25 22:41:44 344

原创 Linux(一)

一、环境环境:就是软件运行在那种操作系统中。tomcat,mysql,redis 运行在哪些操作系统生产环境:就是指的线上环境,为客户提供服务的环境, 一般是linux windowserver开发环境:代码开发 调试环境 一般 window linux mac(类linux)测试环境:指的是代码压力测试,功能测试 专门为测试同时使用,发现代码的bug 与性能不足二、操作系统桌面操作系统:windowlinux:(ubuntu redhat centos)mac: 苹果

2021-05-24 20:37:06 280

原创 Springboot(二)

一、Springboot整合mybatis1、引入依赖<!-- 阿里巴巴的Druid数据源依赖启动器 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10&lt

2021-05-24 19:11:27 79

原创 Springboot(一)

一、概述Spring Boot是基于Spring框架开发的全新框架,其设计目的是简化新Spring应用的初始化搭建和开发过程。Spring Boot 只是 对springFramework 框架封装, 简化了开发(spring 整合 spring mvc ,mybatis 还有其他第三方的插件)Spring Boot整合了许多框架和第三方库配置,几乎可以达到“开箱即用”。开箱即用:几乎0配置,可以不做任何的配置,只需引入依赖,就可以使用约定优于配置:Spring Boot配置

2021-05-21 22:18:27 206

原创 Git

一、概述Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。作用:版本控制:git可以记录你的代码的所有的历史,过去每一次的提交,都可以看到,还可以回退到以前的版本代码协作工具:工程师之间可以使用git,互相获取对方的代码,并和自己的代码进行合并,完成功能的开发和git类似工具:svn(版本控制)github:https://github.com/gitee:https://gitee.com/profile代码分享网站,中央仓库(所有的用户都可以 将代码放

2021-05-17 22:22:59 143

转载 LayUI

Version:9.0.1文章目录一、引言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://..

2021-05-17 07:52:44 511

原创 ssm框架整合

一、spring 和 mybatis 整合1、创建javaweb工程,导入springmvc相关依赖pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache

2021-05-14 22:53:10 92

原创 springmvc(三)

一、跨域请求域:由ip/域名:端口组成,就是提供一个网络服务localhost:8080 一个域​ 127.0.0.1:8080 一个域​ 10.8.163.53:8080 一个域localhost:8085 一个域以上都不是同一个域什么是跨域请求?就是在一个域下的服务/网页 通过Ajax等工具访问 另外一个 域下的请求 就是跨域,tomcat服务器为了保证安全,默认情况下不允许跨域请求第一步:在loalhost:8080 创建服务,允许跨域/** * 跨域

2021-05-14 21:44:23 175 1

原创 Spring MVC(二)

一、接收参数接收数组前端jsp:<form action="/deleteStudentByIds" method="post"> 学生1:<input type="checkbox" name="ids" value="1"><br> 学生2:<input type="checkbox" name="ids" value="2"><br> 学生3:<input type="checkbox" name="ids

2021-05-14 21:22:23 149 4

原创 Spring MVC(一)

一、概述mvc:MVC 设计模式,m(model 模型) v(view 视图) c(controller 控制器)springmvc:就是 spring 按照mvc 模式开发的一个轻量级 mvc 框架,。它与Struts2框架一样,都属于MVC框架Struts2 也是实现 mvc ,但是springmvc 替代Struts2springmvc 就等价于以前用到的BaseServlet ,BaseServlet用于路径的分发,在springmvc也有类似的Servlet 叫做Dispatche

2021-05-12 22:45:44 840 2

原创 Spring(四)

一、什么是AOP?Aop 就是面向切面编程通俗点:就是用一个切面类去拦截 你想拦截的方法,用以一个切面 切向 拦截方法切面:就是一个类,内部封装了抽取了公共方法(日志,鉴权登录,拦截,过滤)。面向切面编程作用:1.包程序中重复代码,冗余的代码,需要统一处理的代码放在切面公共方法2.提高程序的可维护性,在不改变原有代码情况下,对目标方法进行增强Proxy:代理,就是aop 生成的代理对象Advice(通知/增强处理):通知就是切面中封装的方法Target Object(目标对象

2021-05-11 22:49:10 91 1

原创 代理设计模式

一、概述代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。举例:购买保险,不直接购买而是通过代理人购买​ 购买火车票,自己不去窗口、12306购买 通过黄牛/美团 购买为什么要采用这种间接的形式来调用对象呢?1.因为客户端不想直接访问实际的对象,或者访问实际的对象存在困难,因此通过一个代理对象来完成间接的访问。2.不改变原程序代码的前提下,对功能进行扩充。通过代理模式,我们可以很方便的给代码添加日志

2021-05-10 23:07:07 495

原创 Spring(三)

一、bean的实例化第一种:构造器实例化 <!-- 无参构造器实例化 --> <bean id="student1" class="com.qfedu.entity.Student"> <property name="id" value="100"></property> <property name="name" value="xiaoming"></property&gt

2021-05-10 22:14:36 216 2

原创 Spring(二)

一、控制反转和依赖注入1、控制反转(IOC)控制反转, Inversion of Control IOC。在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,对象创建,不需要自己写代码 new 对象,我们只需要在xml/注解中告诉容器,你要按照我的要求创建对象,并管理对象2、依赖注入依赖注入,Dependency Injection,是控制反转(ioc)的特殊实现强调的是bean之间的依赖关系StudentDaoImpl:import com

2021-05-09 17:47:59 98

原创 Spring(一)

一、什么是SpringSpring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。Spring 就是一个容器,容器内放置了bean(就是放置到容器中的对象),容器管理bean的生命周期容器启动,创建对象并加入到容器中,变为bean。融合了IOC、AOP及Web MVC等功能。IOC:控制反转AOP:面向切面编程MVC:mvc 设计模式二、Spring核心容器核

2021-05-09 16:40:34 71

原创 事务

一、什么时候需要开启事务?当发生多条sql 增删改时才需要开启二、事务的四大特性一致性:​ A 给 b 转 100 ,执行连个sql A 减100,B加100 ,总金额不发生变化隔离性:两个sql session之间 ,一个sql session能否看到另一个 sql session 增删改的数据就是允许 一个sql session能否看到(读取到)另一个 sql session 增删改 但是还未提交的数据 (脏数据)​ 隔离级别:允许脏数据的程度原子性:​

2021-05-07 08:56:08 490

原创 mybatis(三)

一、一对一1、创建实体类/** * 成绩 实体类 * * 一个成绩 一个学生 * * */public class Score implements Serializable { private int scoreid; private String coursename; private int score; private int studentid; private Student student; public in

2021-05-07 08:11:24 558 3

原创 mybatis(二)

一、别名的配置别名 就是给类起一个小名,便于使用integer 就是java.lang.Integer 的 别名parameterType="integer"parameterType="java.lang.Integer"自定义别名1、在mybatis 配置文件声明<!-- typeAliases 必须放到 <environments 之前 xml 的约束 规定当前 xml 可以使用哪些 标签,标签的顺序,不可以随意更改

2021-05-06 22:40:57 168

原创 mybatis(一)

一、概述1、什么是框架?框架就是软件的半成品,已经实现了很多功能,但是这些功能可以解决大部份软件的共性问题,现有的框架和你的产品业务无关,但是可以快速的帮你完成软件框架搭建,功能实现,部署。高楼搭建:​ 打好地基,做框架(梁 板 柱),在每个楼层做隔断(小房间),进入装修​ 好处:速度快,结构稳定 , 非常灵活,定制化开发高性能软件​ 使用框架 完成基础功能搭建(梁 板 柱),我们在根据不同业务在框架之上进行定制化开发​ 好

2021-05-06 22:29:32 990 10

原创 maven

一、概述Maven这个单词来自于意第绪语(犹太语),意为知识的积累.Maven:1.帮助我们管理jar依赖(依赖,jar版本的管理)2.帮助我们构建工程(打jar,打war)编译,测试,打包,部署二、maven 安装1、下载https://archive.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz2、解压3、配置环境变量配置MAVEN_HOME配置Path测试ma

2021-05-05 21:13:04 206

原创 bootstrap

一、概述1.使用官方文档,看示例2.复制3.粘贴4.简单修改风格Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的。Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品。Bootstrap 2 响应式框架Bootstrap 3 移动优先,一套代码不仅可以在pc浏览器使

2021-05-05 10:59:51 232

空空如也

空空如也

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

TA关注的人

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