- 博客(66)
- 资源 (3)
- 收藏
- 关注
原创 Shiro授权管理,缓存使用,session管理,RememberMe的配置
Shiro授权管理,缓存使用,session管理,RememberMe的配置
2022-09-23 09:47:06
631
原创 Shiro学习2----spring boot整合(JdbcRealm)
Shiro学习2----spring boot整合(JdbcRealm)
2022-09-15 17:45:37
517
原创 Mybatis面试
1、谈谈你对 MyBatis 的理解?1. Mybatis是一个半ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需 要花费精力去处理加载驱动、创建连接、创建 Statement 等繁杂的过程。程序员直接编写原生态 SQL,可以 严格控制 SQL 执行性能,灵活度高。2. MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。3. 通过 XML 文...
2022-02-10 10:16:43
488
原创 seata的部署和集成
seata的部署和集成一、部署Seata的tc-server1.下载首先我们要下载seata-server包,地址在http????/seata.io/zh-cn/blog/download.html当然,课前资料也准备好了:2.解压在非中文目录解压缩这个zip包,其目录结构如下:3.修改配置修改conf目录下的registry.conf文件:内容如下:registry { # tc服务的注册中心类,这里选择nacos,也可以是eureka、zookeeper等 type =
2022-01-20 14:28:16
682
1
原创 sentinel规则持久化-实现push模式
目录1.规则管理模式1.Sentinel的控制台规则管理有三种模式:1.原始模式2.pull模式3.push模式2.实现push模式1.修改order-service服务,使其监听Nacos配置中心1.引入依赖2.配置nacos地址2.修改sentinel-dashboard源码1.解压sentinel源码包并用idea打开这个项目2.修改nacos依赖3.添加nacos支持4.修改nacos地址5.配置nacos数据源6.修改前端...
2022-01-19 22:02:49
1733
原创 微服务保护-sentinel入门
1.初识sentinel1.雪崩问题及解决方案微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。解决雪崩问题的常见方式有四种:•超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待•舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。•熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求•流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。Se
2022-01-19 21:41:59
623
原创 深入elasticsearch
1.数据聚合1.聚合的分类聚合(aggregations)可以实现对文档数据的统计、分析、运算。聚合常见的有三类:桶(Bucket)聚合:用来对文档做分组•TermAggregation:按照文档字段值分组•Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组度量(Metric)聚合:用以计算一些值,比如:最大值、最小值、平均值等•Avg:求平均值•Max:求最大值•Min:求最小值•Stats:同时求max、min、avg、sum等
2022-01-18 17:02:52
1086
原创 java面试题汇总
java基础1.解释下什什么是面向对象?面向对象和面向过程的区别?面向对象是一种基于面向过程的编程思想,由执行者变为指挥者,面向对象的编程是以对象为中⼼心,以消息为驱动。区别:(1)编程思路不同:面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。(2)封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。(3)面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势很...
2022-01-17 21:05:14
682
原创 在IntelliJ IDEA中使用Git推送项目
1.复制仓库路径,这个路径需要在后面IDEA上传项目时使用2.在IDEA中将项目导入版本控制在IDEA菜单栏顺序选择:VCS->Import into Version Controlp->Create Git Repository目的是先在本地创建一个git仓库鼠标右键项目名,在弹出的菜单栏中顺序选择:Git->Add目的是将当前项目中本地仓库没有的内容添加到本地仓库中(实际上并没有真是添加,只有在下一步操作中才会真实添加,但是所有仓库中没有的文件都需要先add
2022-01-16 15:48:59
698
原创 在IntelliJ IDEA中利用Git拉取项目
1 访问gitee或github,找到项目对应的仓库,并复制仓库地址2 打开IDEA,依次选择菜单:File->New->Project from Version Control3 在弹出框中输入仓库路径(从第一步中gitee或github复制的路径)并点击Clone4 在弹出框中输入gitee或github的账号和密码并点击Log in...
2022-01-16 15:21:13
20950
原创 在IDEA中配置Git
1.下载安装Git工具访问git官网:Git下载符合当前系统的安装包,下载后进行安装,下一步即可2.在IntelliJ IDEA中配置Git
2022-01-16 15:15:00
136
原创 elasticsearch入门2
1.DSL查询文档1.DSL查询分类Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括:•查询所有:查询出所有数据,一般测试用。例如:match_all•全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如:•match_query•multi_match_query•精确查询:根据精确词条值查找数据,一般是查找keyword、数值、日期、boole.
2022-01-14 14:00:06
1040
原创 java基础面试题二
数据库里索引的作用主要作用为了增开数据的查询速度,它的执行也是有一定条件的,不是加了索引就能够加快查询的效率,由于索引的创建实际占据内存空间的,mysql中通过Explain Select来查看索引的扫描次数。情况如下:以下不适合加索引:1.如果每次都需要取到所有表记录,无论如何都必须进行全表扫描了,那么是否加索引也没有意义了。2.对非唯一的字段,例如“性别”这种大量重复值的字段,增加索引也没有什么意义。3.对于记录比较少的表,增加索引不会带来速度的优化反而浪费了存储空间,因为索引是需要
2022-01-08 12:22:36
90
原创 java基础面试一
1.面向对象特征有哪些方面1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承
2022-01-08 11:53:28
205
原创 elasticsearch入门
基本概念1.什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能2.什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch3.什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API1.正向索引和倒排索引1.什么是文档和词条?每一条数据就是一个文档,对文档中的内容分词,得到的词语就是词条elast
2022-01-07 22:18:40
1516
原创 SpringAMQP发送与接收消息
同步调用的优点:时效性较强,可以立即得到结果同步调用的问题:1.耦合度高2.性能和吞吐能力下降3.有额外的资源消耗4.有级联失败问题异步通信的优点:1.耦合度低2.吞吐量提升3.故障隔离4.流量削峰异步通信的缺点:1.依赖于Broker的可靠性、安全性、吞吐能力2.架构复杂了,业务没有明显的流程线,不好追踪管理什么是AMQP?应用间消息通信的一种协议,与语言和平台无关。SpringAMQP如何发送消息?1.引入amqp的starter依赖2.配置Rab..
2022-01-06 17:35:28
2712
原创 Eureka与Nacos的区别
1.Nacos与eureka的共同点1.都支持服务注册和服务拉取2.都支持服务提供者心跳方式做健康检测2.Nacos与Eureka的区别1.Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式2.临时实例心跳不正常会被剔除,非临时实例则不会被剔除3.Nacos支持服务列表变更的消息推送模式,服务列表更新更及时4.Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式...
2021-12-30 17:33:56
9454
原创 后端如何配置拦截器
1.首先自定义一个类,在这个类实现这个HandlerInterceptor接口2.注册过滤器:添加白名单(哪些资源可以不登录的情况下访问)添加黑名单(用户登录才能访问)3.注册过滤器的技术:借助WebMvcConfigure接口,可以将用户定义的拦截器进行注册,才可以保证拦截器能够生效和使用。
2021-12-28 21:19:24
1948
转载 java IO流
1.简介1.流只能单向移动2.输入流用来读取:in3.输出流用来写出:out4.数据只能从头到尾书序的读写一次输入输出是相对于程序而言的根据处理的数据单位不同,可以把流分为字节流和字符流字节流:针对二进制文件字符流:针对文本文件常用的流有:File字节流:针对二进制文件InputStreamFileInputStreamBufferedInputStreamObjectInputStreamOutputStreamFileOutputStreamBufferedOut.
2021-12-22 21:29:54
90
原创 java包装类
目录1.Integer2.Double3.自动装箱和自动拆箱4.BigDecimal 常用来解决精确地浮点数运算不精确地问题5.舍入方式1.Integer1.创建对象 new Integer(1); Integer.valueOf(1);Integer类中包含256个缓冲对象,范围-128-127使用valueOf()时,如果是指定范围的值,直接访问缓存对象不新建,如果指定范围外的值,直接新建对象常见方法:[static int] ...
2021-12-22 19:57:21
478
原创 String Api 常用方法 StringBuilder/StringBuffer
String Api 常用方法 StringBuilder/StringBuffer
2021-12-22 17:49:59
108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人