自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (18)
  • 收藏
  • 关注

原创 二、Eureka服务注册与发现

Eureka虽然已经停更进入维护阶段,但是依旧不能阻挡大家想一睹芳容的心,归根结底还是太优秀,打败天下无敌手~现在不管是啥,都得有背景,连写个文都要有背景 (╥╯^╰╥),当然这些都是题外话,下面进入正题...

2020-12-04 22:28:54 1620 4

原创 Failed to start LSB: Bring up/down

很多朋友在使用centos7系统时,有时候需要分配多个IP地址,这就涉及到修改网卡配置,但是在修改完网卡配置时,重启网络服务时会出现“Failed to start LSB: Bring up/down”网络报错,这个应该应该怎么解决呢?其实使用提示命令systemctl status network.service进行查看可以发现错误行:network.service – LSB: Bring up/down networking Loaded: loaded(/etc/rc.d/init.d/n

2020-10-30 23:12:09 1676 3

原创 Mysql事务隔离级别

1.1 锁的分类从性能上分为乐观锁和悲观锁1.1.1 乐观锁通过版本控制来实现:在表中加个字段,每次操作完成之后对版本进行更新。解决了多个线程同时操作时数据覆盖的问题,在性能上稍快1.1.2 悲观锁多个线程同时执行时,实际上是有个等待的过程,后面到的线程需要等待前面的资源执行完成,在性能上稍差从对数据库操作的类型分:读锁和写锁从粒度:表锁和行锁读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响写锁(排它锁):当前写操作没有完成前,它会阻断其他写锁和读锁1.2 三把锁1

2020-07-05 11:49:16 2818

原创 策略枚举的实现

策略模式与枚举结合,简化代码结构,提升可读性

2022-10-22 14:44:13 392 1

原创 Google-Authenticator双因子认证

Google-authenticator是基于时间的一次性密码算法(TOTP)是一种根据预共享的密钥与当前时间计算一次性密码的算法。它已被互联网工程任务组接纳为RFC 6238标准[1],成为主动开放认证(OATH)的基石,并被用于众多多重要素验证系统当中。TOTP是散列消息认证码(HMAC)当中的一个例子。它结合一个私钥与当前时间戳,使用一个密码散列函数来生成一次性密码。由于网络延迟与时钟不同步可能导致密码接收者不得不尝试多次遇到正确的时间来进行身份验证,时间戳通常以30秒为间隔,从而避免反复尝试。在

2021-06-30 09:55:49 2683 1

原创 Win7 计算机中丢失api-ms-win-core-path-|1-1-0.dll

背景:win7安装软件时提示:无法启动此程序,因为计算机中丢失api-ms-win-core-path-|1-1-0.dll问题原因:缺少api-ms-win-core-path-|1-1-0.dll解决方式:下载dll并放到指定路径下载地址:https://cn.dll-files.com/api-ms-win-core-path-l1-1-0.dll.html放置路径:C:\Windows\System32\ ...

2021-04-30 15:47:37 102064 20

原创 Redis基础命令使用常见问题(持续更新)

建议练习使用redis通过docker安装,简单便捷1、存储中文字符串,在获取时显示为16进制,只需要在redis-cli添加–raw即可docker exec -it 4e6ac9d88a0c redis-cli --raw2、

2021-04-13 20:48:59 269

原创 Java类加载机制

1、类加载过程类加载:类加载器将class文件加载到虚拟机内存加载:在硬盘上查找并通过IO读入字节码文件连接:执行校验、准备、解析(可选)步骤校验:校验字节码文件的正确性准备:给类的静态变量分配内存,并赋予默认值解析:类装载器装入类所引用的其他所有类初始化:对垒的静态变量初始化为指定的值,执行静态代码块2、类加载器种类引导类加载器:负责加载JRE的核心类库,如jre目标下的rt.jar,charsets.jar等扩展类加载器:负责加载JRE扩展目录ext中的JAR类包系统

2021-01-30 23:51:25 261

原创 六、Hystrix服务降级与熔断

卑微程序员:各位客官,走过看过,不求三联,只需点赞SpringCloud系列目录:一、SpringCloud简介二、Eureka服务注册与发现三、Eureka注册与发现之Eureka Comsumer四、Eureka、Server Provider集群配置五、Ribbon和OpenFeign六、Hystrix服务降级与熔断一、前言  当今环境下分布式已是当今系统架构的发展方向,但分布式同样面临着许多的问题。本文将从分布式系统面临的问题、解决方案、能解决哪些问题,并结合代码去演示.

2021-01-24 23:01:55 327

原创 Hystrix常用熔断参数

@HystrixCommand(fallbackMethod = "str_fallbackMethod", groupKey = "strGroupCommand", commandKey = "strCommard", threadPoolKey = "strThreadPool", commandProperties = { //设置隔离策略,THREAD表示...

2021-01-24 13:35:15 3129 6

原创 == 和 equal()

==基本数据类型比较的是值引用数据类型比较的是地址equals()equals()是Object类的方法,所有的类都继承自ObjectObject类型定义equals()方法比较的是两个引用所指向的地址,所以如果一个类没有重写equals()方法,使用equals()方法的就是比较两个引用所指向的对象的地址。如果要比较两个对象中的属性是否相同,就需要重写equals(),比如我们知道的String就是已经重写了该方法String类中重写的equals()代码如下所示:public

2021-01-15 08:44:09 280

原创 CrashLoopBackOff

大晚上改代码着实非常的懵逼~CrashLoopBackOff :Kubernetes试图启动该Pod,但是过程中出现错误,导致容器启动失败或者正在被删除。问题描述:问题原因:大都数情况下是代码的问题定位问题:1)首先查看pod的状态是否是正常:kubectl describe pod 实例名称2)查看日志kubectl logs -f 实例名称解决方式查看pod的log信息定位问题,比如这个问题就很清晰,实例初始化失败。。。。。...

2021-01-10 00:33:27 30679

原创 String常考知识点一

给出如下代码的结果public class StringDemo{ private static final String MESSAGE="taobao"; public static void main(String [] args) { String a ="tao"+"bao"; String b="tao"; String c="bao"; System.out.println(a==MESSAGE); System.out.println((b+

2021-01-05 22:11:29 272

转载 RocketMq设计原理

设计(design)1 消息存储消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从RocketMQ的消息存储整体架构、PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三方面来分别展开叙述。1.1 消息存储整体架构消息存储架构图中主要有下面三个跟消息存储相关的文件构成。(1) CommitLog:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容,消息内容不是定长的。单个文件大小默认1G ,文件名长度为20位,左边补零,剩余为起始

2020-12-30 22:26:52 636

原创 五、Ribbon和OpenFeign

Ribbon是什么Ribbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件Ribbon 可以用来做客户端负载均衡(简单轮询、随机连接),调用注册中心的服务Ribbon的使用需要代码里手动调用目标服务,请参考官方示例:https://github.com/Netflix/ribbonRibbon能做什么LB(负载均衡)集中式LB(在服务的消费方和提供方之间使用独立的LB设施,又该设置负责把访问请求通过某种策略转发给服务的提供方)和进程内LB(将LB逻辑集成到消费方,消费方从

2020-12-20 21:38:55 940

原创 Error creating bean with name ‘dataSource‘

1、背景:  今天在测试Dockfile的时候,新建了一个hello world项目,pom中的依赖,直接从原有的项目中copy过来的,也没有仔细看其中包含的依赖有哪些;结果在启动的时候出现如下问题:2、问题描述:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2020-12-11 09:22:32.109 ERROR 10

2020-12-11 09:42:33 13991

原创 四、Eureka、Server Provider集群配置

正在更新中

2020-12-08 22:06:38 1128 1

原创 三、Eureka注册与发现之Eureka Comsumer

正在码字中

2020-12-05 23:36:23 1320

原创 Markdown常用标签

1、图片居中显示<center> <img style="border-radius: 0.3125em; box-shadow: 0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);" src="图片链接"> <br> <div style="color:orange; border-bottom: 1px solid #d9d9d9; d

2020-12-04 22:42:05 1560 1

原创 一、SpringCloud简介

话说已经好久没有更新了,趁着周末肝几篇@~@回归正题:在介绍SpringCloud之前先说一下SpringBoot和微服务一、微服务微服务是什么  简单来说,微服务就是一种思想。为什么要用微服务 单体应用在面对需求变化大、用户群体大,并发高的情况下弊端比较明显,版本迭代复杂,扩展不够灵活,应对外界环境的能力弱。微服务思想应运而生(比较正式。。。。)什么是微服务 就是将单体服务拆分成一组小型服务。拆分完成之后,每个服务都在一个独立的进程中(这里比较流行的是容器概念),服务与服务之间采用轻量级的

2020-12-04 21:55:58 1597

原创 Failed to determine a suitable driver class——SpringCloud常见问题

问题背景:SpingCloud在启动Eureka服务时报如下错误:`在这里插入代码片Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.2020-11-13 16:18:34.509 ERROR 10004 — [ main] o.s.b.d.LoggingFailureAnalysisReporter :

2020-11-15 22:46:59 1785

原创 IDEA2020 Dashboard设置

相较于以前的idea版本,Dashboard做过相应的调整,最主要的是名称变了。。。。。。1)显示方式:view—> Tool Windows—>Services2)界面如下:

2020-11-09 21:40:29 1370

原创 Maven使用技巧(持续记录)

1、的作用:锁定版本,父类工程添加的依赖,若子类工程使用到只需要添加对应的依赖名称,而不需要添加对应的版本号:优点:假如我的项目需要调整版本号,则只需要在父工程的properties标签中调整一次即可1)父类的工程pom.xml <dependencyManagement> <dependencies> <dependency> <groupId>mysql</groupId&

2020-11-02 20:39:35 1138

原创 Spring框架中常用的注解

@Table@Service@RestController@RequestMapping@Autowired@Entity@Id@GeneratedValue@Transactional@SpringBootApplication

2020-11-02 15:23:11 1184

原创 Git国内源

git的安装包国内源https://npm.taobao.org/mirrors/git-for-windows/

2020-10-28 19:33:13 2483

原创 Centos设置静态IP

设置静态ip的步骤比较简单,主要有如下几个步骤:1、设置网络的连接模式为NAT共享主机ip地址2、设置vmvare中虚拟网络的设置子网掩码以及网关3、centos中的网卡设置4、重启网卡服务5、ping www.baidu.com1、设置网络的连接模式为NAT2、设置vmvare中虚拟网络的设置子网掩码以及网关编辑->虚拟网络编辑器2.1、设置子网ip以及子网掩码2.2、设置网关要注意网关ip要和子网ip在同一个号段3、centos中的网卡设置进入/etc/syscon

2020-10-22 17:06:15 1459

原创 Docker安装redis

Docker安装redis并以配置文件形式启动时隔多久,又有时间整理了!此篇文章主要是是分享使用Docker安装Redis并进行简单的设置,使用的环境是Centos7、Docker;Redis默认的安装为最新版本 !Docker的安装此文不在介绍安装步骤:1、获取redis镜像在此之前需要先修改一下Docker的安装源,如果不设置默认的安装源为官网的源,在国内下载速度可能会比较慢;修改的方式也比较简单,只需要添加一行配置信息即可1.1、不指定版本号进行安装,此时安装的为最新版本的Redis

2020-10-22 16:16:08 1376

原创 Java常用总结

1、字符串常用的三个类:String、StringBuffer、StringBuilderString是引用类型数据StringBuffer是线程安全的——append()方法有使用sychnolized修饰,但是性能会低一些;如果是在循环体内需要频繁的对字符串进行操作,推荐使用StringBuffer例如:循环体内对String进行拼接操作,我们在进行发编译之后会发现,循环体内创建了多个StringBuffer对象,并进行append()操作,这样会增加内存的消耗,所以在类似的场景中我们可以使用

2020-09-14 22:24:19 1246

原创 (String)、toString()、String.valueOf()区别

1、(String)将object转成String类型的值。需要注意的是类型必须能转成String类型,(例如Integer类型就不行)否则抛出ClassCastException备注:null值可以强制转换为任何java类类型,(String)null是合法的2、.toString()java.lang.Object类里已有public方法.toString(),而通常派生类会覆盖Object里的toString()方法,所以对任何java对象都可以调用此方法。必须保证object不是null

2020-09-11 11:51:11 1264

原创 深入理解Java虚拟机(一)

JVM整体架构JVM类加载器JVM内存结构JVM执行引擎1、JVM整体架构指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现,常用的虚拟机有Vmvare,virtual BoxJava虚拟机阵营:Sun HotSpot VM、BEA JRockit VM …1.1 JVM构成类加载子系统运行时数据区执行引擎java程序的编译运行整个流程:xxx.java通过javac编译为字节码文件,类加载子系统会将字节码文件load到运行.

2020-09-05 21:47:38 1180

原创 哈希码相同,值一定相同?

结论:值相同,hashcode一定相同;hashcode相同但是值不一定相同所有的类都是集成自Object类,在Object中有hashcode()方法,如果想具体了解此方法的含义,可以看源码注释1、前提条件看类是否有重写hashcode()和equals()方法此处我们使用Set集合来做演示,set有两个特性:存入的数据元素不允许重复没有索引(遍历只能使用Iterater或者是增强for循环(底层也是使用Iterater))此处使用了Set集合的不允许重复元素的特性@Test

2020-07-12 13:42:48 9702 6

原创 IDEA使用常见问题(持续记录)

IDEA右侧maven->plugins中某一个jar包下后红色波浪线:原因:由于某种情况jar包下载了半,这种情况会报错:解决方式:找到本地仓库的这个包,将出错的jar包删除,并reimport,问题一般可以解决掉...

2020-06-19 15:10:54 1370

原创 GC常用参数(idea)

1 打印堆栈信息-XX:+PrintGCDetailsrun ->Edit configuration可以把堆划分为年轻代、老年代、元空间其中年轻代分为三个区域:eden、from、to在类加载的时候超大的对象会被一次性放到老年代中:

2020-06-16 22:41:17 1463

原创 Angular之HelloWorld——Angular(1)

一个后端都没有摸透的渣渣今天又开始接触前端Angular,作为一个极其喜欢新事物的工科男来说,不写篇博客都有点儿对不起自己。闲话不多说,下面开始正文!1. 环境搭建1.1 安装nodejs除安装路径之外,默认安装即可,nodejs下载链接1.2 安装cnpm由于Angular CLi的一些资源被墙掉了,所以这里我们使用淘宝的镜像去下载安装npm install -g cnpm --registry=https://registry.npm.taobao.org成功安装如下:1.3 使用

2020-06-14 22:10:54 1489

原创 Java动态代理——Sping(5)

1 特点:字节码随用随创建,随用随加载2 作用:不修改源码的基础上对方法增强3 分类:基于接口的动态代理基于子类的动态代理3.1 基于接口的动态代理:涉及的类:Proxy提供者:JDK官方3.1.2 如何创建代理对象:使用Proxy类中的newProxyInstance方法3.1.3 创建代理对象的要求:被代理类最少实现一个接口,如果没有则不能使用(此细节最重要)3.1.4 newProxyInstance方法的参数:(1) ClassLoader:类加载器 ,它是用

2020-06-14 15:56:55 1274

原创 Spring整合Junit——Spring(4)

1. 前言由于测试工程师更多的是关注方法是否能够成功执行,而对于spring框架可能不是很了解。所以,对于如下方式我们应该尽量通过框架实现 ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); IAccountService accountService = (IAccountService) ac.getBean("accountService");2. 添加依赖首先我们要添加一个spring-test

2020-06-10 19:05:53 1315

原创 i++结果几何?

我观你骨骼清奇,面貌不凡,极其适合撸代码下面有请第一位选手上场第一关:请回答下面这道题的输出结果public class JvmTest{ public static void main(String [] args){ int j = 0; for(int i = 0;i<10;i++){ j = (j++); } ...

2020-06-02 22:59:57 1420 3

原创 线程的生命周期——Java多线程(3)

线程的六种状态以及相互转化在线程new xxx().start()之后,并不是立即进入执行状态,我们在java.lang.Thread.state中可以看到有六种状态:线程状态发生条件New线程被创建,new xxxx(),但是还没有调用.start()方法Runnable线程在jvm中的运行状态Block(阻塞)线程为获取到锁对象(资源),线程进入阻塞状态,当线程获取到锁对象(资源),转入Runnable状态Time_Wait通过调用带有超时参数的方法进

2020-05-31 22:07:52 1223

原创 多线程同步(安全机制)——Java多线程(2)

线程安全:如果有多个线程同时运行一段代码,并且运行结果与单线程运行结果是一样的,那么就说是线程安全的。1.1 线程不安全案例通过下面这个买票的案例我们会发现会出现两种情况一张票卖了多次的情况出现负票的情况public class Client3 { public static void main(String[] args) { Ticket t = new Ticket(); //同时开启三个售票窗口 Thread thread =

2020-05-30 23:07:02 1202

原创 多线程实现方式——Java多线程(1)

1. 1继承Thread并重写run方法: public class ThreadDemo1 extends Thread { public ThreadDemo1(){ } public ThreadDemo1(String name){ super(name); } public void run(){ for(int i = 0;i<10;i++){ System.out.println("当前

2020-05-30 18:01:12 1379

JVM指令集(1).docx

jvm常用的指令,是分析字节码反汇编的必备指令 常用的指令 > iconst_0 将int类型常量0压入栈 > istore_1 将int类型值存入局部变量1 > iconst_0 将int类型常量0压入栈 > istore_2 将int类型值存入局部变量2 > iload_1 从局部变量1中装载int类型 > iinc 把一个常量值加到一个int类型的局部变量上 > getstatic 从类中获取静态字段 > iload_2 从局部变量2中装载int类型值 > 调度对象的实便方法:invokevirtual

2020-06-03

软考-程序员下午试题

历年软考-程序员考试下午试题 包含答案以及试题详解。

2018-05-29

防止重复登录

在进行web开发时经常会用到防止重复登录模块,资源包括数据表

2018-01-29

javascript经典入门

第一章 了解 js 第二章 创建简单的js脚本 第三章 开始js编程

2017-11-12

TCP_IP路由技术

第1章 外部网关协议 第2章 BGP-4简介 第3章 BGP-4的配置及故障检测与排除

2017-11-11

http权威指南

前言 HTTP(Hypertext Transfer Protocol,超文本传输协议1)是在万维网上进行通信时所使用的协议方案。HTTP 有很多应用,但最著名的是用于 Web 浏览器和 Web 服务器之间的双工通信。

2017-11-11

javascript 权威指南

从1996年以来,《JavaScript权威指南》已经成为JavaScript程序员公认的《圣经》。该书凭借着完整的内容、细致的讲解以及大量针对性的示例而受到读者的一贯好评,十多年来一直畅销不衰。JavaScript之父Brendan Eich对它如是评价:“本书是JavaScript程序员的必备参考……内容组织得很好,而且非常详细。”

2017-11-11

.ini配置文件

mysql配置文件 使用命令行安装mysql可以在.ini配置文件中对mysql的安装路径 数据保存路径进行设置

2017-11-08

android sceeen monitor

真机抓屏工具

2017-04-23

MYSQL 5.5从零开始学 pdf

mysql 5.5从零开始学

2017-04-20

Android api文档

android api文档

2017-04-20

xml合并工具 gooseeker

xml合并工具

2017-04-18

编码的奥秘.pdf

编码的奥秘 pdf

2017-04-18

计算机组成原理-唐朔飞。pdf

计算机组成原理 pdf 唐朔飞 扫描版

2017-04-17

疯狂java讲义练习代码和详解

疯狂java讲义 练习代码和详解 包括代码和详解

2017-04-17

疯狂java讲义源码

2017-04-15

疯狂java讲义pdf

2017-04-15

空空如也

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

TA关注的人

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