- 浏览: 50947 次
- 性别:
- 来自: 深圳
最新评论
文章列表
一、过滤器常见的使用场景
1、跨域问题:解决跨域问题,可实现跨域白名单配置
2、跨站点脚本攻击问题:跨站点脚本攻击问题
3、自定义接口校验:对开放的接口自定义校验
二、拦截器常见的使用场景
1、解析请求中的通用参数
2、设置默认用户
3、设置默认url
三、项目中常见的通用处理逻辑
1、自定义配置文件
2、使用druid
3、重写mybatissqlsessionFactory实现多种类型的数据库切换
4、使用mybatis拦截器实现数据库sql修改,比如插入时间、动态xml切换、分页、乐观锁实现
一、过滤器的3种实现方法
1、通过注解的方式实现
@WebFilter(initParams = {@WebInitParam(name = "aaa", value = "sss")})
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("调用01过滤器");
...
Servlet、Filter和Listener都是Java Web应用程序中的核心组件,它们各自扮演着不同的角色。
Servlet是运行在Web服务器上的一个Java类,它可以接收HTTP请求并返回HTTP响应。Servlet通常用于处理业务逻辑和生成动态内容,例如查询数据库、构建HTML页面或JSON数据等。
Filter是在Servlet容器内部的一个组件,它用于拦截请求和响应。Filter可以对请求和响应进行预处理和后处理,例如进行权限校验、字符编码转换、日志记录、数据压缩等。
Listener是用于监听Servlet容器中的事件,例如容器 ...
检查集群的状态是否正常
a.在命令行检查
curl http://ip:9200/_cluster/health?pretty=true
检查是否是green的状态
b.在浏览器进行访问,可以知道谁是主节点【带*的是主节点】
http://ip:9200/_cat/nodes
为 ES 集群创建节点认证中心 ,生成证书 (直接回车,设置空密码)
$ ./bin/elasticsearch-certutil ca
一路回车完成后会生成一个文件:elastic-stack-ca.p12
$ ./bin/elasticsearch-cer ...
java8的常用写法
- 博客分类:
- Java编程语言
package com.sf.gis.boot;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.OptionalInt;
import java.util.Set;
impo ...
ES查询相关字段区别
- 博客分类:
- ES中间件
es中的term terms和match match_phrase 的区别
1、term:term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词拆解。
2、terms:terms里的[ ] 多个是或者的关系,只要满足其中一个词就可以
3、match:match进行搜索的时候,会先进行分词拆分,拆完后,再来匹配
4、match_phrase: match_phrase 称为短语搜索,要求所有的分词必须同时出现在文档中,同时位置必须紧邻一致
二、模糊查询的方式
1、wildcard:
GET kibana_sample_data_flights/_search
...
RancherV2.5.10+K8S部署文档
- 博客分类:
- K8S
1. RancherV2.5.10+K8S部署文档
作者 版本 修改内容 发布日期
一. 环境说明
1. rancher简介
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。 rancher1.x 支持docker compose、swarm、kubernates等集成,镜像名为rancher/server。
rancher2.15支持kubernates,镜像名为r ...
这篇文章的脉络如下:
1、分库分表之前出现的问题
2、怎么分库分表?
3、分库分表的规则是什么?
下面按照这个脉络给出今天的文章。
一、单库单表存在的问题
假设你要设计一个电商网站,在一开始,User表、Order表、Product表等等各种表都在同一个数据库中,每个表都包含了大量的字段。在用户量比较少,访问量也比较少的时候,单库单表不存在问题。
但是公司可能发展的比较好,用户量开始大量增加,业务也越来越繁杂。一张表的字段可能有几十个甚至上百个,而且一张表存储的数据还很多,高达几千万数据,更难受的是这样的表还挺多。于是一个数据库的压力就
postman的安装
- 博客分类:
- 工具配置
https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop
redis内存管理机制
- 博客分类:
- Redis中间件
Redis处理的速度很快,因为它是基于内存的。在内存能够足够容纳数据的时候,所有的数据都存放在内存。这个时候不论是读取数据还是写入数据都是非常快的。但是如果数据量很大,大到内存已经无法全部容纳的时候,我想对存储有一定了解的人都在想,这个时候redis是怎么处理的呢?处理速度是否会直线下降?
幸亏,答案是否定的。Redis使用到了VM,在redis.conf设置vm-enabled yes 即开启VM功能。 通过VM功能可以实现冷热数据分离。使热数据仍在内存中,冷数据保存到磁盘。这样就可以避免因为内存不足而造成访问速度下降的问题。在这里,需要特别提到的是,Redis并没有使用OS提供的Swap ...
zookeeper的原理
- 博客分类:
- Zookeeper組件
1、核心原理
文件系统+通知机制
2、分布式实现
主提供读写 从提供读
3、ZAB原子广播协议
1)消息广播(2PC 二阶段提交)
2)奔溃恢复(投票选举 (myid,zxid),数据同步)
zookeeper的安装部署
- 博客分类:
- Zookeeper組件
一、单节点的安装
1、配置JAVA环境
2、解压到/usr/local/zookeeper
3、复制配置文件cp conf/zoo_sample.cfg conf/zoo.cfg
4、启动 ./bin/zkServer.sh start
5、客户端连接 ./bin/zkCli.sh
6、配置文件说明
#数据目录
信号量(Semaphore):是一种计数器,用来保护一个或者多个共享资源的访问。它是并发编程的一种基础攻击,大多数编程语言都提供了这个机制。
CountDownLatch:是java语言提供的同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许线程一直等待。
CyclicBarrier:是java语言提供的同步辅助类,它允许多个线程在某个集合点处进行相互等待。
Phaser:是java语言提供的同步辅助类,它把并发任务分成多个阶段运行,在开始下一阶段之前,当前阶段中的所有线程都必须执行完成,这是java7 APi中的新特性。
垃圾回收算法和垃圾回收器
- 博客分类:
- Java虚拟机
一、如何回收?
1.1 垃圾收集算法:
(1)标记-清除(Mark-Sweep)算法
这是最基础的算法,就像它名字一样,算法分为“标记”和“清除”两个阶段:首先标记处所有需要回收的对象(如哪些内存需要回收所描述的对象),对标记完成后统一回收所有被标记的对象,如下图所示:
缺点:一个是效率问题,标记和清除两个过程的效率都不高;另一个是空间问题,标记清除后悔产生大量的不连续的内存碎片,可能会导致后续无法分配大对象而导致再一次触发垃圾收集动作。
(2)复制算法