- 博客(48)
- 收藏
- 关注
原创 http请求get请求参数超长处理
网关增加该类package com.lingyue.platform.gateway.component;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory;import org.springframework.boot.web.server.WebServerFactory
2021-10-25 16:50:20
1385
1
原创 pinyin0.0.1汉字转拼音
/** * 汉字转为拼音 * @param chinese * @return */ public static String ToPinyin(String chinese) { String pinyinStr =null; try { Pinyin pinyin = new Pinyin(); pinyinStr = pinyin.translateNoMark(chi..
2020-09-28 16:36:39
227
原创 单例模式的六种实现方式
***1. 懒汉式单例模式*** 优点:使用时再加载对象,空间资源利用效率高* 缺点:{@code getInstance}方法需要同步,并发效率低class Singleton1{ private Singleton1(){} private static Singleton1 instance = null; public static synchronized Singleton1 getInstance(){ if(instance == n
2020-08-09 17:58:35
291
原创 Spring总结
1.Spring模块2.Spring AOP的实现原理?(1)AOP(Aspect Oriented Programming):面向切面编程什么是面向切面编程:程序在运行期间,动态地将某段代码插入到原来方法代码的某些位置中。AOP :用于处理系统中分布的各个模块的横切关注点,比如说事务管理、日志、缓存等。它是使用动态代理来实现的,在内存中临时为方法生成了一个AOP对象,这个对象包含目标对象的所有方法,在特定的切点做了增强处理,并回调原来的方法。(2)Spring AOP的动态代理主要有两种方式
2020-08-06 16:37:48
128
原创 通过消息队列MQ异步请求阿里云短信发送服务,发送验证码,并存入redis
1.创建生产者工程application.yml配置rabbitmqspring: rabbitmq: host: 192.168.71.100 virtual-host: /ysvh username: admin password: 123456 publisher-confirm-type: CORRELATED # 确认消息是否到达交换机:SIMPLE-同步确认(阻塞) CORRELATED-异步确认 publisher-returns: tr
2020-08-04 08:36:26
1547
7
转载 java面试题
1.JDK 和 JRE 有什么区别?JRE是运行时环境 给需要运行Java程序的人使用JDK是Java开发工具包 包含JRE 给开发人员使用2.== 和 equals 的区别是什么?==比较的是内存地址equals比较的是值3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?不对,equals为true时hashcode一定为true4.final 在 java 中有什么作用?可以修饰类 方法 变量修饰类时 类不可以被继承 Strii
2020-08-03 20:12:38
170
原创 创建线程的四种方式和线程的生命周期和线程安全问题?
传统的有:(1)通过继承Thread类实现,多个线程之间无法共享该线程类的实例变量。(2)实现Runnable接口,较继承Thread类,避免继承的局限性,适合资源共享。JUC中有:(3)实现Callable接口,方法中可以有返回值,并且抛出异常。(4)创建线程池实现,线程池提供了一个线程队列,队列中保存所有等待状态的线程,避免创建与销毁额外开销,提高了响应速度。线程的生命周期:线程要经历新建、就绪、运行(活动)、阻塞和死亡五种不同的状态。这五种状态都可以通过Thread类中的方法进行控制。①
2020-08-02 10:02:48
169
原创 Java虚拟机中的内存模型?
方法区:存储已被虚拟机加载的类元数据信息(元空间)堆:存放对象实例,几乎所有的对象实例都在这里分配内存虚拟机栈:虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操作栈、动态链接、方法出口等信息程序计数器:当前线程所执行的字节码的行号指示器本地方法栈:本地方法栈则是为虚拟机使用到的Native方法服务。...
2020-08-02 09:59:46
1441
原创 MySQL之concat以及group_concat的用法
一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,…)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。二、concat_ws()函数1、功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)2、语法:concat_ws(separator, str1, str2, …)说明:第一个参数指定分隔符。需要注
2020-08-02 09:50:13
157
原创 MQ,缓存,分布式锁
MOM:消息中间件MQ:消息队列 实现方式: AMQP:高级消息队列协议,本质协议,规定数据格式;任何语言可以实现;多种消息模型(5种) JMS:java消息服务,本质接口;必须是java语言实现;只有2种消息模型(点对点 发布订阅) 主要作用: 1.异步 2.解耦 3.削峰填谷 主流的MQ: ActiveMQ: RabbitMQ RocketMQ kafka ZeroMQ 五种消息模型: 1.简单模型(Simple) 2.工作模型(work)
2020-08-01 23:26:14
1670
原创 谷粒商城项目记录
/usr/local/nginx/conf/nginx.confsystemctl start elasticsearch启动:切换到kibana的bin目录下cd /opt/kibana./kibana # 会输出日志,并独占当前窗口nohup ./kibana & # 后台启动192.168.71.100:5601忽略空值Spring:jackson:default-property-inclusion: non_nullsystemctl start rabbitm
2020-08-01 23:23:15
216
原创 maven下载依赖ssl认证问题
-Xmx768m -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true-Dmaven.multiModuleProjectDirectory=$M2_HOME -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
2020-07-25 13:43:08
668
原创 遍历List的4种方式
package interview;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Collection { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("aaaaa");
2020-07-23 10:49:21
491
原创 遍历Map的四种方式
(1)通过map.keySet()获取所有的key,再通过for循环遍历key,通过map.get()获取value(2)通过map.entrySet()获取所有的key和value,再通过iterator迭代器遍历得到key和value(3)通过map.entrySet()获取所有的key和value,再通过for循环遍历得到key和value(4)通过map.values()获取所有的value,再通过for循环遍历得到valuepackage interview;import java.u
2020-07-23 10:22:45
233
原创 SpringMVC的工作流程
1.用户发送请求到前端控制器DispatcherServlet2.DispatcherServlet 收到请求后调用HanlderMapping处理器映射器3.处理器映射器根据请求url找到具体的处理器,生成handler处理器对象和handlerIntercepter处理器拦截器4.DispatcherServlet通过handlerAdapter处理器适配器调用处理器handler5.执行处理器(Controller,也叫后端控制器)6.控制器Controller执行完成将ModelAndVi
2020-07-22 08:59:25
128
原创 MySQL数据引擎
一、MySQL提供什么存储引擎mysql> SHOW ENGINES;二、查看默认的存储引擎:mysql> SHOW VARIABLES LIKE '%storage_engine%';三、各种引擎介绍1、InnoDB存储引擎(1)大于等于5.5之后,默认采用InnoDB引擎(2)InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)(3)除了增加和查询外,还
2020-07-15 20:25:40
582
原创 MySQL逻辑架构总体概览
一、MySQL逻辑架构分为四层连接层、服务层、引擎层、存储层二、MySQL执行周期MySQL的查询流程大致是:(1)首先,MySQL客户端通过协议与MySQL服务器建连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果,否则进行语句解析,也就是说,在解析查询之前,服务器会先访问查询缓存(query cache)——它存储SELECT语句以及相应的查询结果集。(2)如果某个查询结果已经位于缓存中,服务器就不会再对查询进行解析、优化、以及执行。它仅仅将缓存中的结果返回给用户,这会大大提高系统的
2020-07-15 10:40:43
251
原创 MySQL数据库索引
一、数据库数据库,是存储数据的容器,用户可以对表中的数据进行增删改查等操作。二、索引库索引库,可以理解为索引的集合。三、为什么要有索引?索引是为了提高查询数据库的效率。索引太多,我们要统一管理,所以有了索引库。四、索引的原理:对要查询的字段建立索引其实就是把该字段按照一定的方式排序;建立的索引只对该字段有效,如果查询的字段改变,那么这个索引也就无效了。索引太多会降低查询的速度。五、索引的优缺点**优点:1.首先明白为什么索引会增加速度?DB在执行一条sql语句的时候,默认的
2020-07-14 19:18:06
123
原创 阿里云文件上传和删除实现步骤
1.FileControllerpackage com.atguigu.guli.service.oss.controller.admin;import com.atguigu.guli.service.base.exception.GuliException;import com.atguigu.guli.service.base.result.R;import com.atguigu.guli.service.base.result.ResultCodeEnum;import com.atg
2020-07-02 15:47:23
1691
原创 Mybatis-plus分页和Element的Pagination分页组件
一.Mybatis-plus实现分页查询1.Controller层T:所要查询的对象实体page:当前页码limit:每页记录数IPage pageModel = adService.selectPage(page, limit);List records = pageModel.getRecords();long total = pageModel.getTotal(); @ApiOperation("推荐类别分页列表") @GetMapping("list/{page}/{lim
2020-07-02 15:34:10
1135
原创 六种提交方式(普通get,post,jquery-ajax-post(1,2),vue-data,vue-params)
一、注意事项1.简单的post表单提交请求头信息:Content-Type: application/x-www-form-urlencoded2.juery的ajax的post提交Content-Type: application/x-www-form-urlencoded;charset=UTF-83.ajax的json数据请求要求:请求头中的Content-Type的值必须是:application/json4.code 返回400 :参数错误返回415:后端需要json请求体,但
2020-06-25 16:31:49
433
原创 前后端联调总结
一、前后端联调的具体过程1、swagger测试2、测试api:浏览器network页签的xhr中的请求响应是否成功3、测试数据绑定4、数据渲染:模板中的html二、具体功能实现1、teacher.js,api模块,用来定义接口调用后端实现的接口// @ 符号在build/webpack.base.conf.js 中配置 表示 'src' 路径import request from '@/utils/request'export default{ // 查询教师列表 list() {
2020-06-22 21:20:38
9037
原创 阿里java开发规范
接口和实现类的命名有两套规则: 1)【强制】对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部 的实现类用 Impl 的后缀与接口区别。 正例:CacheServiceImpl 实现 CacheService 接口。 2)【推荐】 如果是形容能力的接口名称,取对应的形容词为接口名(通常是–able 的形式)。 正例:AbstractTranslator 实现 Translatable 接口。阿里巴巴 Java 开发手册3/38【参考】枚举类名建议带上 E.
2020-06-21 21:01:19
710
1
原创 **guli-admin**前端环境重要文件介绍
guli-admin前端环境重要文件介绍1、拥有完整功能的插件(项目目录介绍)├── config // 配置相关├── src // 源代码│ ├── api // 所有请求│ ├── assets // 主题 字体等静态资源│ ├── components // 全局公用组件│ ├── direc
2020-06-21 20:02:02
171
原创 前端环境搭建vue-element-admin-master
一、vue-element-admin-master1、简介vue-element-admin是基于element-ui 的一套后台管理系统集成方案。GitHub地址:https://github.com/PanJiaChen/vue-element-admin项目在线预览:https://panjiachen.gitee.io/vue-element-admin2、安装# 解压压缩包# 进入目录cd vue-element-admin-master# 安装依赖npm instal
2020-06-21 18:35:57
3382
1
原创 element-ui:基于 Vue.js的 后台组件库,方便程序员进行页面快速布局和构建
一、element-uielement-ui 是饿了么前端出品的基于 Vue.js的 后台组件库,方便程序员进行页面快速布局和构建官网: http://element-cn.eleme.io/#/zh-CN二、element-ui实例1、引入脚本库在axios_pro文件夹中引入:element-ui\lib2、引入css在axios.html 的head中引入css<link rel="stylesheet" href="element-ui/lib/theme-chalk/ind
2020-06-17 21:45:42
1422
原创 axios用于浏览器和node.js中发送ajax请求
一、axios的作用axios是独立于vue的一个项目,可以用于浏览器和node.js中发送ajax请求二、axios实例创建axios_pro文件夹1、复制js资源vue.min.jsaxios.min.js2、创建 axios.html3、引入js<script src="vue.min.js"></script><script src="axios.min.js"></script>4、启动课程中心微服务5、编写js<
2020-06-17 21:44:16
790
原创 Vue.js路由使用
一、锚点的概念案例:百度百科特点:单页Web应用,预先加载页面内容形式:url#锚点二、路由的作用Vue.js 路由允许我们通过锚点定义不同的 URL, 达到访问不同的页面的目的,每个页面的内容通过延迟加载渲染出来。通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA)三、路由实例创建文件夹router_pro1、复制js资源vue.min.jsvue-router.min.js2、创建 路由.html3、引入js
2020-06-17 21:41:43
207
原创 springcloud常用注解
(1)在主程序类名上添加注解: @EnableEurekaServer开启Eureka注册中心功能(2)在主程序类名上添加注解:@EnableDiscoveryClient*将自己自动注册到注册中心(3)给容器中注入一个RestTemplate并使用Ribbon进行负载均衡调用@LoadBalanced //负载均衡@Beanpublic RestTemplate restTemplate(){return new RestTemplate();}(4)@EnableFeignC
2020-06-15 09:29:53
694
原创 Springboot常用注解
(1)@SpringBootApplication:声明该类是一个SpringBoot引导类,标注SpringBoot的启动类,该注解具备多种功能,是封装了spring注解的复合注解,包含@ComponentScan,@SpringBootConfiguration,@EnableAutoConfiguration(2)@RestController :等价于@Controller + @ResponseBody(3) @RequestMapping(value = “/hello”, method =
2020-06-15 09:17:40
167
原创 redis-五大数据类型
1、redis-五大数据类型-string redis最常使用的数据类型就是string类型: java对象可以转为字符串,图片也可以转为图片 redis中string类型的大小最大可以为512m,redis的字符串二进制安全 1、向redis中存入string键值对:set k v 如果键相同,后设置的值会覆盖之前的 2、获取redis中指定键的值: get k 3、给redis中指定键的值追加内容: append k appendStr [外链图片转存
2020-06-11 10:55:31
258
原创 redis面试题
1、redis五大数据类型String:字符串,二进制安全,最大支持512m setnx k v : 设置键值对当键不存在时 setex k seconds v : 设置键值对同时设置过期时间 使用最多的数据类型就是String类型 场景: 秒杀库存、手机验证码、token(用户登录状态)、对象的json字符串 分布式锁 List:双向链表,一键多值,有序可以重复 左右两端操作效率高 lpush/rpush : lpop/rpop :
2020-06-11 10:04:28
123
原创 ssm整合-逆向工程
1 准备逆向工程的项目2 在pom文件中引入mbg的依赖+插件<groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version><groupId>org.mybatis.generator</groupId><artifactI
2020-06-11 09:55:06
309
原创 ribbon,feign整合hystrix实现熔断保护
问题:user服务在调用电影服务时,如果电影服务全部宕机,user服务会调用失败,导致user服务的本次访问出现500的错误user服务运行没有任何问题,/user可以直接访问user服务调用电影服务导致的user服务访问失败可以成为服务的雪崩。可以通过返回默认兜底数据的方式处理 movie 8001 宕机 movie 8002 movie 8003user服务远程访问时,如果负载均衡将请求交给8001处理,我们可以返回默认的错误数据给用户提示,用户刷新请求时,请求会被负载均衡
2020-06-05 19:39:17
242
原创 maven下载依赖失败:PKIX path building failed
在settings -> maven -> Runner中VM option加入以下代码即可-Dmaven.multiModuleProjectDirectory=$M2_HOME -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
2020-06-05 11:15:53
162
原创 nginx -s reload nginx: [error] open() /usr/local/nginx/logs/nginx.pid failed
找到你的nginx.conf的文件夹目录(/usr/local/nginx/conf),然后运行这个nginx -c /usr/local/nginx/conf/nginx.conf就可以了
2020-06-05 11:06:43
196
原创 redis-事务
mysql事务: 多个sql操作,要么一起成功要么一起失败redis命令都是原子性的,一个命令执行时要么成功要么失败,不受其他的命令的影响多个客户端执行时,可能先后发送多个命令交给redis执行,redis会按照接受命令的顺序一个个执行但是多个客户端发送命令如果在同一时刻都发送了多个,可能会导致客户端的命令交叉执行 一个客户端的多个命令交给redis执行时,按提交的顺序执行不会被其他客户端发送的命令打断,就是redis的事务redis事务的使用:multi: 开启redis队列,以后再执行
2020-06-04 11:44:13
91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人