- 博客(30)
- 收藏
- 关注
原创 在Java中使用Redis的方法
前提可供访问的Redis服务器 可以自己在本地启动虚拟机如何在本地启动一个Redis参考bilibili尚硅谷Redis6SpringBoot项目中需要添加的依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0<
2022-05-10 00:01:02
1224
4
原创 Mybatis多条件In批量查询方法
需要注意的问题在Oracle中in条件不能超过1000个 所以大批量数据需要分批查询Repository中做分批处理1.xml文件<select id="selectByMoIdAndMaterialId" resultMap="BaseResultMap" > select t.a, t.b, t.c ,t.d from tableName t WHERE (t.a,t.b) in <fore
2022-04-23 15:40:22
4421
1
原创 2021-11-15 学习总结
采用事务的方式将数据写入数据库避免多线程导致数据出现不完整的问题。事务失败应当回滚!!!Http 协议会出现的一个bug使用Http协议采用post方法调用Controller时,当请求参数过长时会有这个bug解决方法1.设置Tomcat参数未采用2.减少参数个数...
2021-11-15 22:08:14
434
原创 java值传递、引用传递
什么是值传递、什么是引用传递?看到问题应该去思考一些更原理性的东西,传递过程发生在什么时候?如什么情况是值传递?什么情况是引用传递?1.传递过程发生的时间大多发生在调用方法传递参数的过程中。以java为例,参数分为实参和形式参数。形式参数:在定义函数名和函数体时使用的参数,用于接收调用函数时传入的参数,并定义一个规范,只能传入特定类型的参数才能正常使用这个方法。实际参数:在调用函数时传入的参数。在函数被创建好之后,使用函数需要传入特定类型的参数,而这个传入参数是具有实际意义的,调用函数是为了
2021-11-04 00:03:23
82
原创 java基础-02类变量、成员变量、和局部变量
类变量1.作用于类2.被static修饰3.可以通过类名.变量名使用成员变量1.提供给类方法共同使用,类似于公共参数。2.可以通过对象.变量名使用局部变量1.在方法内声明2.只存在于方法中
2021-11-01 22:38:18
61
原创 KMP算法
KMP算法理解主串:T模式串(匹配串):S主串下标:i模式串下标:jKMP算法的目的和思想目的:检查主串中是否存在模式串,如果存在返回主串的下标。思想:主串:“abefefgefefc”模式串:“efefc”按照暴力匹配的思想需要不断的循环匹配时间复杂度为 n*m而KMP算法希望在匹配到模式串第4个字符f时模式串不再从头开始,而是回退到next[j]==1的位置,降低模式串的循环次数,提高算法效率。读完上一段内容后带来的疑问1.next数组是什么?如何计算?2.算法是如何降低循
2021-10-26 21:40:26
75
原创 开发接口的一般方法1.0
1.梳理业务流开发接口的第一步是了解接口相关的业务流,明确需求,是否需要改变业务流的逻辑、或因为第三方sdk变化导致版本兼容性等问题。2.确定接口需要的参数参数的规定让接口开发更加规范,一般接口需要的参数由接口的开发方提供。通过查阅相关文档,获取需要请求的参数...
2021-10-07 20:30:41
1881
原创 Gateway
1.是什么Gateway 是在Spring 生态系统之上构建的Api网关服务,基于Spring 5 ,Spring Boot 2 和Project Reactor 等技术。通过提供简单而有效的方式来对Api进行路由 以及一些强大的过滤器功能熔断 , 限流 ,重试等2.能做什么1.反向代理2.鉴权3.流量监控4.熔断5.日志监控微服务架构中网关处在什么位置?介于负载均衡与微服务之间起到链接的作用,Gateway 基于异步非阻塞模型进行开发3.Gateway 核心概念1.Route
2021-09-02 23:26:01
325
原创 SpringCloud Sleuth
1.前景微服务中,一个由客户端发起的请求会经过多个不同的服务节点调用协同产生结果,每个请求会形成一个复杂的调用链路,链路中任何一环出现高延时或错误都会引起整个请求最后的失败。2.支持zipkinzipkin是一个可视化的监控平台3.搭建一个Sleuth的项目运行zipkin 的 jar包1.pom文件 <dependencies> <!--包含了sleuth+zipkin--> <dependency>
2021-09-01 21:45:29
79
原创 Zuul路由网关
Zuul路由网关1.是什么Zuul是一种提供动态路由、监视、弹性、安全性等功能的边缘服务。一个基于JVM和服务端的负载均衡器主要的功能包括:代理+路由+过滤2.能干啥路由:过滤:过滤访问服务端的请求负载均衡:网关是整个服务端的入口,由网关与服务器进行交互,所以网关必须要实现负载均衡的功能;通过负载均衡算法来选择访问的服务器3.模块搭建1.POM<dependencies> <!--gateway--> <dependen
2021-08-31 23:28:03
72
原创 Hystrix断路器
1.前景负载分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将失败。雪崩:当发现一个模块下的某个实例是被之后,这个时候这个模块依然还会接受浏览,然后这个有问题的模块还调用了其他的模块,这样就会发生级联故障,又称雪崩2.是什么Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下不会导致整体服务的失败,避免级联故障,提高分布式系统的弹性。断路器 : 当某个服务单元发生
2021-08-29 23:22:12
75
原创 Open Feign
1.Open Feign 是什么Feign 是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。使用方法:定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码和解码器。Spring Cloud 对Feign进行了封装,使其支持了SpringMvc 标准注解和HttpMessageConversters。也可以与Eureka Ribbon组合使用支持负载均衡2.能用来做什么在使用Ribbon+RestTemplate 时利用RestTemp
2021-08-24 23:52:35
189
原创 SpringCloud-Ribbon
1.认识Ribbon是什么基于Netflix Ribbon 实现的一套客户端负载均衡的工具主要功能是提供客户端软件的负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置如连接超时,重试。在配置文件中列出LoadBalancer后面的所有的机器,Ribbon会自动的帮你基于某种规则如:轮询,随机连接去连接这些机器。我们很同意使用Ribbon实现自定义的负载均衡算法能干嘛LoadBalance 是什么即将用户的请求平摊的分配到多个服务上,从而达到系统的高可用常见的负载均衡软件有Ng
2021-08-12 14:52:31
82
原创 SpringCloud-Eueaka
Eureka了解注册中心的一些基本概念有助于理解思想,编程不是单纯的编码,更多的要思考内在的逻辑,编程能力才能更快的提升。1.基础知识服务治理:传统RPC远程调用框架中管理服务与服务之间的调用比较复杂,所以使用服务治理来管理服务与服务之间的依赖关系,实现服务调用,负载均衡、容错等,实现服务的发现与注册。服务注册与发现:启用一个注册中心,用于管理不同服务的信息,比如别名,通信地址。服务提供放将服务以别名的方式注册到注册中心之后,服务的订阅放通过该信息获取实际的服务地址,然后实现RPC调用。Eure
2021-08-12 13:53:26
129
原创 SpringCloud
学习尚硅谷SpringCloud之后做的一些笔记1.微服务架构编码构建在构建代码过程中首先要有一个认识约定>配置>编码以Rest风格建立一个springcloud项目1.cloud-provider-payment8001建立cloud-provider-payment8001修改POM工程文件<dependencies> <!--包含了sleuth+zipkin--> <dependency>
2021-08-10 23:33:38
79
原创 java基础-三大特性与面向对象五大基本原则
Java基础1.java的三大特性java的三大特性主要包括封装,继承,多态多态多态主要包括静态多态和动态多态,这里需要引入重载和重写这两个概念方法重载和方法重写1.是什么方法重写:继承父类的方法之后对该方法有个性化的需求,希望能够让该方法满足自己个性化的需求,只改写方法中的逻辑从而达到输出个性化结果的目的方法重载:希望通过返回值,参数列表,参数顺序。达到一个方法处理多个任务的效果2.怎么实现重写一般在子类继承父类中发生,子类继承父类的方法之后希望能有自己独特的实现比较典型的例子:集合
2021-08-08 18:06:02
103
原创 MySQL高级----索引
1.索引是什么?索引是一种排好序的快速查找数据结构2.使用索引的优缺点有哪些?优点:提高检索的效率,降低数据库的I/O成本,降低数据库的排序成本,降低CPU的消耗。缺点:在建立索引时会需要额外维护一个独立于数据库的索引表需要占据一定的物理空间。进而导致数据库更新数据速度降低。数据库不仅要维护数据库还需要额外维护索引。索引的用途更像是生物里的界门纲目科属种,通过B数实现层层筛选最后精确定位物种的类别。这样不用查阅整个动物图谱去确定物种。3.索引的分类单值索引:一个索引只包含一个列,一个表可能有多
2021-07-19 00:03:59
50
原创 Hadoop 3.x 安装
1.java1.82.hadoop3.x1.配置java环境变量下载好java后将java上传到Linux虚拟机配置环境变量 (有多种方法)在 /etc/profile.d 下创建文件夹my_env.sh插入以下代码#JAVA_HOMEexport JAVA_HOME=/home/master/module/jdk1.8export PATH=$PATH:$JAVA_HOME/bin保存后 source /etc/profile配置java环境变量成功下载hadoop3.x在m
2021-07-16 22:17:35
311
4
原创 java-01
java-01认识java java是一门面向对象的语言,而面向对象与面向过程有很多不同1.面向对象与面向过程的区别 面向对象将任务的实现过程抽象化,交给对象去完成,不在意任务的执行细节一切交给对象去管理。一个对象可以解决多个不同的方法 面向过程更在乎任务的执行细节,执行流程。一个方法完成一个任务。2.java解决问题的方法通过继承关系可以让类具有多样性,继承具有传递关系,但一个类只能有一个父类。类可以继承多个接口,更像是显示生活中一个人只能有一个父亲但可以拥有多种生活技能。不同的类
2021-05-13 22:15:29
94
原创 HashMap
HashMap<>在java中使用HashMap要注意重写hashCode()和equals()方法,用以保证HashMap在使用非基本数据类型时的唯一性。遍历HashMap的常见两种方法private static void demo1(HashMap map){ set set = map.keySet(); for(Object src:set){ system.out.println(src+" "+map.get(src)); }}二prvate static
2020-10-29 00:21:07
44
原创 java内部类
内部类内部类主要分:成员内部类在成员内部类中命名的方式public class Demo1{ public class inner{ system.out.println("我是内部类"); }}当成员内部类中存在重名变量时应该如何区分public class Demo2{ int num = 10; public class inner{ int num = 20; public void method(){ system.out.println(num
2020-10-13 17:27:09
48
原创 Java中的多态
多态一个父类可以被子类创建,子类继承,或实现了父类中的所有方法。在java中,多态是指使用子类对象去创建父类对象一般的使用方法:父类 变量名 = new 子类名();多态的理解:在创建一个新的对象时,调用方法看右边,如果右边类中没有,则会向上寻找方法。在使用成员变量时,会先在左边的类中查找,没有则向上查找父类变量。...
2020-10-13 16:00:23
67
原创 Java中接口的一般注意事项
Java学习总结:接口学习面向对象的程序语言,一些现实中的事务是可以和程序联系起来的。以接口举例:类似于一个插头,电源以自己的方式放电,用电器以自己的方式用电,以接口这个规范来连接这两个事物。类似的还可以据很多例子。在接口中要注意的事项变量接口中的变量的值都是不可以改变的,即是fanal的,而且在定义时就应该给变量赋值抽象方法接口中的抽象方法的命名规则:public abstract 返回值 方法名(参数列表)当子类继承了这个接口时,必须实现该接口的所有抽象方法,否则需要将该类声明为抽
2020-10-11 21:44:55
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人