自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 微服务学习-SpringCloud -Nacos (集群及CP架构相关学习)

当Nacos在集群模式下,需要对客户端的机器检查心跳,维护心跳,那么需要集群中的每台机器都去检查心跳吗?所以再看上面的代码,当有服务进行健康检查时,执行到这个方法,取模以后发现负责心跳检查的服务并不是当前服务,那么直接退出。这块就相当于,一个写请求进来,发现这个节点不是leader节点,那么它就会把这个请求进行转发,转发给leader节点。之后就是刚刚的后续操作,拿到后遍历查看票数,如果大于半数,设置自己为leader。再往下是两个任务,第一个是主节点的选举,第二个是心跳任务。我们从这个方法开始看起,

2023-04-18 23:13:41 656

原创 微服务学习-SpringCloud -Nacos (心跳机制及健康检查源码学习)

微服务在启动注册Nacos时,会创建一个定时任务,定时向服务端发生自己的心跳。发送到服务端后,服务端会更新此实例的心跳时间为当前时间。Nacos服务端在创建注册表时,会同时创建一个定时任务,定时检查服务心跳,如果服务超过15秒没有心跳,会将它的状态设置为false,当超过30秒没有心跳时,会删除实例。删除实例时,会发送DELETE请求进行删除,删除完成后,会向客户端推送最新的注册表,如果推送失败,那么客户端也可以通过定时拉取获得最新列表。

2023-04-12 23:03:15 1717

原创 微服务学习-SpringCloud -Nacos (服务发现源码学习)

第二种主动推送的方式是使用了UPD的方式,是不可靠的,有可能发生丢包。所以通过第一种定时拉取方式来进行兜底,即使主动推送失败了,也可以通过定时拉取的方式完成更新。我们进入 this.scheduleUpdateIfAbsent(serviceName, clusters)方法。它里面又会去调用queryList方法查询最新的列表,然后更新到本地。Spring的事件发布,发布了这样一个数据变化的事件。通过UPD的方式发送给客户端完成更新。然后调用updateIPs方法,

2023-04-09 21:50:51 755

原创 微服务学习-SpringCloud -Nacos (服务注册源码学习)

ephemeral前面我们了解过,是否是临时实例,默认传true,所以一般返回 buildEphemeralInstanceListKey(namespaceId, serviceName)这个结果,所以这里主要是区分nacos是AP还是CP架构的地方。将service数据写入serviceMap后,创建临时实例的方法就结束了,现在我们代码回到创建临时实例createEmptyService处继续向下走,然后再判断一次注册表中是否有service,此次没有的话就会抛出异常。后面会重点讲一下AP和CP架构。

2023-04-08 21:33:43 860

原创 微服务学习-SpringCloud -Nacos (配置文件)

两个都配置时,优先使用非默认的。

2023-04-02 14:34:13 264

原创 微服务学习-SpringCloud -Nacos (单机部署)

因为此时调用需要使用LoadBalanced进行负载均衡,因为实际使用中机器不止一台,需要根据策略进行负载,所以需要加LoadBalanced。使用了nacos注册中心后,修改为对应的服务名即可,调用方不感知被调用服务的ip:端口。此时调用时会报UnknownHostException错误。RestTemplate加@LoadBalanced注解。打印如上内容时,说明服务已注册成功。没有使用注册中心时,请求需要加对应的IP:端口。

2023-04-01 21:50:21 449

原创 集合之CurrentHashMap 1.7总结

CurrentHashMap 1.7 总结

2023-03-26 22:07:16 469

原创 集合之HashMap 1.7总结

HashMap 1.7总结

2023-03-25 22:41:37 545 1

原创 集合源码学习-LinkedList

特点:底层是双向链表,在增加或删除元素时,只需要断开连接点两边的引用即可,所以增删快,但是查询需要遍历,所以查询慢。LinkedList比ArrayList更占用内存,它维护了两个引用。源码:add()//示例LinkedList l = new LinkedList();l.add("3");l.add("5");//新增元素public boolean add(E e) { //第一次add e=3 linkLast(e); return true;}

2021-05-25 23:29:02 105

原创 集合之ArrayList总结

基础知识: 1,ArrayList 是 java 集合框架中比较常用的数据结构,**继承自 AbstractList,实现了 List 接口**。 ,2,底层采用数组实现。 3,ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。 特点: 1,值可重复; 2,插入元素有序; 3,允许存在null值; 4,查询效率高。源码分析初始化时定义的部分参数://初始化默认集合个数private stati

2021-05-23 22:25:17 186 1

原创 linux查看进程号,并kill进程号

1,查看用户下进程ps -ef | grep $USER2,查看指定进程ps -ef | grep xxx.log | grep -v grep3,查看指定进程数ps -ef | grep xxx.log | grep -v grep | wc -l4,查看指定进程号ps -ef | grep xxx.log | grep -v grep | awk ‘{print $2}’5...

2019-05-16 12:52:49 19985

原创 layui框架学习(1)-简介

本次项目中使用了layui框架,所以去学习了一下,感觉还可以。所以来总结一下。 官网地址:https://www.layui.com/ 后台模版:https://www.layui.com/admin/ Git地址:https://github.com/sentsin/layui/ 什么是layui框架? layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI...

2018-08-22 09:18:51 2462

原创 自己总结的Git常用命令

1,创建版本库: mkdirlearngitmkdirlearngitmkdir learngit cd learngit $pwd //用于显示当前目录,Windows下注意路径不要含中文2,把目录变成git可以管理的仓库 $git init3,把文件添加到仓库(创建一个readme文本,放入仓库目录中) $git add readme.txt...

2018-06-26 15:02:47 144

原创 linux基本命令

tail -n 20 filename 显示filename最后20行 head -n 10 test.log 查询日志文件中的头10行文件 head -n -10 test.log 查询日志文件除了最后10行的其它所有文件 grep 在文本中查找某个字符串 sed -n ‘5,10p’ filename 查看文件的第五行到第十行 cat filename 显示整个文件 cat &...

2018-06-10 12:47:12 226

转载 初级程序员面试题总结(二)-linux基本命令:

常用指令ls   显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)cd 切换目录touch 创建...

2018-06-08 16:09:43 465

原创 初级程序员面试题总结(一):

本人将这几天面试的题目总结一些,如果出现错误请指正,谢谢。 1,谈一谈spring。 答:spring是为java程序开发提供的综合性的基础java开发平台,它提供了从表现层SpringMVC到业务层Spring再到持久层springData的一套完整的解决方案。spring的核心有两大块,第一块是AOP,面向切面编程,它将程序与业务分离,集中来解决一些公共问题。第二块是IOC,控制反转,由容...

2018-06-08 15:55:28 7707 2

原创 使用java语言和递归算法算出1加到100

结果为5050

2018-06-05 11:09:11 8377

转载 jsp 九大内置对象和其作用详解

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception1、request对象request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数...

2018-05-25 10:47:42 162

原创 Java实现发送短信验证验证码功能(下篇)

现在接上篇内容。 5,编写一个验证码验证测试类backMsg.java 此处的手机号为你发送验证码的手机号,验证码为你收到的验证码。 此处验证码验证结束。如果想整合到ssm框架中也很简单,直接上图: login.jsp 点击发送短信后,通过ajax先执行发送短信的方法,使用前记得引用jQuery包。 待填写验证码后,点击提交,进入到controller验证,成功则登录,...

2018-05-23 17:57:42 372

原创 Java实现发送短信验证验证码功能(上篇)

短信测试平台:网易云信。链接地址:https://netease.im/ 。 jar包:httpcore-4.4.3.jar, httpclient-4.5.1.jar Maven: com.alibaba fastjson 1.2.47 <!-- https://mvnrepository.com/artifact/...

2018-05-23 17:40:58 3077 2

原创 新手学习之路1-HTML

刚学习了HTML,抓紧时间来总结一下: 1,什么是HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language)。 超文本就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 2,相关标签 (1)字体、字号 标题标签- (2)图像标签 3,表格基本语法 ...

2018-03-14 21:02:25 190

原创 冒泡排序算法

//冒泡排序 public class demo{public static void main(String [] args){ int [] array = {1,5,3,8,9,23,51,22}; for(int i=0;i<array.length-1;i++){ for(int j=0;j<array.length-1-i;j++){ if(arra

2017-11-21 14:04:52 165

原创 一维数组的常见查找法

//直线查找法int[] array= {10,20,30,40,50};System.out.println("请输入要查找的数:");Scanner scanner = new Scanner(System.in);int number = scanner.nextInt();int index = -1;for(int i=0;iif(array[i]==numb

2017-11-16 15:39:45 1958

原创 小白之路—杨辉三角

package My;public class Demo {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub      int [][]yh=new int[9][];      for(int i=0;i   

2017-11-01 21:37:23 165

原创 求1到100的素数,并求所需时间。

package Demo;public class Work2 {public static void main(String[] args) { //标记一个整数的约数的数量 boolean flag=true; //毫秒数 long begin=System.currentTimeMillis(); //从2循环到i-1,检验每一个数是否为i的约数

2017-10-26 11:09:50 843

Maven+SSM+Oracle+上传+分页显示的小系统

数据库为oracle11g,jdk版本为8u11. 这个小项目是MAVEN搭建的,使用了SSM框架,项目中包含了分页,多表联查,图片上传,多用户登录等功能,适用于新手瞅瞅,老鸟请飘过,如果无法运行,请留言。 我是用idea写的,如果ecplise出现错误,请耐心调试。

2018-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除