- 博客(18)
- 收藏
- 关注
原创 javet脚本引擎使用
/使用V8Function创建一个js能调用的方法,js调用的方法名,就是name的值//创建了两个方法,一个是打印日志的方法,一个是计算两个数之和的方法return i+y;//将上面的两个类加载到V8引擎中//取个名称,编辑js使用//将定义好的java方法加载到V8引擎中//定义js。计算1+2的值,并打印日志//执行js。
2024-04-02 15:03:09
372
1
原创 根据注解或者接口入参实现多数据配置
注解的形式进行多数据源配置yml配置配置两个数据源,根据需要配置多个server: port: 8763mybatis: mapper-locations: classpath*:mapper/**/*.xml type-aliases-package: com.test.producer.daospring: application: name: producer-server datasource: druid: initial-size:
2022-03-08 16:15:19
582
原创 NIO原理,及实现群聊功能
文章目录什么是NIONIO和原生IO有什么不同NIO的三大组件核心三大组件的关系buffer(缓冲区)Buffer的简单使用Buffer的注意事项channel(通道)FileChannel的简单使用selector(选择器)使用 selector 实现简单的读写通讯NIO实现简单的群聊功能什么是NIONIO是一种非阻塞,基于事件响应的IONIO和原生IO有什么不同IO有三种,BIO,NIO和AIOBIO: 就是jdk原生的IO,是一个同步阻塞的io(等待客户端链接的时候,等待读写请求的时候都
2021-12-27 17:59:25
436
原创 http和tcp协议的区别
TCP协议;1.TCP应用于传输层;2.TCP协议用于以流的形式建立一个网络传输通道;TCP三次握手1.客户端向服务端询问是否可以建立链接;2.服务端告诉客户端,可以建立链接;3.服务端告诉客户端,好的我知道了,我要建立链接了;TCP四次挥手1.客户端告诉服务端要断开链接;2.服务端告诉客户端,我知道了,我这边先把没处理的请求处理完;3.服务端告诉客户端,我这边处理完了,要断开了;4.客户端告诉服务端,我知道了,我也要关了;HTTP协议1.超文本传输协议;2.HTTP负责定
2021-11-30 14:11:30
337
原创 常见算法面试题
文章目录一个数组,求连续最大的和问题举例问题解析代码整数反转问题举例问题解析代码回文数问题举例问题解析代码未完待续一个数组,求连续最大的和问题举例 数组 {1,-4,10,5,-10,23}, 求出当前数组中最大的和,10+5+ -10 +23 = 28 数组 {2,-10,4,9,-29,10}, 求出当前数组中最大的和,4+9=13问题解析已知数组,想求出连续最大和,先初始化最大值为数组第一个数字;然后循环数组一直相加求连续和,每加完一个值,就用连续和 和 最大值进行比较,从新赋值;
2021-11-16 13:48:16
828
原创 腾讯云生成签名调用
生成签名类package com.guest.live.activity.thirdextend.tencent.common;import com.alibaba.fastjson.JSONObject;import javax.crypto.Mac;import javax.crypto.spec.SecretKeySpec;import javax.xml.bind.DatatypeConverter;import java.nio.charset.Charset;import ja
2021-08-26 17:46:15
655
1
原创 dynamic datasource 多个数据源切换使用
说明公司最近需求,需要在一个项目中,获取不同的数据库,在其中的表中做业务;不是读写分离,不是分库分表,只是单纯的多数据源;maven依赖配置// dynamicDatasource 版本号<dynamic.datasource.version>3.3.1</dynamic.datasource.version>//alibaba 版本号<spring.cloud.alibaba.version>2.2.2.RELEASE</spring.cloud.al
2021-08-26 11:37:33
554
原创 对比所用客户端apollo的配置MD5是否相同
问题描述最近公司在做自己的配置中心,其实就是在apllo的基础上加了一层封装,现有如下一个需求:比如我配置100台服务器,都用了配置中心,但是我如果修改了配置中心的配置,我如何知道这100台服务器都生效了。...
2021-03-11 17:54:56
164
原创 排序算法
冒泡排序用[2,8,6,1]做例子2和8作比较,左小又大,下一个循环;8和6作比较,左大右小,替换值后的数组[2,6,8,1]8和1做比较,左大右小,替换值后的数组[2,6,1,8]依次循环 public static void majorityElement(int[] arr){ for(int i = 0;i<arr.length;i++){ for(int z=0;z<arr.length-i-1;z++){
2021-02-05 15:18:37
74
原创 gateway自定义负载均衡
最近有一个需求,自定义gateway的负载均衡,网上也找了很多的案例,但是不知道为什么都有一个共同的问题。访问服务A,在访问服务B,都是正确的,但是第三次在访问服务A,就会跑到服务B上。所以记录一下。首先定义一个自己的规则类,继承 AbstractLoadBalancerRule,重写 choose方法package com.cloudH.config;import com.netflix.client.config.IClientConfig;import com.netflix.loadbal
2020-12-17 16:20:10
3957
1
原创 gateway实现动态路由
gateway实现动态路由需求说明:项目用gateway做路由,每次修改完规则,都需要重新启动,现在不想重启项目,每次更改完规则就能生效。1.首先新创建一个dtopackage com.cloudH.dto;import lombok.Data;import org.springframework.cloud.gateway.filter.FilterDefinition;import org.springframework.cloud.gateway.handler.predicate.Pr
2020-12-17 14:24:01
1044
1
原创 Gateway配置大全
Gateway配置大全需求说明,由于要做gateway动态更新,但是配置文件都是json的方式进行编写,找了很多资料,最后发现一个很全的链接gateway配置大全,本着学习的态度,抄录一遍。PredicatesPredicates主要起的作用是:配置路由匹配请求的规则Http相关Path配置对于请求路径的匹配规则yml配置,多个参数用逗号隔开- Path = /aa/**,/bb/**json配置{"name":"Path","args":{"pattern":"/aa/*
2020-12-17 14:06:27
5991
2
原创 springBean循环依赖
StringBean生命周期1.spring启动,扫描所有的bean(注解的,xml配置的)放进spring容器中,在容器中将这写bean装换成BeanDefinition对象,放进一个map中2.遍历这个BeanDefinitionMap3.验证,是否懒加载,注入模型是原型还是单例 等等4.验证后得到一个class5.推断这个class的构造方法,一般都是默认构造方法,但是不绝对。6.通过反射对这个class进行实例化7. 提前暴露一个bean工厂对象8. 填充属性 (Autowired
2020-11-02 11:27:16
225
原创 springboot集成Elasticsearch 简单应用
概念索引(Index):索引库,一个Elasticsearch可以有多个索引库 (相当于 mysql 创建的数据库)类型(Type):分组,一个索引库可以有多个分组 (相当于 mysql 的数据表)文档(Document):相当于mysql数据表中的每一行数据字段(Fields):相当于 mysql 字段名称下载并安装 Elasticsearch参考 https://blog.csdn.net/yjclsx/article/details/81302041集成springbootpom文件
2020-08-24 09:44:27
210
原创 Mysql数据库引擎 InnoDB 和 MyISAM 对索引的支持原理
Mysql索引的底层mysql 索引的底层数据结构主要有两种,一种是通过Hash的方式,另外一种是通过Btree的方式。Hashhash表是快速检索数据的有效办法。通过哈希算法,也叫散列算法,把索引列数据变换为固定长度的key地址,然后通过这个地址,找到需要检索的数据。例如 select * from user where id = 1通过 hash算法算出 id=1 的映射物理地址,用这个地址找到 id=1 对应的数据。但是有一种特殊情况,哈希碰撞。比如 id=1 和 id=7 的hash
2020-08-06 13:36:21
254
原创 MongoDB实现简单增删改查
MongoDB菜鸟教程地址MongoDB菜鸟教程地址为什么使用MongoDB1.面想文档存储,BJSON形式数据2.支持丰富的查询功能3.索引可以在任意列建立4.高可扩展性5.易于调试,易于扩展6.使用内存作为工作区,存取效率高Windows MongoDB安装MongoDB下载地址:https://www.mongodb.com/download-center/community可视化界面下载地址:https://www.mongodb.com/try/download/compas
2020-07-31 11:29:56
515
1
原创 手写实现二叉树
手写实现二叉树最近被各种树各种摧残,还好如今挺过来了。今天试着自己写一个二叉树。参考来源: https://zhuanlan.zhihu.com/p/90309039树的节点属性类public class Node { /** * 值 */ int value; /** * 右子树节点 */ Node rightNode; /** * 左子树节点 */ Node leftNode;
2020-07-28 15:10:28
430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人