- 博客(401)
- 资源 (3)
- 收藏
- 关注
原创 面试之数据库视图的作用
视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,多表视图一般用于查询,不会改变基本表的数据。作用:①简化了操作,把经常使用的数据定义为视图。我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select * from view就可以啦,这样很方
2022-05-26 12:57:42 342
原创 使用注解@ConfigurationProperties映射
使用注解@ConfigurationProperties映射通过注解@ConfigurationProperties(prefix=“配置文件中的key的前缀”)可以将配置文件中的配置自动与实体进行映射application.properties配置如下:person: name: zhangsan age: 18或者,application.yml配置如下:person: name: zhangsan age: 18实体Bean代码如下:@Controller@Conf
2022-05-26 12:56:14 464
原创 服务熔断与服务降级
服务熔断的原理:业内普遍采用断路器模式原理: 当远程服务被调用时,断路器将监视这个调用,如调用时间太长,断路器将会介入并中断调用。此外,断路器将监视所有对远程资源的调用,如对某一个远程资源的调用失败次数足够多,那么断路器会出现并采取快速失败,阻止将来调用此远程资源的请求.断路器实现:阿里公司出的Sentinelnetflix的Hystrix示例Hystrix中熔断的常用配置:circuitBreaker.requestVolumeThreshold默认值20.意思是至少有20个请求才进
2022-04-21 10:54:43 648
原创 微服务常见概念
微服务中概念:服务调用将一个系统拆分成各个微服务后,各个微服务之间协同工作才能对外提供完整的服务,这就涉及到各个微服务之间的调用问题。目前各个微服务之间一般会采用Restful接口或者RPC协议的方式进行调用。(1)Restful接口Restful接口一般是基于HTTP协议实现的,这种协议使用上比较广泛,几乎所有的编程语言都支持HTTP协议。(2)RPC协议RPC是一种远程过程调用,能够做到像调用本地服务一样调用远程服务。RPC框架在底层屏蔽了数据的传输方式,序列化方式和交互的细节信息,让使用R
2022-04-21 10:53:56 344
原创 RDB与AOF对比小记
Redis 提供了两种持久化功能:RDB (Redis Database):生成 RDB 文件,保存的是 key-value 的形式。AOF (Append Only File):保存 Redis 执行过程中的写命令原文链接:https://www.jianshu.com/p/0ef4dd3d1200AOFRDB原文链接https://www.cnblogs.com/itlaoge/p/14219633.html...
2022-04-06 17:14:17 1142
原创 Feign远程调用小计
Feign的远程调用简易图Feign远程调用核心-----就是通过封装和处理,将以JAVA注解的方式定义远程调用API接口,最终转换成HTTP的请求形式,然后将HTTP的请求的响应结果,解码成JAVA Bean,放回给调用者核心注解两个注解@FeignClient和@EnableFeignClients两个注解注解的自行百度理解一个是开启Feign功能@EnableFeignClients一个是作为客户端应用注入@FeignClient参考链接1面试Feign参考链接2Feign原理.
2022-04-06 15:27:27 619
原创 正则表达式“\\s+“ 匹配任意空白字符
正则表达式中\s匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ \f\n\r\t\v]\f -> 匹配一个换页\n -> 匹配一个换行符\r -> 匹配一个回车符\t -> 匹配一个制表符\v -> 匹配一个垂直制表符而“\s+”则表示匹配任意多个上面的字符。另因为反斜杠在Java里是转义字符,所以在Java里,我们要这么用“\s+”.那么问题来了,“\s+”有啥使用场景呢?注:[\s]表示,只要出现空白就匹配[\S]表示,非空白就匹配更多h
2022-04-04 14:53:56 2710
原创 sql优化之多见多记
一:对sql语句的优化:1.能分开写的语句就分开写,不要一次性解决,这样对效率来说是很大的开销。如:select * from abc where abcd=(select * from a)2.避免使用不兼容的数据类型:如float和int,char和varchar等都是不兼容的。如:select * from employee where salary > 60003.尽量避免在where子句中对字段进行函数或表达式操作:如:select * from t1 where f1/2=1
2022-03-24 13:32:45 917
转载 Java读写锁相关小记
读写锁在同一时刻可以允许多个读线程访问,但是在写线程访问时,所有的读线程和其他写线程均被阻塞。读写锁维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使得并发性相比一般的排它锁有了很大的提升。 一般情况下,读写锁的性能都会比排它锁好,因为大多数场景读是多于写的。在读多于写的情况下,读写锁能够提供比排它锁更好的并发性和吞吐量。Java并发包提供读写锁的实现是ReentrantReadWriteLock。它支持的特性有:支持非公平和公平的锁获取方式,默认是非公平支持锁的重进入支持锁降级Re.
2022-03-24 09:42:57 926
转载 java之native的使用小结
在介绍 native 之前,我们先了解什么是 JNI。一般情况下,我们完全可以使用 Java 语言编写程序,但某些情况下,Java 可能会不满足应用程序的需求,或者是不能更好的满足需求,比如:①、标准的 Java 类库不支持应用程序平台所需的平台相关功能。②、我们已经用另一种语言编写了一个类库,如何用Java代码调用?③、某些运行次数特别多的方法代码,为了加快性能,我们需要用更接近硬件的语言(比如汇编)编写。上面这三种需求,其实说到底就是如何用 Java 代码调用不同语言编写的代码。那么 JNI
2022-03-20 11:19:18 2020
原创 QRCode二维码相关资料
QRCode二维码相关资料链接:https://pan.baidu.com/s/1GBphCLeiz4u4cv-668d-FA提取码:gcep
2022-03-18 17:36:37 7429
原创 整合RabbitMq过程中遇到控制报错socket closed问题
整合RabbitMq过程中遇到的小问题之一:运行报错配置如下在提供者那个springboot项目里,如果项目启动后,测接口,控制报错socket closed的话,那应该是yml配置文件有问题,改成这样就行了virtual-host: /应该是虚拟机配置问题,改完后以后正常执行...
2022-03-17 13:58:08 5108
原创 java敏感词汇过滤工具类
/** * 敏感词汇过滤器 */@WebFilter("/*")public class SensitiveWordsFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { //1.创建代理对象,增强getParameter方法 .
2022-03-10 22:07:58 1495
转载 SpringBoot 集成 达梦数据库 maven依赖本地jar包
最近做ZF项目,需要使用国产数据库,考虑到人气较高的达梦数据库,这里是版本7。达梦数据库是参考Oracle,和MySQL有一点点的区别,这里介绍下spring boot/cloud项目里如何集成达梦数据库。1.下载Dm7JdbcDriver17.jar,下载地址:https://download.csdn.net/download/las723/110462002.在src下建lib文件夹,将Dm7JdbcDriver17.jar复制进去:3.pom文件里添加依赖 com.
2022-03-07 13:53:29 3981
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人