自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 COBOL 中定义变量

例子:03 VAR PIC AAAAA. VAR变量长度为5个字符,不能有数字,等价于03 STATE PIC A(5)。输入ASDFG ,显示ASDFG03 VAR PIC XXXXX. VAR变量长度为5个任意字符。等价于03 FILLER PIC X(5)。输入123AS ,显示123AS03 VAR PIC 99/XXX/9999 长度11,输入05may2004,显示05/may/200403 VAR PIC 0ABXXX/9999 长度11,输入05may2004,显示05

2022-06-21 16:51:50 1947 4

原创 Hystrix服务熔断和服务降级

Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而避免了

2020-07-19 14:32:50 422

原创 线程和进程的区别

什么是线程和进程?进程一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。线程进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。进程与线程的区别线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),

2020-07-12 14:36:05 371

原创 Eureka自我保护机制

Eureka自我保护机制默认情况下,当eureka server在一定时间内没有收到实例的心跳,便会把该实例从注册表中删除(默认是90秒),但是,如果短时间内丢失大量的实例心跳,便会触发eureka server的自我保护机制,比如在开发测试时,需要频繁地重启微服务实例,但是我们很少会把eureka server一起重启(因为在开发过程中不会修改eureka注册中心),当一分钟内收到的心跳数大量减少时,会触发该保护机制。可以在eureka管理界面看到Renews threshold和Renews(last

2020-07-08 15:44:20 444

原创 SpringCloud简介及与Dubbo的区别

SpringCloud简介及与Dubbo的区别SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。SpringCloud利用SpringBoot的开发硬件性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策

2020-07-05 21:43:06 455

原创 微服务与微服务框架以及优缺点

微服务: 强调的是服务的大小,他关注的是某一个点,是具体解决某一问题/提供落地对应服务的一个服务应用,狭义的看可以看作为eclipse里面的一个微服务工程/或者module ,每一个微服务都可以直接运行。微服务架构:微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调,互相配合,为用户提供最终价值,每一个服务运行都在其独立的进程中,服务与服务之间采用轻量级的通信机制互相协作(通常是基于HTTP协议的restful api)。每个服务都围绕着具体的业务进行构建,并且能够独立的部

2020-07-05 21:33:23 2447

转载 将本地项目上传到Github

将本地项目上传到Github登录githubhttps://github.com/我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可:https://git-for-windows.github.io/1.进入Github首页,点击New repository新建一个项目2.填写相应信息后点击create即可Repository name: 仓库名称Description(可选): 仓库描述介绍Public, Private : 仓库权限(公开共享,私有或指定

2020-07-05 21:30:10 244

原创 SpringBoot使用HiddenHttpMethodFilter后并没有将请求方式修改

今天在使用RestFul 风格对请求的数据进行处理时,由于form表单只支持GET和POST请求,使用<input type="hidden" name="_method" value="put"/>修改请求方式,但是请求依旧是以表单POST的方式进行提交解决方法: 原来是SpringBoot虽然给我们引入了HiddenHttpMethodFilter类进行请求的修改,但是该...

2020-03-09 21:01:13 2127

原创 UDP和TCP的区别

TCP和UDP的区别:TCP和UDP都是传输层协议。TCP(Transmission Control Protocol)是传输控制协议 ,是基于连接的协议,在正式的收发数据前必须和对方建立可靠的连接。TCP建立连接通过三次握手进行连接的建立,具体看前文写到的TCP三次握手。TCP支持的应用协议主要有:Telnet、FTP、SMTP等TCP为了保证不发生丢包,就给每个包一个序号,同时序号也...

2019-10-15 22:37:12 202

原创 HTTP与HTTPS有什么区别?

Http和Https区别:基本概念:Http协议:HTTP协议为超文本传输协议,用来在Internet上传送超文本。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息。Https协议:HTTPS则是 Http协议+SSL协议,SSL依靠证书来验证服务器的身份,并...

2019-10-15 21:15:45 228

原创 TCP/IP 分层及三次握手

TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分 为以下 4 层:应用层、传输层、网络层和数据链路层。把 TCP/IP 层次化是有好处的。比如,如果互联网只由一个协议统 筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分 层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之 后,每个层次内部的设计就能够自由改动了。值得一提的是,层次化之后,设计也变...

2019-10-01 21:39:31 277

原创 Http报文组成及状态码

HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文。HTTP 报文本身是由多行 数据构成的字符串文 本。HTTP 报文大致可分为报文首部和报文主体两块。两者由最初出现的 空行 来划分。请求的发送及响应请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的。...

2019-10-01 21:15:39 460

原创 求字符串最长回文序列

思想 :总共有2n-1 个中间点 n 个 字符 n -1 个字符;取字符串的一个中间点向左右两边扩散,如果左边字符等于右边字符,则是当前截取的字符串回文再继续 left – , right ++ ;查看每个节点的回文是否存在,存在则将该回文保存。后面回文长度和前面的回文长度比较 取最大的回文长度。/** 求字符串最长回文序列 * @author yezhiming *2019...

2019-09-30 22:21:49 368

原创 从上往下打印出二叉树

从上往下打印出二叉树的每个节点,同层节点从左至右打印。class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}方式一:使用两个数组 一个数组存...

2019-09-30 00:02:22 184

原创 数据流中位数

求中位数如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。使用List集合将数据插入,再将集合是用升序排序判断集合中的数个数是奇数还是欧式import java.util.ArrayList;import java.util.Comparator;import java.util.List;/** * @author yezhiming *2019...

2019-09-28 23:17:12 198

原创 linux中服务器调优,诊断思路和性能评估

整机: top查看各个CPU的负载均衡、CPU使用率和memory内存的占用率。uptime 系统性能命令的精简版CPU: vmstat 查看CPU状态信息mpstat -P -ALL 2 查看所有CPU的核信息pidstat -u 1 - p pid 查看每个进程使用cpu的用量分解信息内存: free 查看内存信息硬盘:df磁盘IO:iostat 查看i...

2019-09-28 23:15:12 233

原创 输出所有和为S的连续正数序列

输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序至少包括两个数思路: 可以使用滑动窗口的思想定义快慢2个指针由于是连续的几个数 求和使用等差数列 Sn = (a1 + an )* n /2如果和等于sum 那么把这几个数存放到集合中 否则 进行判断如果比sum小 那么将快指针进行向前移动如果比sum大 那么将慢指针进行向...

2019-09-28 21:39:31 469

原创 生产者消费者模式

先生产后消费实现方法一:使用lock锁机制实现import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; class Data{ volatile int numb...

2019-09-19 11:21:53 149

原创 JUC下CountDownLatch/CyclicBarrier/Semaphore

CountDownLatch 执行 - - 操作允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。CountDownLatch用给定的计数初始化。 await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await 调用立即返回。 这是一个一次性的现象 - 计数无法重置底层使用队列。 public Count...

2019-09-16 16:35:42 195

原创 volatile

volatile是JAVA虚拟机提供的轻量级的同步机制volatile特点:1、保证了可见性2、不保证原子性3、禁止指令重排,保证了有序性JMM(java内存模型)特性:1】可见性2】原子性3】有序性可见性:当一个线程对共享变量的值进行拷贝到自己的工作内存 再进行修改 再写入主内存中之后,会对其他的操作该变量的线程通知,其他线程就知道自己拷贝到自己工作内存的值...

2019-09-16 15:02:34 129

原创 集合

List : List中数据可重复arrayList:底层为数组结构,默认初始化长度为10,扩容规则为1.5倍,第一次扩容为15查询速度快,修改删除效率低。是线程不安全的。linkList:底层为链表结构,添加删除速度快,查询速度慢。也是线程不安全的vector(线程安全):底层为数组,扩容加载为1,第一次扩容长度为20,Vector线程安全,但是效率低,在方法上加了...

2019-09-12 14:33:36 180

原创 内存泄漏和内存溢出的区别

内存泄漏和内存溢出内存泄漏是指一个不再被程序使用的对象或变量一直占据着内存中的空间。java中有垃圾回收机制来保证一个对象不再被引用时,将对象进行回收。java中使用有向图的方式进行垃圾回收关系,例如可达性分析法,使用GCRoot判断对象是否被引用,可以消除对象与对象之间的互相引用,但是却是不再使用的垃圾对象。java内存泄漏的情况有长生命周期的对象引用短生命周期的对象,短生命周期的对象不...

2019-09-09 10:47:42 172

原创 集合的基本概念和区别

CollectionList : List中数据可重复arrayList:底层为数组结构,默认初始化长度为10,扩容规则为1.5倍,第一次扩容为15查询速度快,修改删除效率低。是线程不安全的。linkList:底层为链表结构,添加删除速度快,查询速度慢。也是线程不安全的vector(线程安全):底层为数组,扩容加载为1,第一次扩容长度为20,Vector线程安全,但是效率低,在...

2019-09-09 10:39:05 1029

原创 在WMware虚拟机上安装Linux操作系统及Intel VT问题

安装Linux操作系统在上一篇博客上面分享了安装Linux操作系统的所需要的映像文件我们安装Linux操作系统需要使用该文件打开我们安装的虚拟机点击创建虚拟机选择自定义直接下一步在选择下载好的映像文件全民: 虚拟机的名称(自己定义)用户名不建议使用root 因为root是虚拟机自己创建的最高权限的用户该密码和你最高权限的root 一样 为统一密码点击下一步...

2019-09-03 20:21:05 266

原创 安装虚拟机的流程及容易出现的问题

首先安装虚拟机准备好 VMware虚拟机安装包VMware 虚拟机安装包及其他安装包链接:https://pan.baidu.com/s/1ZkfSTb25AusF7Ty82nWD7g提取码:34il如果有人出现安装wmware12 之前的版本出现安装时无限弹浏览器 又关不掉的可能是该安装包和你的系统不兼容我在安装时就出现了上述问题 安装wmware 12 之前的版本出现系统不兼容,...

2019-09-03 19:52:30 589

原创 linux常用命令

linux 和 windows的区别Linux是一款操作系统,正规开发服务器项目部署都是在linux操作系统上windows是一款操作系统,民用操作系统,娱乐,影音,上网window : 强大的日志记录系统,强大的桌面应用(桌面应用渲染)window使得电脑巨卡linux诞生90年代,仿照unix操作系统linux是免费的,开源的unix是收费的,封闭的linux在逐步替代uni...

2019-09-03 19:31:08 135

原创 JVM内存管理

运行时数据区线程共享区 : 线程共有的区域堆区方法区线程独占区: 每个线程都有自己的一个区域栈区:本地方法栈、虚拟机栈(我们常说的栈区)程序计数器程序计数器: 一块较小的内存空间,他可以看作是当前线程所执行的字节码的行号指示器程序计数器处于线程独占区如果线程执行的是java代码,这个计数器记录的是正在执行的虚拟机字节码指令的地址。如果正在执行的是nati...

2019-08-29 20:56:27 114

原创 八大排序之堆排序

堆排序思想:首先将需要排序的数组放入树中,将树进行大顶堆或者小顶堆排序大顶堆(根节点比左右孩子都大) 小顶堆(根节点比左右孩子节点都小)注:通常大顶堆用于从小到大的排序 小顶堆用于从大到小排序然后将排好序的大顶堆的第一个节点和最后一个节点交换位置 把最后一个节点取出,即为最大数然后将剩下的树再进行大顶堆排序,重复上述步骤,直到最后一个节点完成,堆排序完成。 p...

2019-08-29 20:48:55 367

原创 八大排序之基数排序(2)

基数排序 ——使用队列的方式排序每次把存放在数组中的元素拿出时都是按着顺序拿的,先存放的先拿出,所以可以使用队列来实现。定义10 个队列 0 ——9和前一个一样 ,按照先个位再十位再百位比较添加元素和删除元素只需要调用队列的入队和出队方法//定义一个队列public class Queue { //底层使用数组来实现,使用arraylist更加方便,因为arraylist自身有...

2019-08-28 19:21:22 152

原创 八大排序之基数排序(1)

基数排序 —— 使用二维数组的方式排序思想:找到需要排序的元素中的最大的数 判断有几位数 maxlength先比较元素中的个位,按顺序放入,把个位相同的放到一组,然后按个位0-9的顺序取出,每组中放入和取出的顺序一样把取出后的新的数组再按十位相同的进行排序,把十位相同的放到一组,再按个位0-9的顺序取出,每组中放入和取出的顺序一样一直到最大的数的位数完成分...

2019-08-28 17:20:15 147

原创 GC垃圾回收机制

GC垃圾回收机制对象创建时内存分配首先在 eden 区进行分配 eden区是 垃圾收集器回收内存频率最高的地方 内存分配比例通常为 8:1:1 eden: 8JVM 将对内存分为新生代和老年代而新生代中又会划分为 eden 区, form survivor,to survivor 区。当在 eden 区分配内存不足时,则会发生Minor GCMinor GC:发生在...

2019-08-28 16:03:36 233

原创 八大排序之归并排序

归并排序:使用分治法思想 : 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。使用归并排序最重要的是要使每个合并的部分内的元素都是有序的。将数组从中间分成两部分,再将这两个部分各自分割,直到不能分割,当每个部分都只含有一个元素,而这个元素在自己所在的内部都是有序的,这里使用递归进行分割然后将分割好之后的部分开始进行合并存放到一个临时数组中,再...

2019-08-27 15:27:02 131

原创 八大排序之选择排序

选择排序思想:将数组中的第一个元素的索引作标记index将标记的元素不断和后面的元素比较,如果该元素找到后面的元素比该元素小时则将标记标到这个更小的元素 上不断进行第二步操作,直到到数组的最后一个元素,即找到了最小值把最小值和第一个元素交换然后把数组中的第二个元素的索引作为标记 不断重复以上步骤,则排序完成public class SelectSort { publ...

2019-08-27 10:48:45 138

原创 八大排序之希尔排序

希尔排序内部也是使用了插入排序将数组中的元素通过计算出的步长(增量)进行分组,每次分组步长为array.length/2将自己组内的元素进行比较使用插入排序,大的在后面,小的在前面然后再进行分组 在将上一次的步长/2再进行自己组内的元素比较,重复上面1、2两步直到步长为0public class ShellSort { public static void main(Str...

2019-08-27 10:04:51 152

原创 八大排序之插入排序

插入排序1、 将从第二个元素开始 一直一次和前面的比较,2、 如果比前一个元素值大,则位置不变3、 如果比前一个元素值小,则两者交换位置,再和前一个进行比较4、 每次排序完后前面的数组元素都是有序的5、重复进行以上步骤如下所示: 3,1 ,8,34,93,1,35,34,7,9,6,5第二个元素1---------------- ...

2019-08-26 21:09:04 200

原创 八大排序之快速排序

快速排序通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列public class QuickSort { public static void main(String[] args) { int[] array...

2019-08-26 20:56:19 255

原创 八大排序之冒泡排序

排序算法之冒泡排序思想:步骤1 找最大值 将第一个元素和第二个元素比较,步骤2 取比较后大的元素,再将该元素与第三个元素 比较 重复该步骤,知道比较完后取出最大值步骤3 找出除去最后一个最大的元素,将剩下的元素按以上步骤继续比较 直到 所有元素比较完成public class BubbleSort { public static void main(String[] args...

2019-08-26 20:45:48 719

原创 斐波那契数列

斐波那契数列 1 1 2 3 5 8 13…方式1、 递归算法 消耗时间:3880907nsm为要计算的第m项算法思想: 使用递归public static int getNumber(int m){ if(m == 1 || m == 2){ return 1; } return getNumber(m-1)+getNumber(m-2);}方...

2019-08-26 16:27:42 222

原创 数据库事务的四大特性

数据库事务的四大特性一个设计良好的数据库可以帮我们保证事务具有四大特性(ACID):原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性:如果事务执行之前数据库是一个完整的状态,那么事务结束后,无论事务是否执行成功,数据库仍然是一个完整的状态。数据库的完整状态:当一个数据库中的所有的数据都符合数据库中所定义的所有约束,此时可以称数据库是一个完整的状态...

2019-08-25 13:47:20 381

原创 JavaWeb监听器

监听器:它是一个接口,内容由我们来实现;它需要注册,例如注册在按钮上!监听器中的方法,会在特殊事件发生时被调用!监听器可以分为三种类型:1、监听对象的创建:ServletContext:主要监听servletContext的创建,需要实现ServeltContextListener接口ServletContext生命周期监听: ServletContextListener,它有两...

2019-08-06 09:39:09 996

空空如也

空空如也

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

TA关注的人

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