- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 如何在 MySQL 中对一条 SQL 语句的执行时间进行分析
首先我们需要看下 profiling 是否开启,开启它可以让 MySQL 收集在 SQL 执行时所使用的资源情况,命令如下:profiling=0 代表关闭,我们需要把 profiling 打开,即设置为 1:查看数据库使用数据库查看里面的表然后我们执行一个 SQL 查询(你可以执行任何一个 SQL 查询):查看当前会话所产生的所有 profiles:如果我们想要获取上一次查询的执行时间,可以使用:......
2022-06-19 15:28:19 555 1
原创 security遇到的问题
This may be the result of an unspecified view, due to default view name generation解决方案在pom文件中增加配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thyme
2022-05-12 13:44:04 407 1
原创 Springboot项目jar部署
使用idea,maven工具进行clean,package,生成jar包#部署在window上面执行 java -jar os.jar#后台启动 javaw -jar os.jar#查看端口8088的进程号F:\java\项目\oa_system\target>netstat -aon | findstr "8088" TCP 0.0.0.0:8088 0.0.0.0:0 LISTENING 528#结束进程.
2022-05-07 23:29:56 1910
原创 金银铜奖牌排序
题目描述奥运会开始了,想请你为各个国家和地区做奖牌排序,按照金牌>银牌>铜牌的格式进行排序输入第一行 告诉你共有n个国家接来下的n 行 每行三个数字 分别代表 金牌数量 银牌数量 铜牌数量 中间用空格隔开输出输出n行 每行三个数字 按照题意进行排序样例输入51 2 32 3 41 4 61 4 30 3 4样例输出2 3 41 4 61 4 31 2 30 3 4解题思路网上都是通过多个循环来解决的,我这里想用一个map集合来干,这样的优点是时间
2022-04-18 20:13:53 2989
原创 MQ消息队列
MQ概述MQ全称message queue(消息队列),是在消息的传输过程中保存消息的容器,多用于分布式系统之间进行通信。总结MQ,消息队列,存储消息的中间件。分布式系统通信两种方式:直接远程调用和借助第三方完成间接通信发送方称为生产者,接收方称为消费者MQ的优势1.应用解耦传统的远程调用,如下其中库存系统出现故障会影响到订单系统,添加新系统需要重新修改订单系统的代码使用MQ后,消息通过中间件转发,消费者从MQ中取消息,如果库存系统出现异常,等库存系统自我..
2022-04-18 13:00:07 9589
原创 AOP——面向切面编程
通过预编译方式和运行期动态代理实现程序功能的统一维护的技术。作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强。优势:减少重复代码,提高开发效率,便于维护。Aop的底层是jdk动态代理和cglib动态代理,如果代理类是实现接口,就是jdk代理,如果是继承父类就是cglib代理。使用spring中<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.o
2022-04-15 11:18:45 953
原创 Docker容器
安装查看环境#系统内核3.10以上的[root@localhost ~]# uname -r3.10.0-1062.18.1.el7.x86_64#系统版本[root@localhost ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANS
2022-04-10 18:37:10 1283
原创 分布式Session问题
当我们登录时,会经过Nginx转发到Tomcat1上,此时Tomcat1上有我们的用户信息,过了一段时间我们可能会跳转到其他界面,这时分发到Tomcat2,而Tomcat2上没有用户信息,这就是分布式Session问题解决方案:1.Session复制优点:无需修改代码,只需要修改Tomcat配置缺点:1.session同步传输占用内网带宽;2.多台Tomcat同步性能指数级下降;3.Session占用内存,无法有效水平扩展;2.前端储存优点:不占用服务端内存..
2022-04-06 20:47:07 1608
原创 Redis——NOSQL(Not Only sql)
数据都在内存中,Redis支持持久化,主要用作备份恢复,一般是作为缓存数据库辅助持久化的数据库数据类型除了支持简单的key-value模式,还支持多种数据结构的存储,比如list,set,hash,zset等安装官网http://redis.io。安装在linux系统中,要配置C语言环境Redis使用的是单线程+多路IO复用,默认的端口号是6379。修改配置文件 : vi/etc/redis.confNETWORK中注释 bind 12......protected-mode n
2022-03-28 23:36:08 1691
原创 synchronized关键字的作用以及在什么时候使用?concurrent包里面其他的锁?
synchronized的作用是给对象加锁,防止多个线程同时访问这个对象的方法。concurrent包下面的锁的种类接口:Lock,ReadwriteLock,condition实现类:ReentrantLock,ReentrantReadWriteLock,StampedLock抽象类:AbstractQueuedSynchronizerAbstractQueuedSynchronizer(AQS)抽象队列同步器定义两种资源共享方式:Exclusive(独占,只有一个线程能执行,如
2022-03-21 23:00:50 1058
原创 Spring MVC
没有mvc的步骤1.导入maven坐标 javax.servlet-api和javax.servlet.jsp2.写dao、service、web三层web里面创建一个xxxServlet类,继承HttpServlet3.在里面重新方法,比如get方法4.servlet要被使用需要在WED-LNF下面web.xml里面配置<servlet><servlet-name> xxx</servlet-name><servlet-class&
2022-03-16 22:22:57 128
原创 Spring集成Junit
1.导包 spring-test2.用@RunWith("spring.Junit4ClassRunner.class")帮我测试3.@ContextConfiguration("xxx.xml")或(class={xxx.class})4.在class内用@Autowired注入5.@Test 写测试方法
2022-03-16 21:57:57 111
原创 Spring核心容器 Beans
目录Spring 框架干了什么?Bean标签范围配置Bean实例化三种方法Bean的依赖注入分析引入其他的配置文件(分模块开发)注解:Spring 框架干了什么?1.读取xml文件2.根据id标识获取Bean全限定名3.通过反射创建Bean对象4.返回对象简单的Bean使用1.配置Spring的maven坐标2.写一个接口,一个接口的实现类3.创建一个applicationContext.xml文件配置<bean id="自.
2022-03-15 22:30:11 364
原创 Linux和gitee指令
Linux指令1.2.1cd命令集ifconfig/ip addr 检查IP地址pwd 检查当前的位置tab键 自动补齐(注意唯一性)cd命令是linux中最基本的命令语句,必须熟练掌握cd / 返回根目录cd ~ 用户主目录cd . 当前目录cd …返回到上一级目录cd /usr/ 进入到usr目录cd – 返回上一个目录cd 直接回家1.2.2ls目录和文件ls –l 详细格式,文件权限,时间ll 和ls –l作用相同ls *.txt 查看所有的tx
2021-09-15 18:01:28 256
原创 若依系统基于nacos注册中心搭建
操作流程遇到的问题nacos正常启动,若依后台网关启动报错Server check fail, please check server 192.168.241.129 ,port 9848 is available , error ={}网上看了很多,说是nacos版本问题需换成版本更高的如2.0,下载地址如下Releases · alibaba/nacos · GitHub当我下好后,修改配置server.port=8848#*************** Networ
2021-09-12 11:52:11 5235
转载 基于Feign的远程服务调用
背景分析服务消费方基于rest方式请求服务提供方的服务时,一种直接的方式就是自己拼接url,拼接参数然后实现服务调用,但每次服务调用都需要这样拼接,代码量复杂且不易维护,此时Feign诞生。Feign是什么Feign 是一种声明式Web服务客户端,底层封装了对Rest技术的应用,通过Feign可以简化服务消费方对远程服务提供方法的调用实现。如图所示:Feign 调用过程分析(了解)Feign应用过程分析(底层逻辑先了解):1)通过 @EnableFeignCleints 注解告诉springcl
2021-09-04 13:36:58 409
转载 服务配置中心Nacos
什么是配置中心?存储项目配置信息的一个服务为什么要使用配置中心?集中管理配置信息,动态发布配置信息市场上有哪些主流的配置中心?市场上主流配置中心有Apollo(携程开源),nacos(阿里开源),Spring Cloud Config(Spring Cloud全家桶成员)@RefreshScope的作用是在配置中心的相关配置发生变化以后,能够及时看到更新(底层是通过重新创建Controller对象的方式,对属性进行了重新初始化)小节面试分析配置中心一般都会配置什么内容?(可能会
2021-09-04 12:09:36 256
转载 网关Gateway
Spring Cloud Alibaba 默认提供了如下核心功能(先了解):服务限流降级:默认支持 WebServlet、OpenFeign、RestTemplate、Spring Cloud Gateway, RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。服务注册与发现:基于Spring Cloud 服务注册与发现标准,借助Nacos进行实现,默认还集成了 Ribbon 的支持。分布式配置管理:基于Nacos支持分
2021-09-04 11:58:58 652
原创 java项目流程
这里写自定义目录标题Java项目的流程Java项目的流程1.项目需求分析2.1数据库设计2.2类图设计2.3.接口文档2.4界面伪代码3安装配置4测试性能5发布项目
2021-09-04 11:41:20 95
原创 Redis
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章项目场景:问题描述:原因分析:解决方案:UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所
2021-09-02 11:35:24 66
原创 SpringCould入门
微服务的优点与缺点?优点:每个服务足够内聚,足够小,代码容易理解这样能聚焦一个指定的业务功能或业务需求开发简单、开发效率提高,一个服务可能就是专一的只干一件事微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的微服务能使用不同的语言开发易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如Jenkins, Hudson, bamboo微服务易于被一个开发人员理解,修改和维护,这样小团
2021-09-01 21:31:22 1612
原创 SpringBoot入门
目录什么是 SpringBoot?为什么要用 SpringBoot?SpringBoot 核心配置文件是什么?1.properties文件说明2.YML文件说明SpringBoot 配置文件有哪几种类型?它们有什么区别?JPA和 Hibernate 有什么区别?什么是 SpringBoot?在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反...
2021-09-01 19:33:06 88
原创 JWT技术分析
什么是JWT?JWT(JSON WEB Token)是一个标准,借助JSON格式数据作为WEB应用请求中的令牌,进行数据的自包含设计,实现各方安全的信息传输,在数据传输过程中还可以对数据进行加密,签名等相关处理JWT数据结构JWT通常由三部分构成,分别为Header(头部),Payload(负载),Signature(签名),其格式如下:xxxxx.yyyyy.zzzzz例如eyJhbGciOiJIUzI1NiJ9.eyJwZXJtaXNzaW9ucyI6InN5czpyZXM6
2021-09-01 19:23:57 254
原创 Spring Security 安全框架
认证授权分析用户在进行资源访问时,要求系统要对用户进行权限控制,其具体流程如图所示:SpringSecurity 认证逻辑实现自定义登录逻辑1.定义security配置类2.定义登录接口实现类,自定义登录逻辑1.基于用户名从数据库查询用户信息2.1如果没有查到抛出usernameNotFoundException2.2查询成功,将用户信息封装到UserDetails对象中返回3.修改安全配置类1.关闭跨域攻击,不关闭容易出错2.自定义登录表单2.1.
2021-08-30 10:10:24 127
原创 jt项目总结
运用的技术安装node.js和vue脚手架,使用maven管理依赖,基于springBoot后端开发主要结构父工程DitchShopping-common,为后续项目模块管理共性依赖。springmvc包,aop包,热部署,lombok插件,jdbc包,数据库驱动,mybatis-plus,redis创建父工程下的子工程,DitchShopping-common用于管理pojo基类与vo层基类以及工具类util创建父工程下的子工程,DitchShopping-manage用于管理业务的处
2021-08-29 14:03:27 230
原创 web相关问题
什么是JSP?JSP全称Java Server Pages,即Java的服务器页面,主要作用是代替serlet程序回传HTML页面数据。什么是Servlet?全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。描述四大域对象的特征1.pagecon.
2021-08-25 19:15:29 264
原创 SpringMybatis
什么是MybatisMybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注Sql语句本身,不需要花费精力去处理加载驱动,创建链接,创建statement等繁杂的过程,程序元直接编写原生态sql,可以严格控制sql执行性能,灵活度高。Mybatis可以使用XML或者注释来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。通过XML文件或注释的方式将要执行的各种statement配置起来,并通过java对象
2021-08-23 16:41:36 5054
原创 Spring框架入门
1.Spring框架是什么Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架1.什么时IOCIOC(inversion of control 控制反转),控制反转(IOC)与依赖注入(DI)是同一个概念具体的讲:当某个对象需要调用另一个对象,在传统的程序设计过程中,通常由调用者来创建被调用者的实例,但是在spring中使用了工厂设计模式,为我们创建了所需要的对象,直接调用spring提供的对象就可以了。引入IOC的目的:脱开,降低类之间的耦合; 倡导面向接
2021-08-23 14:10:27 3029
原创 数据库Mysql
目录数据库Mysql数据库SQL语句数据库常用操作建库删库查看所有数据库创建表修改表删除表查看所有表查看表结构/设计表表记录的常用操作插入记录查询记录修改记录删除记录排序记录总数字段约束主键约束非空约束唯一约束基础函数lowerupperlengthsubstrconcatreplaceifnullround & ceil & floor...
2021-08-21 13:48:14 1414
原创 Java中的设计模式
设计模式分类单例模式优点:可节约系统内存空间,控制资源的使用单例模式的饿汉式和懒汉式总结:1.饿汉式:不管你用不用都创建这个类的对象;2.懒汉式:需要就创建,不需要就不创建--利用了延迟加载的思想;饿汉式天生就是线程安全的,懒汉式本身是非线程安全的,单例模式1-饿汉式package cn.tedu.design;/*本类用于测试单例设计模式 1 - 饿汉式*/public class Singleton1 { public static void mai..
2021-08-20 11:19:56 105
原创 Java中的IO流
1.Java中IO流分为几种?按功能分:输入流(input),输出流(output)按类型分:字节流和字符流,区别时字节流是按8位传输以字节为单位输入输出数据,字符流是按16位传输以字符为单位。2.BIO,NIO,AIO,有什么区别BIO:Block IO同步阻塞式IO,是传统IO,模式简单,使用方便,并发处理能力低NIO:New IO同步非阻塞IO,是传统IO的升级,客户端和服务端通过Channel(通道)通讯。实现了多路复用AIO:Asynchronous IO是NIO的升级,也
2021-08-19 15:58:04 122
原创 进程,线程
什么是进程和线程?1.并行和并发有什么区别?1.并行是指多个事件在同一时刻发生,并发是同一时间间隔发生,2.并行是在不同实体上的多个事件,并发是同一实体上的;2.线程和进程的区别?进程是程序运行和资源分配的基本单元,线程是进程的一个实体,是cpu调度和分派的基本单位。同一进程中的多个线程之间可以并发执行。3.创建线程的方式1.继承Thread类创建线程。public class Thread1 { public static void main(String[] a
2021-08-19 15:44:19 158
原创 数组,集合
数组数组Array,标志是[ ] ,用于储存多个相同类型数据的集合想要获取数组中的元素值,可以通过脚标(下标)来获取.数组下标是从0开始的,下标的最大值是数组的长度-1数组的创建方式一般分为动态初始化和静态初始化动态初始化自创建数组的长度,静态初始化将数组的值确定数组名是个引用类型的变量,它保存着的是数组的地址,不是数组中的数据数组的长度用 length属性来表示,数组一旦创建,长度不可改变数组的长度允许为0Arrays.toString(数组)把数组里的数据,用逗.
2021-08-19 08:38:30 639 1
原创 oop面向对象
什么是对象面向对象的三大特征:封装,继承,多态封装:封装的主要作用就是提高重用性,还有提高安全性,不管具体的实现过程。只要可以体现重用性,简化代码的都可以成为封装,我们搬用private修饰符修饰,其实public也可以封装代码。继承:子类用关键字extends,继承父类的属性和方法,但是无法继承私有内容。多态:多态是同一行为具有不同表现形式或形态的能力,增强了软件的灵活性和重用性。封装:一般我们用private修饰成员变量,进行封装,用get(),set()方法供外部修改调用。p
2021-08-18 16:15:20 128
原创 Java基础
1.标识符包括包名,类名,方法名,字段,变量名等规则:1.可以由字符,数字,下划线(_),美元符号($)组成。2.不能以数字开头3.标识符严格区分大小写,大小写不同表示两个不同的标识符。4.标识符不能是Java关键字,也不能用true,false,null。2.关键字八大基础类型变量和常量:变量:在Java中,我们需要记录一些数据,但是这些数据的值是不固定的,我们称之为变量。变量分为两类:全局变量,局部变量。全局变量的作用域是整个工程。局部变量的作用.
2021-08-17 20:08:28 180
原创 Springboot整合SSM
1.1系统架构图1.2项目架构1.2 pom.xml文件关键注入 <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> ...
2021-08-02 14:22:35 89
转载 Java相关软件的安装
Maven的安装和配置VUE后端管理插件安装Linux安装Nginx步骤Linux安装MariaDB数据库Nginx的安装与配置服务注册中心Nacos应用实践Sentinel限流熔断应用实践
2021-07-30 09:45:52 133
原创 Spring框架考试总结
1.Spring注入是指在启动Spring容器加载bean配置的时候,完成对变量的赋值行为设置注入,不需要显示地调用set方法,会根据xml的相关配置自动进行调用,利用属性或成员变量的set方法进行注入。优点是:对于复杂的依赖关系,设置注入更简洁,直观.构造注入的优点是:1.构造期即创建一个完整,合法的对象 2.不需要写繁琐的set方法 3.在构造函数中决定依赖关系的注入顺序...
2021-07-30 09:23:26 232
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人