自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Excel导入导出

一、要求1.导出方法接收一个list集合、class类型、HttpServletResponse 对象2.导出下拉列表,map存下拉列表数据3.导入传file文件、class类型,导入后返回list二、实现1、新一个包创建三个注解导出 EnableExport /** * 设置允许导出 */@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface EnableExport {

2021-08-18 13:28:28 171

原创 VUE 小破站-狂神

Vue概述:Vue (读音/vju/, 类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库(如: vue-router: 跳转,vue-resource: 通信,vuex:管理)或既有项目整合。前端三要素HTML (结构) :超文本标记语言(Hyper Text Markup Language) ,决定网页的结构和内容CSS (表现) :层叠样式表(Casc

2020-12-01 15:12:23 479

原创 Docker进阶篇超详细版(https://www.bilibili.com/video/BV1kv411q7Qc)

Docker Compose简介DockerDockerfile build run 手动操作,单个容器微服务。100个微服务!依赖关系Docker Compose来轻松高效的管理容器!定义运行多个容器官方介绍定义、运行多个容器。YAML file 配置文件。single command。命令有哪些?Compose is a tool for defining and running multi-container Docker applications. With Compose,

2020-11-09 17:39:38 4060

原创 Docker最新教程 (视频地址https://www.bilibili.com/video/BV1og4y1q7M4)

Docker概述Docker为什么出现?一款产品:开发–上线 两套环境!应用环境,应用配置!开发—运维。问题:我在我电脑上可以运行!版本更新,导致服务不可用!对于运维来说,考验十分大?环境配置十分麻烦,每个机器都要部署环境(集群Redis、ES、Hadoop…)!费时费力。发布一个项目(jar+(Redis Mysql jdk ES)),项目能不能带上环境安装打包!之前在服务器配置一个应用环境 Redis Mysql jdk ES Hadoop,配置超级麻烦,不能够跨平台。传统:开发jar,

2020-10-28 11:01:27 121421

原创 通俗易懂的基金理财(小白)

入门一、渠道银行存款 1.5% 利率低 跑不赢通货膨胀证券投资:股票 选股难、波动大、技术性要求房地产投资:门槛高、兑现收益难基金:稳定:货币基金/纯债基金收益高:指数型基金、股票型基金、混合型基金二、基金基础知识2.1 A股、指数债券:付息还钱股票:不还钱,但是共同分享开公司的成果A股:中国境内公司发行的股票,看国运指数:通常一家公司发行一只股票,很多家公司就会有很多只股票,这些股票成群结队,就组成了大盘:上证指数,就是在上海交易所 上市发行的所有股票组合!

2020-10-23 09:31:44 1591

原创 RabbitMQ(二)

三、RabbitMQ高级特性7. 消费端ACK与重回队列7.1 消费端的手工ACK和NACK消费端进行消费的时候,如果由于业务异常我们可以进行日志的记录,然后进行补偿!如果由于服务器宕机等严重问题,那我们就需要手工进行ACK保障消费端消费成功!7.2 消费端的重回队列消费端重回队列是为了对没有处理成功的消息,把消息重新传递给Broker!一般我们在实际应用中,都会关闭重回队列,也就是设置为False.7.3 代码实例/***生产者**/public class Producer {

2020-08-04 10:06:01 244

原创 RabbitMQ(一)

简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端(语言),存储转发消息一、RabbitMQ系统架构1.绿色图示为交换机,红色图示为消息队列 在服务端称作Broker,由RabbitMQ实现2.蓝色为生产者和消费者两种类型,为客户端二、RabbitMQ概念RabbitMQ两大核心组Exchange和Queue1.Queue-消息队列Queue是一个不重复,唯一,名字随机的的缓冲区,应用程序在其权限之内可以自由地创建、共享使用和消费消息队列dur

2020-07-31 13:54:01 287

原创 设计模式(未完结)

一、创建型模式1.工厂模式在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。1.1 介绍意图:一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,其创建过程让类进行解决:主要解决接口选择的问题使用:计划不同条件下创建不同实例时应用实例:(1)您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。(2)Hibernate 换数据库只需换方言和驱动就可以。优点:(1)一个调用者想.

2020-07-30 09:10:39 148

原创 架构思维导图(整体设计可作为参考)

原文请戳::https://blog.csdn.net/liujiahan629629/article/details/84680637个人只是重新整理一份供自己参考

2020-07-23 11:17:16 484

原创 OAuth2.0

一、OAuth2.0介绍概念说明先说OAuth,OAuth是Open Authorization的简写。OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与 密码就可以申请获得该用户资源的授权,因此OAuth是安全的。OAuth2.0是OAuth协议的延续版本,但不向前兼容(即完全废止了OAuth1.0)。使用场景假设,A网站是一个打印照片的网站,B

2020-07-21 13:44:29 369

原创 SpringSecurity整合SpringBoot分布式版

分布式认证概念说明分布式认证,即我们常说的单点登录,简称SSO,指的是在多应用系统的项目中,用户只需要登录一次,就可以访问所有互相信任的应用系统。分布式认证流程图在分布式项目中,每台服务器都有各自独立的session,而这些session之间是无法直接共享资源的,所以,session通常不能被作为单点登录的技术方案最合理的单点登录方案流程如下图所示单点登录的实现分两大环节:用户认证:这一环节主要是用户向认证服务器发起认证请求,认证服务器给用户返回一个成功的令牌token, 主要在认证服务器

2020-07-13 12:05:07 357

原创 Nginx

一、Nginx介绍1.1引言为什么要学nginx问题一:客户端要将请求发送到哪台服务器问题二:如果所有客户端请求都发送给了服务器1问题三:客户端发送的请求可能是申请动态资源的,也可能申请静态资源1.2Nginx介绍Nginx是由俄罗斯人研发的,应对Rambler的网站,并在2004年发布的第一个版本Nginx特点:1.稳定性极强,7*24小时不间断运行2.Nginx提供了非常丰富的配置实例3.占用内存小,并发能力强二、Nginx安装2.1安装Nginxversi

2020-07-08 14:53:25 123

原创 mysql-sql优化

1.表建立索引的时候,优先考虑where,group by 使用到的字段2.查询结果时,不要使用select ,只返回使用到的字段3.不要在where条件中使用左右两边都是%的like模糊查询 ,如:SELECT * FROM t_student WHERE name LIKE ‘%zhang%’,索引会失效,全表扫描尽量在字段后面使用模糊查询。如下:SELECT * FROM t_student WHERE name LIKE 'zhang%4.少使用in和not in,会全表扫描如: SELE

2020-06-23 09:37:17 156

原创 mysql存储过程和函数使用

1. 存储过程和函数概述存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开 发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程和函数的区别在于函数必须有返回值,而存储过程没有。函数 : 是一个有返回值的过程 ;过程 : 是一个没有返回值的函数 ;2.创建存储过程CREATE PROCEDURE procedure_name ([proc_parameter[,...]])begin--

2020-06-20 15:11:17 213

原创 JUC并发编程

1.什么是juc2.线程和进程进程、线程进程:一个程序的集合线程:CPU调度执行的单位对于Java 而言:Thread、Runnable、CallableJava真的可以开启线程吗? 开不了 public synchronized void start() { /** * This method is not invoked for the main method thread or "system" * group threads c

2020-06-15 14:19:42 188

原创 JVM

JVM探究请你谈谈你对JVM的理解,java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError?怎么分析JVM的常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?谈谈JVM中,你对类加载器的认识?1.JVM的位置2.JVM的体系结构3.类加载器作用:加载Class文件~虚拟机自带的加载器启动类(根)加载器扩展类加载器应用程序加载器public class Car { public int age;

2020-06-10 10:47:22 555

原创 MyBatisPlus(二)

查询操作//测试批量查询 @Test public void testSelectByBatchId(){ List<User> users = userMapper.selectBatchIds(Arrays users.forEach(Sys

2020-06-08 11:27:43 173

原创 MyBatisPlus(一)

特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 BaseMapper强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求,以后简单的CURD操作,不用自己编写支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持主键自动生成.

2020-06-05 11:26:24 280

原创 Linux(三)

jdk(rpm安装)1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html2、如果有安装openjdk 则卸载[root@aaa ~]# java -versionjava version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25

2020-06-04 15:10:51 304

原创 Linux(二)

Vim编辑器三种使用模式命令模式(Command mode)i 切换到输入模式,以输入字符。x 删除当前光标所在处的字符。: 切换到底线命令模式,以在最底一行输入命令。如果是编辑模式,需要先退出esc输入模式(Insert mode)字符按键以及Shift组合,输入字符ENTER,回车键,换行BACK SPACE,退格键,删除光标前一个字符DEL,删除键,删除光标后一个字符方向键,在文本中移动光标HOME/END,移动光标到行首/行尾Page Up/Page Down

2020-06-04 15:00:39 125

原创 Linux(一)

走进Linux系统开机登录开机会启动很多程序,在Windows叫做“服务”(service),在Linux叫做“守护进程”(deamon)一般登录方式有三种命令行登录ssh登录图形界面登录最高权限账户为root,可以操作一切关机在linux领域内大多数在服务器上,很少遇到关机的操作,毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机关机指令:shutdownsync #将数据由内存同步到硬盘中shutdown #关机指令,可以man shutdown 来看

2020-06-04 13:36:36 131

原创 服务器购买及宝塔环境部署说明

服务器相关知识为什么程序员都需要一个自己的服务器?1、作为一个程序员,必须要发布自己的网站和项目2、练习Linux操作3、自己的远程仓库、远程数据库、远程tomcat…搭建在服务器上4、练习,Linux进行任意的环境部署操作服务器如何购买?尽量打折的时候买香港服务器可以避免备案,但尽量不要自己挂VPN,会被封买完服务器之后该做什么服务器就是一个远程Linux1、在阿里云购买的,需要开通安全组设置;端口映射(端口映射都需要在阿里云的面板安装)2、获取服务器的公网ip地址

2020-06-03 15:39:17 1100

原创 SpringCloud(八)

Zuul路由网关1.什么是ZuulZuul包含了对请求的路由和过滤两个主要功能,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。注意:Zuul服务最终还会注册进Eureka提供:代理+路由+过滤三大功能代码实例1.新建springcloud-zuul-9527,导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apach

2020-05-29 10:47:36 147

原创 SpringCloud(七)

Hystrix什么是HystrixHystrix是一个用于处理分布式系统延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix能保证在一个依赖出现问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性Hystrix能干嘛服务降级服务熔断服务限流接近实时的监控一、服务熔断1.服务熔断是什么?熔断机制是对应雪崩效应的一种微服务链路保护机制当某个服务不可用或响应的时间太长会进行服务的降级,进而熔断该节点微服务的调用,快速返回错

2020-05-29 09:44:11 135

原创 SpringCloud(六)

Feign 负载均衡1.简介feign是声明式的web service客户端,它让微服务之间的调用变得更加简单,类似于controller调用service。springCloud集成Ribbon和Eureka,可在使用Fegin时提供负载均衡的http客户端只需要创建一个接口,然后添加注解即可调用微服务访问的两种方法微服务名字【ribbon】接口和注解【feign】2.Feign能干什么?Feign旨在是编写Java Http客户端变得很容易使用Ribbon+RestTemplat

2020-05-28 16:08:22 132

原创 SpringCloud(五)

Ribbon一、 Ribbon:负载均衡及Ribbonribbon是什么?SpringCloud Ribbon是基于NetFlix Ribbon实现的一套客户端负载均衡的工具(轮询、随机两种算法)ribbon能干嘛?LB,即负载均衡负载均衡简单的说就是将用户请求平摊的分配到多个服务上,从而达到系统的HA(高可用)常见的负载均衡软件有Nginx、Lvs等Spring Cloud的负载均衡算法可以自定义负载均衡简单分类:集中式LB即在服务的消费方和提供方之间使用独立的LB设施,如

2020-05-28 11:38:42 208

原创 SpringCloud(四)

一. Eureka服务注册与发现1.新建子项目springcloud-eureka-7001 pom<?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.

2020-05-27 17:27:49 184

原创 SpringCloud(三)

Rest学习环境搭建:服务消费者1.新建子项目springcloud-consumer-dept-80,pom<?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://m

2020-05-27 14:57:44 147

原创 SpringCloud(二)

Rest学习环境搭建:服务提供者1.新建一个maven的空项目,导入依赖<?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.org/POM

2020-05-25 17:14:36 84

原创 SpringCloud(一)

微服务架构的核心问题?1.服务这么多,客户端该怎么访问?2.这么多服务,客户端如何通信?3.这么多服务,如何治理?4.服务挂了怎么办?解决方案:SpringCloud 不是技术 是个生态1.Spring Cloud NetFlix一站式解决方案api网关,zuul组件Feign — HttpClient—Http通信方式,同步,阻塞服务注册发现:Eureka熔断机制:Hystrix2.Apache Dubbo zookeeper半自动,需要整合别人API:没有,找第三方组件,

2020-05-15 11:36:15 239

原创 SpringBoot(六)

分布式Dubbo+Zookeeper+SpringbootRPC两个核心模块:通讯,序列化序列化:数据传输需要DubboDubbo环境搭建推荐我们使用Zookeeper 注册中心安装zookeeper1、下载zookeeper,解压2、运行/bin/zkServer.sh ,初次运行会报错,没有zoo.cfg配置文件;(windows自行cmd)3、修改zoo.cfg配置文件将conf文件夹下面的zoo_sample.cfg复制一份改名为zoo.cfg即可。注意几个重要位置:d

2020-05-15 09:44:44 178

原创 SpringBoot(五)

SpringBoot整合redisSpringBoot操作数据:spring-data jpa idbc mongdb redisSpringData也是和SpringBoot齐名的项目在SpringBoot2.x之后,原来使用的jedis被替换为了lettucejedis:采用的直连,多个线程操作的话,是不安全的,如果要避免不安全,使用jedis pool连接池 类似于BIO模式lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况,可以减少线程数量 类似于NIO

2020-05-14 16:34:00 113

原创 SpringBoot(四)

任务异步任务1、创建一个service包2、创建一个类AsyncService异步处理还是非常常用的,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。编写方法,假装正在处理数据,使用线程设置一些延时,模拟同步等待的情况;@Servicepublic class AsyncService { public void hello(){ try { Threa

2020-05-12 16:23:02 176

原创 SpringBoot(三)

4.Swagger学习目标:了解Swagger的作用和概念了解前后端分离在SpringBoot中集成SwaggerSwagger简介前后端分离Vue+SpringBoot后端时代:前段只用管理静态页面;html==》后端。模版引擎 JSP=》后端是主力前后端分离时代:后端:后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端团队】伪造后端数据,json。已经存在了,不需要后端,前端工程依旧能跑起来前后端如何交互====>API前后端相对独立,

2020-05-12 16:01:22 111

原创 SpringBoot(二)

Mybatis整合包mybatis-spring-boot-starter1.导入包2.配置文件3.mybatis配置4.编写sql5.业务层调用dao层6.controller调用service层SpringSecurity(安全)在web开发中,安全第一位!过滤器,拦截器功能性需求:否做网站:安全应该在什么时候考虑?设计之初漏洞,隐私泄漏架构一旦确定shiro、SpringSecurity:很像,除了类不一样,名字不一样认证、授权(vip1、vip2、vip3)功

2020-05-11 17:33:27 173

原创 SpringBoot(一)

学习路线:1.原理初探自动装配:pom.xml:spring-boot-dependencies:核心依赖在父工程中我们在写或者引入一些Springboot依赖的时候,不需要指定版本,就因为有这些版本仓库启动器: <dependency> <groupId>org.springframework.boot</groupId> ...

2020-05-07 09:47:36 158

原创 注解和反射

注解和反射1.注解1.1注解什么是注解Annotation的作用:不是程序本身,可以对程序作出解释(这一点和注释(commont)没什么区别)可以被其他程序(比如:编译器)读取Annotation的格式注解是以“@注解名”在代码中存在的,还可以添加一些参数值,例如:@SuppreWarnings(value=“unchecked”)Annotation在哪里可以...

2020-05-06 10:38:24 116

原创 多线程(四)

多线程11.线程协作 生产者消费者模式解决方式1:管程法//测试:生产者消费者模型-->利用缓存区解决:管程法//生产者,消费者,产品,缓存区public class TestPC { public static void main(String[] args) { SynContainer container = new Syn...

2020-05-01 18:38:11 174

原创 多线程(三)

多线程9.线程同步 发生在多个线程操作同一个资源 并发:同一个对象被多个线程同时操作(抢票)public class UnsaffeBuyTicket { public static void main(String[] args) { BuyTicket station=new BuyTicket(); new Thread(statio...

2020-05-01 09:31:12 197

原创 多线程(二)

多线程4.静态代理例子:你:真是角色 婚庆公司:代理你,帮你处理结婚事情 结婚:实现都实现结婚接口即可public class StaticProxy { public static void main(String[] args) { // WeddingCompany weddingCompany=new WeddingCompan...

2020-04-30 14:17:21 143

空空如也

空空如也

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

TA关注的人

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