Spring Cloud Eureka源码分析---服务注册
本篇我们着重分析Eureka服务端的逻辑实现,主要涉及到服务的注册流程分析。 在Eureka的服务治理中,会涉及到下面一些概念: 服务注册:Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如 IP 地址、端口、运行状况指标的URL、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信息存储在一个ConcurrentHashMap中。 服务续约:在服务注册后,Eureka Client会维护一个心跳来
05 【创建型】原型模式 理解克隆对象~
原型模式(克隆对象) 用于创建重复的对象,用克隆对象的方式代替new 关键字的使用。 就好比细胞分裂,最开始的一个细胞通过自我复制,分裂成两个。两个分裂成四个,依次指数增长 这里就涉及到一个概念,就是创建重复的对象,就好比细胞分裂的时候就是在重复创建对象,我们可以让对象实现Cloneable接口 通过父类的clone() 方法进行创建相同的对象,这里的相同是指有相同的属性,但是他们在内存中却有不同的引用存在 代码理解 对象实现Cloneable 重写父类的clone方法 public clas
力扣算法——139WordBreak【M】
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. Note: The same word in the dictionary may be reused multiple
DataGrip软件Mysql连接失败Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.
Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. 很显然,翻译成中文就是时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。 在mysql的命令模式下,输入: set global time_zone='+8:00'; 再次连接
Java中的sort
Java中对集合排序有两种方式 Comparable和Comparator public static <T> void sort(List<T> list); 将集合中的数据按照默认规则进行排序 (我们在自己的类里面实现Comparabl接口方法compareTo)
public static <T> void sort(List<T> list, Comparator<? super T>); 将集合中的数据按照指定规则进行排序 1 /**
2 * @author gw
3 *
vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案
# vue 首次加载缓慢/刷新后加载缓慢 原因及解决方案 最近做项目发现一个问题,页面每次刷新后加载速度都非常慢,20s左右,在开发环境则非常流畅,几乎感觉不到,本文参考望山的各种方案优化 1,关闭打包时生成的map文件 在config/index.js文件中讲productionSourceMap设置为false,再次打包便没有了map文件 2,vue-router路由懒加载 懒加载的实现方式有很多种,这里简单说三种实现方法 vue异步组件 import() webpack的require.
windows电脑ssh连接安卓termux
最近跟风一个优秀的同事玩起了termux,明明一个简单的ssh,搞了我两天,差点崩溃 一怒之下,觉得很有必要写一篇博客警醒自己 初期,在某某荚下载了高级终端,然后跟着教程配置(https://www.freebuf.com/geek/170510.html) termux换源,通过命令:vi $PREFIX/etc/apt/sources.list,:wq!保存退出即可 termux升级:pkg update 然而!!!安装东西总是出现404,这让我很不爽,重装几次依然如此 好在,第二天换了酷
并发编程~~~多线程~~~线程queue, 事件event,
一 线程queue 多线程抢占资源,只能让其串行. 互斥锁 队列 import queue
q = queue.Queue() # 先进先出
q = queue.LifoQueue() # 先进后出
q = queue.PriorityQueue() # 优先级队列
q.put((1,'小虎'))
q.put((3,'大黑'))
q.put((2,'李业'))
print(q.get())
print(q.get())
print(q.get()) 二 事件event 开启两个线程,一个线程运
异常-ERROR yarn.ApplicationMaster: User class threw exception: java.sql.SQLException: Communications link failure
1 详细异常信息 ERROR yarn.ApplicationMaster: User class threw exception: java.sql.SQLException: Communications link failure
The last packet successfully received from the server was 18,973 milliseconds ago. The last packet sent successfully to the serve
Springboot整个Junit
SpringBoot整合junit 主要分为4步 添加依赖 创建测试类 在测试类上添加注解 在测试类注入测试对象 1:导入依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 2:创建测试类 3:在测试类上添加注解并注入测试对象 测试类上
乐观锁?悲观锁? 这篇文章告诉你该怎么选择
1. 乐观锁 乐观锁顾名思义就是在操作时很乐观,认为操作不会产生并发问题(不会有其他线程对数据进行修改),因此不会上锁。但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS(compare and swap)算法实现。 简单理解:这里的数据,别想太多,你尽管用,出问题了算我怂,即操作失败后事务回滚、提示。版本号、CAS这2种方法本质上是一样的:假如满足条件,做你想做的事,条件判断是原子的或者是快速的,耗时几乎不计。 1.1 版本号机制 1.1.1 实现套路: 取
Webpack 核心开发者 Sean Larkin 盛赞 Vue
dev.io 近日邀请了 Webpack 核心开发者 Sean Larkin 回答开发者提问,其中几个问提比较有意思,和掘金的小伙伴们分享一下。 先上点前菜: 有一个开发者问 Sean 如何成为一个热门项目的核心作者。Sean 没有一上来就说该做什么,而是先告诉提问者需要明确自己是否对该项目有足够的激情,是否喜欢该项目及该项目的用户。然后才说想成为一个项目的核心作者需要用各种方式获取项目维护团队的信任。 At the end of the day if I can change one per
用GitLab Runner自动部署GitBook并不难
相信很多程序员喜欢用 GitBook 来写电子书、教程或者博客,看了不少文章,貌似都缺少说明如何将 GitBook 部署到版本库,并自动在服务器上 build,然后将生成的静态网站部署到云服务器上。 所以,今天就记录下我是如何一步步将 GitBook 发布到自己的云服务器上的。 首先需要借助的工具有: GitBook GitLab GitLab Runner Nginx 云服务器 (如:阿里云服务器) Docker 域名 本地开发 很多教程都写过如何在本地初始化 GitBook 开始写文档。这
Markdown 随记
Overview: [Markdown是一种轻量级的「标记语言」]通常为程序员群体所用,目前它已是全球最大的技术分享网站 GitHub 和技术问答网站 StackOverFlow 的御用书写格式。Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 vs wiki: 语法有点像,但是作用不同。 编辑器: markdownpad: 支持windows:感觉有点简陋,号称windows平台最好的。 http://www.markdow
建议各位亲使用LocalDateTime而不使用Date哦
在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗 通过阅读本篇文章你将了解到: 为什么需要LocalDate、LocalTime、LocalDateTime【java8新提供的类】 java8新的时间API的使用方式,包括创建、格式化、解析、计算、修改 为什么需要LocalDate、LocalTime、LocalDateTime Date如果不格式化,打印出的日期可读性差 Tue Sep 10 09:34:04
如何用 putty 连接远程 Linux 系统
如何用 putty 连接远程 Linux 系统 Putty 简介 Putty 是一个免费的、Windows x86 平台下的 Telnet、SSH 和 Rlogin 客户端,但是功能丝毫不逊色于商业的 Telnet 类工具。 随着Linux在服务器端应用的普及,Linux 系统管理越来越依赖于远程。在各种远程登录工具中,Putty 是出色的工具之一。 用它来远程管理 Linux机器 十分好用,其主要优点如下: ◆ 完全免费; ◆ 在Windows 9x / NT / 2000下运行的都非常好;
DVR和NVR的区别(深度好文)(转)
DVR接模拟摄像机,NVR是接IP camera的录像机. DVR的录像效果取决于摄像机与DVR本身的压缩算法与芯片处理能力,而NVR的录像效果则主要取决于IPcamera,因为IPcamera输出的就是数字压缩视频,视频到达NVR时,不需要模数转换,也不需要压缩,只管存储,当要显示与回放才需要解压缩。 一、DVR说明 DVR即是Digital Video Recorder(也叫:Personal video recorder即PVR)——数字视频录像机或数字硬盘录像机,我们习惯上称为
Linux7/Centos7用户密码安全
当Linux7/Centos7的用户root密码常用如下方式找回密码: 第一步:按e键进入内核启动页面如下: 第二步:在linux16一行LANG=zh_CN.UTF-8后面加rd.break console=tty0 然后按ctrl+x组合键 第三步:按ctro+x后进入系统的紧急救援模式,如下图: 第四步:输入以下命令: #mount -o remount,rw /sysroot #chroot /sysroot #passwd ####修改root密码 #touch /.autorela
今日推荐
周排行