- 博客(223)
- 收藏
- 关注
原创 微服务保护相关面试题
在分布式框架中 , 由于其中的一个微服务节点发生问题 , 导致调用该节点的其他微服务发送阻塞 , 而调用方微服务又被其他微服务所调用 , 由此而产生的调用链中所有的微服务都出现问题微服务组件 alibaba-sentinel是用来对微服务就行保护以避免出现雪崩现象给每个业务限定能使用的线程数 , 以避免耗尽整个容器的资源 , 导致服务崩溃。
2024-11-02 15:25:52 332
原创 Java单继承实现原理
编译时多态是静态的 , 主要是指重载方法 , 简单来说就是同一个方法名称不同的参数列表// 方法1:无参数// 方法2:一个整数参数// 方法3:两个整数参数// 方法4:一个字符串参数// 调用无参数的方法// 调用一个整数参数的方法// 调用两个整数参数的方法// 调用一个字符串参数的方法");运行时多态是面向对象编程中的一个重要概念,它允许在运行时根据对象的实际类型来调用相应的方法。
2024-11-01 10:30:00 1651
原创 分布式搜索引擎elasticsearch操作文档操作介绍
match和multi_match的区别是什么?match:根据一个字段查询multi_match:根据多个字段查询,参与查询字段越多,查询性能越差精确查询常见的有哪些?term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段range查询:根据数值范围查询,可以是数值、日期的范围。
2024-10-29 11:58:59 865
原创 ES索引库文档操作
根据rest风格,新增是post,查询应该是get,不过查询一般都需要条件,这里我们把文档id带上。:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。增量修改是只修改指定id匹配的文档中的部分字段。
2024-10-27 16:56:22 295
原创 DSL操作索引库介绍
倒排索引结构虽然不复杂,但是一旦数据结构改变(比如改变了分词器),就需要重新创建倒排索引,这简直是灾难。虽然无法修改mapping中已有的字段,但是却允许添加新的字段到mapping中,因为不会对倒排索引产生影响。索引库就类似数据库表,mapping映射就类似表的结构。我们要向es中存储数据,必须先创建“库”和“表”。DELETE /索引库名。
2024-10-27 16:45:32 889
原创 微服务网关gateway过滤器工厂与自定义过滤器
参数中是否有authorization,authorization参数值是否为admin如果同时满足则放行,否则拦截实现:@Order(-1)@Component@Override// 1.获取请求参数// 2.获取authorization参数// 3.校验// 放行// 4.拦截// 4.1.禁止访问,设置状态码// 4.2.结束处理。
2024-10-27 11:02:51 1201
原创 微服务组件Feign远程调用介绍
类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。
2024-10-26 16:45:33 982
原创 EasyExcel快速入门
Data@Builder/*** 通过注解自定义表头名称 注解添加排序规则,值越大 越靠近右边*/@ExcelProperty(value = {"用户名"},index = 1)@ExcelProperty(value = {"年龄"},index = 2)@ExcelProperty(value = {"地址"} ,index = 4)@ExcelProperty(value = {"生日"},index = 3)@Data@Builder。
2024-10-21 16:04:17 248
原创 今日指数项目集成SpringSecurity
-引入security--> < dependency > < groupId > org.springframework.boot < artifactId > spring-boot-starter-security
2024-10-20 19:54:59 655
原创 Nginx安装于环境配置
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。官网:https://nginx.org/
2024-10-20 16:12:29 945
原创 SpringCache缓存介绍
前面提到了缓存有诸多的好处,于是大家就摩拳擦掌准备给自己的应用加上缓存的功能。但是网上一搜却发现缓存的框架太多了,各有各的优势,比如Redis[中央缓存-远程缓存]、Memcached、Guava、Caffeine[本地缓存]等等。 如果我们的程序想要使用缓存,就要与这些框架耦合。聪明的架构师已经在利用接口来降低耦合了,利用面向对象的抽象和多态的特性,做到业务代码与具体的框架分离。
2024-10-20 13:02:03 995
原创 SpringSecurity自定义认证授权过滤器
SpringSecurity内置的认证过滤器是基于post请求且为form表单的方式获取认证数据的,那如何接收前端Json异步提交的数据据实现认证操作呢? 显然,我们可仿照UsernamePasswordAuthentionFilter类自定义一个过滤器并实现认证过滤逻辑;/***//*** 设置构造,传入自定义登录url地址*/@Override//判断请求方法必须是post提交,且提交的数据的内容必须是application/json格式的数据。
2024-10-19 20:46:19 587
原创 Jwt介绍与使用
JSON Web Token(JWT)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。该token被设计为紧凑且安全的,特别适用于前后端无状态认证的场景。
2024-10-18 18:16:16 866
原创 SpringSecurity源码分析以及如何解决前后端分离出现的跨域问题
该类继承了一个抽象类 , 我们继续往上找在这里我们也是找到了doFilter方法 , 观察其源码该方法调用了一个叫做尝试认证的方法而该方法是一个抽象方法 , 必然会被子类重写 , 那么绕来绕去又要回到一开始的。
2024-10-18 13:11:42 1089
原创 SpringSecurity使用介绍
Spring Security是基于Spring的安全框架,提供了包含认证和授权的落地方案;Spring Security底层充分利用了Spring IOC和AOP功能,为企业应用系统提供了声明式安全访问控制解决方案;SpringSecurity可在Web请求级别和方法调用级别处理身份认证和授权,为应用系统提供声明式的安全访问控制功能;官网地址: https://spring.io/projects/spring-security。
2024-10-17 20:18:30 937
原创 今日指数项目集成分库分表
*** @Description 定义公共的数据库分片算法类:包含精准匹配数据库和范围匹配数据库* 因为分库是根据日期分库的,一年一个库,所以片键的类型是Date*//*** 精准匹配数据库的方法 cur_time 条件必须是 = 或者in* @param dsNames 所有可匹配数据源的集合 ds-2021 ds-2022* @return*/@Override//1.思路:根据传入的日期值,获取年份字符串//获取分片字段的名称colume。
2024-10-17 15:23:10 680
原创 分库分表方式介绍
垂直分表就是在同一数据库内将一张表按照指定字段分成若干表,每张表仅存储其中一部分字段;垂直分表拆解了原有的表结构,拆分的表之间一般是一对一的关系; 垂直分库是指按照业务将表进行归类,然后把不同类的表分布到不同的数据库上面,而每个库又可以放在不同的服务器上,它的核心理念是-专库专用;水平分表就是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中,表的结构没有变化;水平分表解决单表数据量大的问题;
2024-10-16 18:05:49 970
原创 Sharding-JDBC标准模式详解
Sharding-JDBC的标准模式就配置而言比inline模式繁琐多了, 那为什么要使用标准模式呢Sharding-JDBC作为Apache ShardingSphere生态中的一款轻量级Java框架,提供了数据分片、读写分离、分布式事务和数据库治理等核心功能。在Sharding-JDBC中,标准模式和inline模式是两种不同的配置方式,它们各有特点。
2024-10-16 17:59:13 931
原创 今日指数项目day8实战权限管理功能(下)
接口提示:请求参数:@RequestBody PermissionUpdateVo vo。 接口提示:请求参数:@RequestBody PermissionAddVo vo。
2024-10-13 20:00:08 370
原创 今日指数项目day8实战补充 - 角色处理器功能实现(下)
更新角色的状态信息 , 根据角色id删除角色信息 , 更新角色信息,包含角色关联的权限信息
2024-10-13 12:51:59 423
原创 今日指数项目集成多线程采集数据注意事项
这里我提供一种解决方案 , 就是通过爬虫获取所有数据 , 将这些数据封装进一个集合中 ,再集中存处。为什么要集成多线程在项目中已有说明 , 这里就不多赘述 , 讲一下集成多线程有哪些注意事项。在这里循环获取每个步长的数据后直接执行插入数据库的操作。无法获取数据是否插入成功的信息。首先在原方案所采取的策略。在这里也会有另外一些问题。
2024-10-09 16:37:51 1053
原创 今日指数-day08实战完整代码
功能描述:个股交易流水行情数据查询--查询最新交易流水,按照交易时间降序取前10服务路径:/quot/stock/screen/second入参:code 股票编码服务方法:GET"code": 1,"data": ["date": "2022-01-03-14:58",//当前时间,精确到分"tradeAmt": 58672751,//交易量"tradeVol": 228625157,//交易金额"tradePrice": 3.9//交易价格。
2024-10-06 13:05:18 1092
原创 今日指数项目个股周K线功能实现
服务路径:/api/quot/stock/screen/weekkline。股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、整周均价、以及一周内最大交易日期(一般是周五所对应日期);整周均价、以及一周内最大交易日期(一般是周五所对应日期)请求参数:code //股票编码。
2024-10-05 15:27:08 308
原创 今日指数项目股票Code联想推荐功能实现
输入框输入股票编码后,显示关联的股票信息;功能描述:根据输入的个股代码,进行模糊查询,返回证券代码和证券名称服务路径:/quot/stock/search服务方法:GET请求参数:searchStr (只接受代码模糊查询,不支持文字查询)"code": 1,"data": ["code": "600000",//股票编码"name": "浦发银行" //股票名称},"name": "白云机场"
2024-10-05 15:14:46 318
原创 java线程池参数设置原则
在这个过程中,如果设置或者使用不当,容易造成内存溢出问题,同时如果设置了无界队列,那么线程池的最大线程数也就失去了意义;目前根据一些开源框架,设置多少个线程数量通常是根据应用的类型**:I/O 密集型、CPU 密集型。所以企业开发中会命令。
2024-10-03 16:58:47 476
原创 线程池工作流程概述
当一个任务通过submit或者execute方法提交到线程池的时候,如果当前池中线程数(包括闲置线程)小于coolPoolSize,则创建一个新的线程执行该任务;如果当前线程池中线程数已经达到coolPoolSize,则将任务放入等待队列;如果任务队列已满,则任务无法入队列,此时如果当前线程池中线程数小于maxPoolSize,则创建一个临时线程(非核心线程)执行该任务;如果当前池中线程数已经等于maxPoolSize,此时无法执行该任务,对于新的任务会根据拒绝执行策略处理;
2024-10-03 16:56:52 752
原创 定时任务xxl-job使用详解
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。目前已有多家公司接入xxl-job,包括比较知名的大众点评,京东,优信二手车,北京尚德,360金融 (360),联想集团 (联想),易信 (网易)等;
2024-10-02 18:11:31 664
原创 服务器配置xxljob
扩展小知识:转发=映射”本地转发”表示ssh发起方(也就是本地)是映射转发者”远程转发也叫反向隧道”表示ssh发起方是映射真身,远程是映射转发者也就是ssh发起方是转发者叫本地转发,或本地映射,远程转发是ssh接受方是转发者也就是本地不是转发者通过ipconfig指令查询获得的p都是内网ip无法直接访问 , 这时候就可以使用内网穿透的方法进行连接首先进入下面网站 ,登录注册选择免费隧道 , 点击购买购买完成,在我的隧道中配置。
2024-10-02 17:55:59 535
原创 今日指数项目项目集成RabbitMQ与CaffienCatch
spring:rabbitmq:host: 114.116.244.165 # rabbitMQ的ip地址port: 5672 # 端口@Slf4j// 定义大盘消息序列化方式@Bean// 客户端接受信息//超过一分钟告警log.error("采集国内大盘时间点:{},同步超时:{}ms",new DateTime(date).toString("yyyy-MM-dd HH:mm:ss"),diffTime);
2024-10-01 14:10:00 896
原创 RestTemplate采集股票数据
当前项目中的股票数据都是历史数据,不是实时最新的数据,而要想获取股票最新的数据,就需要定时调用第三方接口拉取最新数据流水; Spring框架已为我们封装了一套访问远程http接口的模板工具:RestTemplate,借助于该工具,我们可访问第三方股票接口,获取股票最新数据。 RestTemplate本质上就是一个非常轻量级http客户端,使用简单且容易上手;
2024-09-30 19:45:10 1808
原创 今日指数项目A股大盘数据采集
*** @Description 定义采集股票数据的定时任务的服务接口/*** 获取国内大盘的实时数据信息@Slf4j@Autowired@Autowired@Autowired@Override//1.定义采集的url接口//2.调用restTemplate采集数据//2.1 组装请求头//必须填写,否则数据采集不到//2.2 组装请求对象//2.3 resetTemplate发起请求//log.info("当前采集的数据:{}",resString)
2024-09-30 19:39:01 753
原创 今日指数项目实现个股日K线详情功能
1.日K线就是将股票交易流水按天分组,然后统计出每天的交易数据,内容包含:日期、股票编码、名称、最高价、最低价、开盘价、收盘价、前收盘价、交易量;2.需要注意的是这里的收盘价就是指每天最大交易时间点下对应的价格;
2024-09-29 18:21:02 454
原创 有关java的Stream流介绍与使用
Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。
2024-09-29 13:35:41 427
基于Django+uwsgi+nginx+MySQL+redis+linux+requests开发的电商购物系统
2024-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人