自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 鸵鸟心态

为何鸵鸟心态?“鸵鸟心态”是一种逃避现实的心理,也是一种不敢面对问题的懦弱行为。心理学通过研究发现,现代人面对压力大多会采取回避态度,明知问题即将发生也不去想对策,结果只会使问题更趋复杂、更难处理。就像鸵鸟被逼得走投无路时,就把头钻进沙子里。与“鸵鸟心态”类似的说法即“掩耳盗铃”。解释遇到危险时,鸵鸟会把头埋入草堆里,以为自己眼睛看不见就是安全(不过有说法认为这其实是种误解)。后来,心...

2018-12-26 19:49:37 1158 18

原创 Spring学习

Spring框架是Java程序员必须要掌握的一个基础框架。1、什么是控制反转控制反转是应用于软件工程领域中的,在运行时被装配器对象来绑定耦合对象的一种编程技巧,对象之间耦合关系在编译时通常是未知的。在传统的编程方式中,业 务逻辑的流程是由应用程序中的早已被设定好关联关系的对象来决定的。在使用控制反转的情况下,业务逻辑的流程是由对象关系图来决定的,该对象关系图由装配 器负责实例化,这种实现方式还可以将对象之间的关联关系的定义抽象化。而绑定的过程是通过“依赖注入”实现的2、BeanFactor

2020-07-05 11:00:49 385 2

原创 配置swagger

1、导入jar包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency&g

2020-06-11 20:13:01 278

原创 记开学第一课的感受

2020.4.1上午,我们在大厅开了过年之后的第一堂课。虽然时间不长大概一个小时,但是收获颇丰。纪老师讲到,疫情期间他学习了历史上的传染病。而我就就没有这份“闲心”来研究历史和瘟疫。可能就是缺少纪老师的那种好奇心和探究学问的能力。米老师首先提到疫情期间人人都开始了利用互联网的学习,或主动或被动,人人都开始了线上的学习,互联网学习的浪潮忽然之间就爆发了。互联网的学习成本是很小的,几乎忽略不计...

2020-04-04 09:12:50 450 2

原创 zookeeper实现分布式锁

有两种方式。一种创建临时节点。有三个关键的方法tryLock(),waitLock(),unLock()tryLock:创建临时节点waitLock:注册监听事件,监听该结点是否被删除。该节点存在就阻塞,一直等到接受到事件通知,删除监听unLock:释放锁 private CountDownLatch countDownLatch = null; @Overr...

2020-03-29 09:33:35 208 1

原创 jvm基础知识

jdk1.8之前的jvm结构其中对于方法区,很多人更愿意称为:“永久代(Permanent Generation)”,不过本质上两者并不等价,仅仅是因为习惯使用HotSpot虚拟机的设计团队选择吧GC分代收集扩展至方法区,或者说使用永久代来实现方法区而已,这样HotSpot的垃圾收集器就可以像管理Java堆一样管理这部分内存,能够省去专门为方法区变编写内存管理代码的工作。不过对于其他虚拟...

2020-03-21 09:31:29 164 1

原创 显示锁Lock

有了synchronized为什么还要Lock?Java程序是靠synchronized关键字实现锁功能的,使用synchronized关键字将会隐式地获取锁,但是它将锁的获取和释放固化了,也就是先获取再释放。如果某个获取锁的线程由于要等待IO或者其他原因(比如调用sleep方法)被阻塞了,但是又没有释放锁,其他线程便只能干巴巴地等待,试想一下,这多么影响程序执行效率。  因此就需要有...

2020-03-15 09:59:01 244 1

原创 Hystrix

先占个位

2020-03-08 19:12:18 179

原创 指定不同的配置文件启动Eureka

先占个位

2020-02-29 11:14:10 472 1

原创 mysql中的锁

MyISAM只支持表锁,InnoDB支持行锁和表锁。所以平时用的多的就是InnoDB。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁(gap锁,间隙锁):开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。表级锁更适合于以...

2020-02-17 16:45:32 125 1

原创 git的使用

git init让git开始管理这个文件夹,在同级目录下会出现一个隐藏的.git文件git config user.name ‘Tom’git config user.email ‘********[email protected]’记得提交前设置下操作者的姓名和email ,不然会报错提交不了git status 检查版本状态提交本地(可以两个步骤,也可以一个步骤)...

2020-02-10 15:38:24 157 1

原创 docker相关使用

1 安装 yum install docker2 启动service docker start3 设置随系统启动chkconfig docker on4 交互式创建容器并进入docker run -it --name centos centos------------------------exit退出也关闭容器; Ctrl+P+Q退出不关闭容器 5 ...

2020-02-04 20:34:59 299 1

原创 MongoDB入门

概念MongoDB:是一个数据库 ,高性能、无模式、文档性,目前 nosql 中最热门的数据库,开源 产品,基于 c++开发。是 nosql 数据库中功能最丰富,最像关系数据库的。MongoDB与mysql的概念关系对比MongoDB 的应用已经渗透到各个领域,比如游戏、物流、电商、内容管理、社交、物联网、 视频直播等,以下是几个实际的应用案例:游戏场景,使用 Mong...

2020-02-02 17:17:01 189 1

原创 rabbitmq的使用

需求:在增加或修改或删除商品时,需要通知Es索引库对索引进行更新。这个时候用到了消息中间件rabbitmq。item-service服务为消息生产者,search服务为消息消费者。item-service服务:1、导入jar<dependency> <groupId>org.springframework.boot</groupI...

2020-01-18 16:57:14 172 1

原创 SpringBoot整合Spring Data Elasticsearch

1、导入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </...

2020-01-15 14:53:25 202

原创 jdk8的特性stream().map()

private void loadCategoryAndBrandName(List<Spu> list) { for (Spu spu:list) { //处理分类 List<String> names = categoryService.queryByIds(Arrays.asList(spu.ge...

2020-01-13 20:44:15 921 2

原创 学习了几个新词

贵人语迟:原文:树高蝉声细,山高语音低。水深流去远,贵人话语迟。译文:树越高,禅的叫声越细,山越高,说话声音越低。河水越深流的就越远,越德高望重的人说话越慢鸟随鸾凤飞腾远,人伴贤良品自高出自单田芳的评书《隋唐演义》。原文鸟随鸾凤飞腾远,人伴贤良品自高。与君共饮盏中酒,几人哀伤几人愁。意思是说近朱者赤,近墨者黑,良禽择木而栖,跟着优秀的人自己也会慢慢变得优秀。...

2020-01-13 11:33:24 1097

原创 代码规范

命名总体规则 名字应该能够标识事物的特性,并且与业务挂钩。 名字一律使用英文单词,而不能为拼音。 名字可以有两个或三个单词组成,但不应多于4个,控制在3至30个字母以内。 在名字中,多个单词用大写第一个字母(其它字母小写)来分隔。例如:IsSuperUser。命名规范命名概述以下几点是推荐的命名方法。Pascal命名法:所有单词的首字母都大写,其他字...

2020-01-13 08:58:07 233 1

原创 要想成功先脱去幼稚

记者问:“人要活得明白通透需要时间吗?”郭德纲答:“不需要时间,需要经历。一个人六十了,从小没挨过打,没人说过什么难听话。走大街上,别人瞪了一眼,咔,死了;一个人从小每天挨十个嘴巴,天天挨骂,长大了铁罗汉,抗压能力高。”经历过大风大浪真的可以帮助我们变得成熟稳重,那么问题来了,我们每天经历不了那么多的风浪,怎么办?这个时候,我认为应该先提高自己的思想。人不成熟的五大特征:人不成熟的第一...

2020-01-13 08:25:12 1028 4

原创 pagehelper的使用

1、导入jar包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <versio...

2020-01-11 20:59:58 337

原创 通用异常处理

异常只有异常信息不能满足项目需要,还需要有code,timestamp等信息,所以要用自定义异常处理类1异常返回类:public class ExceptionResult { private int status; private String message; private Long timestamp; public int getStatus(...

2020-01-08 19:33:27 645 1

原创 Vue报错

错误信息: error in ./src/pages/Layout.vueModule build failed: Error:Vue packages version mismatch:- [email protected] [email protected] may cause things to work incorrectly. Make sur...

2020-01-08 11:48:26 402 1

原创 zuul的权限拦截

Zuul作为网关的其中一个重要功能,就是实现请求的鉴权。而这个动作我们往往是通过Zuul提供的过滤器来实现的。新建一个filter实现ZuulFilter接口@Componentpublic class LoginFilter extends ZuulFilter { @Override public String filterType() { retu...

2020-01-07 21:35:25 1133

原创 zuul的路径匹配

一切对服务的请求都会经过Zuul这个网关,然后再由网关来实现 鉴权、动态路由等等操作。Zuul就是我们服务的统一入口。1、新建一个gateway的model2、导入jar <dependencies> <dependency> <groupId>org.springframework.cloud</...

2020-01-07 20:38:41 1058 1

原创 feign的使用

Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。导入jar包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>sprin...

2020-01-07 19:17:58 143

原创 Hystix

当某个服务阻塞时,大量客户线程就会消耗完Tomcat的链接,从而其他服务也不可使用。这个现象就是服务雪崩。解决方案有两种:服务降级和服务熔断。服务降级是消费者端进行的,服务熔断的服务生产者进行的。服务降级服务降级,就是服务超时后立刻返回给客户一个失败的信息,不让它在占用Tomcat的链接。1、导入jar <dependency> &lt...

2020-01-07 16:53:07 120

原创 eureka重试机制

接着上一篇继续额。Eureka的服务治理强调了CAP原则中的AP,即可用性和可靠性。它与Zookeeper这一类强调CP(一致性,可靠性)的服务治理框架最大的区别在于:Eureka为了实现更高的服务可用性,牺牲了一定的一致性,极端情况下它宁愿接收故障实例也不愿丢掉健康实例,正如我们上面所说的自我保护机制。但是,此时如果我们调用了这些不正常的服务,调用就会失败,从而导致其它服务不能正常工作!...

2020-01-07 14:24:15 915 1

原创 eureka和ribbon

先建立三个model,分为为eureka-server,user-service,consumer。他们分别是eureka的服务端,服务的提供者,服务的消费者。eureka-server1、导入jar <dependency> <groupId>org.springframework.cloud</groupId> ...

2020-01-07 11:59:24 327 1

原创 2019年总结

2019年是丰富多彩的一年,是我人生中感触颇深的一年。我这一年学习了ssh、ssm,还找了工作。但是呢,没有丰富的理论,找工作就是尬聊。就是那种人家聊得你都听不懂,非常尴尬。后来就补了补理论,必须要理论与实践相结合。后来回到廊坊,又开始学习面向对象的思想。抽象、封装、继承、多态、接口等词汇有了深入的理解和认识。我深刻体会到了面向对象编程的好处,设计模式的应用使得软件变得灵活了。对了,还接触了以...

2020-01-04 08:53:34 469 8

原创 2019年最后一天

现在是2019年12月31日晚上7点15分。时间过得真快,我依然清晰地记得2年前的今天。那是2017年12月31日晚上8点,我在万达四楼玻璃屋看着跨年演唱会。具体唱的什么就记不清了,但是就是记得看了一个小时的跨年演唱会。时光飞逝,如白驹过隙,此时此刻不禁勾起我往日的回忆,真是感慨良多。不禁想起短歌行:对酒当歌,人生几何。譬如朝露,去日苦多。想起了Faker,以前落后一万经济也丝毫不慌乱。但...

2019-12-31 19:59:37 333 9

原创 yml格式(list)

配置一个nodes节点nodes: - node1 - node2 - node3

2019-12-24 16:52:04 12416 5

原创 职责链模式实现退卡

public class CancelChain { CancelIsCardNull isCardNull = new CancelIsCardNull(); CancelIsCardExit isCardExit = new CancelIsCardExit(); CancelIsCardOnLine isCardOnLine = ...

2019-12-18 20:00:19 264 4

原创 接口+配置文件+反射实现充值优惠

网吧举办优惠活动,要求灵活可扩展。分为满50加10,满100加30,充120%,充150%appconfig <add key="无" value="NoDiscount"/> <add key="满50送10" value="ManFifty"/> <add key="满100送30" value="ManOneHundred"/&g...

2019-12-17 14:30:44 232 4

原创 类的一些提问以及百度到的答案

1.1数据类型其实都是程序设计语言封装好的对象,是为了对应编译器合理利用计算机空间,并且符合我们的日常认知。数据类型背后,隐藏的是编译器或者解释器对数据处理方式的定义。有了数据类型,编译时可以进行语法检查,相当于定义了一些规则。1.2数组,是有序的元素序列,用于储存多个相同类型数据的集合,数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。数组可以...

2019-12-16 10:41:12 323 4

原创 职责链模式

public class ChainBLL { public static decimal costMoney; public decimal getCostMoney(string rate, int costTime) { ChainMoney1 c1 = new ChainMoney1(); ...

2019-12-12 18:40:28 80 3

原创 vue子组件向父组件传值

子组件: <div v-show="switchModel"> <div class="settingPartSwitch"> <div class="settingListSwitch"> <img class="settingLogoSwitch"...

2019-12-07 15:47:40 252 2

原创 rabbitmq的三种交换器

fanout:广播模式,把消息路由到所有绑定的路由键上topic:按照匹配的方式来路由消息direct:准确路由到某个路由键上

2019-12-04 10:26:25 127 2

原创 如何实现session共享

我们知道,Session 一般是用来存会话全局的用户信息(不仅仅是登陆方面的问题) ,用来简化/加速后续的业务请求。要在集群环境下使用,最好的的解决办法就是使用 session 共享:具体过程如下:新增 Filter,拦截请求,包装 HttpServletRequest(使用 HttpServletRequestWrapper)改写 getSession 方法,从第三方存储中获取 ses...

2019-11-26 11:08:07 874 6

原创 Redis的基本指令

Redis的value可以有五种存储类型。string、hash、list、set、zset(有序集合)查看所有键: keys *键总数 dbsize //2 个键, 如果存在大量键, 线上禁止使用此指令检查键是否存在: exists key删除键: del key键过期: expire key seconds设置键的有效时间:set name liming ex 30 ...

2019-11-21 14:50:29 129 5

原创 rabbit-mq 报错:connection error

connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'kumas', class-id=10, method-id=40)说明该用户没有对“/”的权限,应该在后...

2019-11-20 11:43:24 728 5

空空如也

空空如也

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

TA关注的人

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