- 博客(98)
- 收藏
- 关注
原创 elasticsearch -- mapping(动态映射)
ES 官方文档地址Disabling date detection 关闭数据检测Customizing detected date formats 自定义时间格式检测Numeric detection 数值检测开启数值检测(默认情况下是关闭的)
2024-04-08 16:14:59
310
原创 git ssh密钥配置 & 本地项目推送到github
u 或 --set-upstream 选项会设置本地分支 master 跟踪远程分支 master。git commit -m “Initial commit” #将 “Initial commit” 替换为描述您所做更改的适当消息。#将 your-username 和 your-repository 替换为您的 GitHub 用户名和仓库名。ssh-keygen -t ed25519 -C “”ssh-keygen -t rsa -C “”hostName 为域名。
2024-03-28 14:51:14
1179
原创 docker(八)compose
通过前面几篇文章,我们了解了docker的基本知识,docker帮我们解决了服务打包安装的问题,但是随着服务的不断增多带来了如下问题:这时候docker compose的出现,Docker Compose可以做到以下几点:Docker Compose有以下特征:需求:使用docker-compose 搭建一个springboot+redis的项目application.properties 配置文件配置如下:使用maven ==> install 打包springboot项目 上传到服务器
2022-12-07 23:19:14
620
原创 docker(七)SpringBoot集群搭建 Nginx负载
http://ipclient:8081/user/query (SpringBoot默认提供的访问接口)
2022-12-01 10:23:38
795
原创 docker(六) haproxy 负载均衡MySQL集群
ha-proxy是一款高性能的负载均衡软件。因为其专注于负载均衡这一些事情,因此与nginx比起来在负载均衡这件事情上做的更好,更专业。
2022-11-28 23:22:08
429
原创 docker (五) (搭建MySQL数据库集群)
Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下:1).同步复制,事务要么在所有节点提交或不提交。2).多主复制,可以在任意节点进行写操作。3).在从服务器上并行应用事件,真正意义上的并行复制。4).节点自动配置。5).数据一致性,不再是异步复制。Percona XtraDB Cluster完全兼容MySQL和Percona Server,表现在:1).数据的兼容性。
2022-11-25 15:07:00
801
原创 docker (四)(网卡设置、namespace、网络互通)
ip netns list 查看命名空间ip netns add ns1 添加命名空间ip netns delete ns1 删除命名空间ip netns exec ns1 ip a 查看ns1的网卡情况添加命名空间后,实现了网络隔离。
2022-11-20 18:00:01
1993
原创 docker (三)(数据卷、自定义镜像、安装mysql & redis)
指令说明FROM基础镜像,当前新镜像是基于哪个镜像的,有继承的意味MAINTAINER镜像维护者的姓名和邮箱地址RUN容器构建时需要运行的命令EXPOSE当前容器对外暴露的端口WORKDIR指定在创建容器后,终端默认登录的进来工作目录,一个落脚点ENV用来在构建镜像过程中设置环境变量ADD将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包COPY类似ADD,拷贝文件和目录到镜像中。
2022-11-16 15:01:22
474
原创 浅入Spring
Spring 特征:IOC:控制反转不需要我们创建对象,对象的创建交给Spring管理AOP:面向切面Spring实例:单例:Spring构建的时候创建多例:用到的时候创建FactoryBean:包含三个方法:创建实例获取实例类型是否是单例(无论是否是单例,对象都创建都是使用的时候才会用到)possprocessor bean增强Spring 扫描配置排查< context:exclude-filter type=“” expression=“路径”>包
2022-05-17 09:48:13
140
原创 算法求均分
问题: 写一个 1-5 的均分算法代码实现 /** * 1 - 5 均分 * @return */ public static int oneToFiveAverageTest(){ return (int) (Math.random()*5)+1; }测试代码 public static void main(String[] args) { int[] arr = new int[5];
2022-03-26 22:20:35
501
原创 算法 选择排序 冒泡排序 插入排序
测试方法public static void main(String[] args) { int[] arr = {1,3,2,4,5,3,1,54,2,3,4,5,1,0}; System.out.println(Arrays.toString(arr)); //selectSort(arr); //bubbleSort(arr); insertSort(arr); System.err.pr.
2022-03-22 22:50:06
136
原创 java 位运算 & Integer的最大值和最小值
java 如何打印int的32位 public static void get32location(int num){ for (int i = 31; i >=0; i--) { System.out.print( (num & 1<<i) == 0? 0 : 1); } System.out.println(); }
2022-03-19 20:07:58
274
原创 负载均衡算法
负载均衡算法1 轮循 RRRound Robin实现: 循环计数器,挨个循环,当到达阀值时重置2 权重轮循 WRRWeighted Round Robin实现: 1:2 随机数(1–9) 1-3 之间的概率 和 4-9 之间的概率3 最小链接数算法实现: 时间窗口(一段时间内),获得链接数最小的服务器增加链接次数4 原地址散列算法Source Hashing根据来源IP,进行hash计算。原地址不变,目标机器不变。...
2022-01-24 22:04:18
439
原创 Spring 链接 mongoDB
添加pom包 <!-- mongodb支持库 --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.10.10.RELE
2021-09-27 11:09:04
300
原创 ROW_NUMBER和RANK和DENSE_RANK的区别
Sql格式SELECT *,row_number() over(ORDER BY investment desc) as `row_number`,dense_rank() over(order by investment desc) as `dense_rank`,rank() over(order by investment desc) as `rank`FROM investmenttabrow_number 排序值从小到大,依次排列dense_rank 相同数据,并列保存,不
2021-09-13 20:58:44
4313
原创 自定义注解&& 登录校验&& 打印日志
@documented //作用域@Inherited //是否可被子类继承@Target({ElementType.ANNOTATION_TYPE,ElementType.METHOD,ElementType.FIELD}) //适用范围@Retention(RetentionPolicy.RUNTIME) //是否在运行时被VM保留适用案例: 登录校验定义一个注解@Documented@Retention(RetentionPolicy.RUNTIME)@Target({Elem.
2021-06-27 16:47:46
122
原创 @ConfigurationProperties 和 @value 的区别
先模拟一个对象 @Data @Service @ConfigurationProperties(value = "person") public class Person { private String name; private Integer age; private String sex; private List<String> likes; }写配置文件我写的是application.yaml文件..
2021-06-27 16:31:59
83
原创 算法之----三角形最小路径和
三角形最小路径给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。三角形数据结构22 34 5 67 8 9 10这个问题跟上一篇路径问题类似,求最短路径和每一个节点取可选路径的最小值即可public static void main(String[] args) { int[][] a = {{
2021-06-13 20:07:40
151
原创 算法之 --路径问题
路径题目1一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?剖析问题的重点机器人只有向下移动机器人只能向右移动最小单元格为例: 每一个格子的路径数量为 上一个+左一个的数量之和知道了这个规则,就简单多了,从最小的格子开始扩散,扩散到你的目标格子即可public static int uniquePa
2021-06-13 16:50:36
435
原创 算法之 --- 背包01版+ 挖金矿问题
背包问题:有一个包和n个物品,包的容量为m,每个物品都有各自的体积和价值,问当从这n个物品中选择多个物品放在包里而物品体积总数不超过包的容量m时,能够得到的最大价值是多少?[对于每个物品不可以取多次,最多只能取一次,之所以叫做01背包,0表示不取,1表示取]挖金矿问题有一个国家,所有的国民都非常老实憨厚,某天他们在自己的国家发现了十座金矿,并且这十座金矿在地图上排成一条直线,国王知道这个消息后非常高兴,他希望能够把这些金子都挖出来造福国民,首先他把这些金矿按照在地图上的位置从西至东进行编号,依
2021-06-13 10:44:30
285
原创 idea git 回滚代码
下面这个是我提交的代码三个版本右键项目==>Git==>Show History选择你要回滚的版本 ps 版本1右键选中 ⇒ copy Revision Number (版本标识)重新右键项目⇒ GIt ⇒ Repository ⇒ Reset Head点击reset 回滚代码这时候 看到代码回滚到版本1的内容这里还没有完,重点部分这里只是你本地代码回滚,远端代码还没有变增加一行无用代码,使分支有变更可以commitcom..
2021-06-08 14:33:06
263
原创 redis的分片机制 && 代理机制
redis 的分片机制根据业务逻辑进行数据拆分redis1 提供订单查询 redis2 提供用户查询当用户数据量太大时,一台redis不能全部存储对 redis的key进行计算取模(取模数为你redis的机器数量)缺点:取模数是固定的,不易于扩展(当三台机器不够了,需要扩展到十台,需要重新计算,考虑老数据查询问题)使用环形hash的方式重点是计算hash的方式优点:增加节点,可以分担其他节点的压力,不会造成全局洗牌缺点:新增节点后,会造成一部分数据不能命中(原
2021-04-24 12:46:20
256
原创 Redis AKF && CAP 集群知识
redis 单机问题:单点故障容量有限抗压不足AKFX轴 镜像数据(所有数据一致)Y轴 根据业务进行数据拆分(订单信息,用户信息,商品信息等)Z轴 同一业务数据量太大,再根据逻辑进行拆分(ID取模拆分)X: 全量 镜像Y: 业务 功能Z: 优先级 逻辑再拆分 (根据规则相同数据再拆分)redis如何保证数据一致性第一种,强一致性,客户端保存数据到主,主阻塞等待同步数据到子结束,都成功后,返回客户端,破坏了服务的可用性。第二种,异步操作,虽然主返回数据很快,但是子失败了,
2021-04-18 22:54:32
224
2
转载 Java深入理解深拷贝和浅拷贝区别
拷贝分为两种:引用拷贝 --浅拷贝public class QuoteCopy { public static void main(String[] args) { Teacher teacher = new Teacher("riemann", 28); Teacher otherTeacher = teacher; System.out.println(teacher); System.out.println(otherT
2021-03-24 22:16:59
169
原创 为什么重写了equals()方法还要重写hashCode()方法
== 比较java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号(==),比较的是他们的值。2.引用类型(类、接口、数组)当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。对象是放在堆中的,栈中存放的是对象的引用(地址)。先看下虚拟机内存图和代码:eq
2021-03-24 22:01:31
126
转载 BIO NIO AIO 多路复用
先来说说四个概念:同步 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。异步异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。阻塞阻塞就是发起一个请求,调用者一直等待请求结果返回,也就是当前线程会被挂起,无法从事其他任务,只有当条件就绪才能继续。非阻塞非阻塞就是发起一个请求,调用者不用一直等着结果返回,可以先去干其他事情。是不是还有点模糊,通
2021-03-24 17:33:27
332
原创 redis 的事务
先来说说什么是事务:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。redis 相关的命令:MULTI 开启事务标记一个事务块的开始。 随后的指令将在执行EXEC时作为一个原子执行。EXEC 执行事务执行事务中所有在排队等待的指令并将链接状态恢复到正常 当使用WATCH 时,只有当被监视的键没有被修改,且允许检查设定机制
2021-03-14 11:40:42
74
原创 java 发送 https 请求 get / post
发送Get请求:请求代码 //请求地址 String url = ***/***/***"; //入参组装 Map<String, String> map = new HashMap<>(); map.put("categoryId", categoryId.toString()); String data = HttpClientUtil.sendGet(url, map);
2021-02-23 14:51:52
786
1
原创 利用Spring的AOP拦截post方法
@Component 依赖注入@Order(1)注解@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响;@Asoect@Aspect:作用是把当前类标识为一个切面供容器读取@Pointcut:Pointcut是植入Advice的触发条件。每个Pointcut的定义包括2部分,一是表达式,二是方法签名。方法签名必须是 public及void型。可以.
2020-11-24 23:01:57
1450
1
原创 工厂模式
工厂模式简单工厂定义一个工厂抽象类形容词用接口 名词用抽象类实现两个不同的实现类食物类public abstract class Food { public abstract void eating();}public class FoodBread extends Food{ @Override public void eating() { System.out.println("吃个小面包...."); }}public c
2020-11-22 17:04:57
88
原创 线程池的使用 有返回值 无返回值
线程池需要返回值线程池的创建ThreadPoolExecutor threadPool = new ThreadPoolExecutor(10, 10, 500, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<>(20), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());public List
2020-10-10 16:28:41
1230
原创 策略模式
策略模式场景:当我们有猫这个对象时,需要根据猫的属性进行排序(比如根据体重排序)猫有两个属性 身高 提供implements Comparable 实现一个比较方法代码实现根据体重进行排序 comparateTo(Cat a)public class Cat implements Comparable<Cat> { private Integer weight; private Integer height; @Override pub
2020-09-26 17:38:33
96
1
原创 五种单例模式
本章提供五种单例模式一 饿汉式类加载到内存后,就实例化一个单例,JVM保证线程安全唯一缺点:不管用到与否,类装载时就完成实例化public class SingletonModel1 { private static final SingletonModel1 singletonModel1 = new SingletonModel1(); private SingletonModel1(){} public static SingletonModel1 get
2020-09-25 14:45:09
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人