自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

生死无尘的博客

小菜鸟记录日常

  • 博客(21)
  • 收藏
  • 关注

原创 记录一次神奇的内存泄露

今天在维护代码时,在一台长时间没用的服务器上,运行了测试的程序,发现程序运行了一段时间,就报出了内存泄露(如下图),然后导致整个项目停止运行。由于改动的比较多,排查比较困难。刚开始以为是它报的ScheduledThreadPoolExecutor相关,因为刚好也改动了这个定时器的线程池相关的配置。然后排查了所有和线程池相关的部位,发现不管是回滚还是修改,都还是会爆出相同的内存泄露的问题。而后又排查了锁相关的部位,有没有可能有死锁的操作,同样的回滚和修改,都不能解决。把日志级别改成DEBUG,还是没有任

2020-08-18 18:32:16 305 1

原创 分布式锁--由浅到深基于Redis的实现

前言Redis这种相信在各个公司都会用到,但是通过分布式的调用Redis,可能用的就不是那么多了,今天就介绍一下在分布式调用Redis的环境中,较为常见的分布式锁。目录前言分布式、微服务和集群的区别Demo背景环境搭建分布式、微服务和集群的区别有的刚接触的小伙伴,可能不太能够分清分布式和集群的区别,这两个东西经常一起谈到,有的人可能就会混为一谈,认为分布式就是集群环境,集群环境就会用到分布式。其实不然,这两个还是有本质的区别的。同时,提到分布式又会经常提到微服务,微服务和分布式有很多的共同点,又有着

2020-07-16 16:55:58 301

原创 初尝HashMap源码

写在最前一晃眼,参加工作也已经快两年的时间了,之前也尝试过读过JDK的源码,但是都不是系统性的,而且,读过却没有记录,转眼就忘了,于是今天尝试将部分重要的JDK的源码再理解一遍,并且记录一下吧。目录写在最前基础环境一、整体概述1.0 基础概念(挺重要,能帮助理解结构)1.1、影响性能的因素1.2 相关默认值1.2.1 未指定的初始容量(16)1.2.2 最大容量(2的30次方)1.2.3 默认的扩容阈值(0.75)1.2.4 树形化阈值(8)1.2.5 链表还原阀值(6)1.2.6 最小树形化容量阈

2020-07-14 21:21:30 268

原创 使用Docker及docker-compose完成快速的项目私有化部署

本文目录零、前言一、搭建基础环境二、配置Docker参数三、登录到私有仓库四、准备连接程序五、编写docker-compose附一、Dockerfile编写简单介绍附二、docker-compose.yml常用命令简单介绍零、前言看网上好像一直没有docker-compose简单易懂的教程,于是在一顿探索之后,写了本教程,欢迎沟通。ps:没有dockerfile基础或docker-comp...

2020-03-18 10:38:21 1920

原创 基于SpringBoot的MYSQL数据库读写分离(二)——项目搭建

在前一章中,我们介绍完了数据库读写分离所需要的基础环境的的搭建。详见:【基于SpringBoot无XML文件的数据库读写分离(一)——基础环境搭建】在本章中,将介绍如何使用Springboot去实现动态切换数据源。一、Springboot项目的构建首先,我们在idea中创建一个新项目。在pom中引入如下的依赖: <dependency> <grou...

2019-07-11 10:04:31 4414 1

原创 基于SpringBoot的MYSQL数据库读写分离(一)——基础环境搭建

基于SpringBoot无XML文件的数据库读写分离(一)——基础环境搭建一、目的首先需要明确的是使用数据库读写分离的目的,它的主要应用场景是为了解决数据库“读”的瓶颈问题,在对数据库进行一定程度的优化后,任然不能满足“读”数据的业务需求,这样我们就需要引入数据库读写分离了。二、技术介绍一般的数据库读写分离分为两种。一种是通过中间件如Mycat,还有一种就是在应用程序中选择要操作哪个数据...

2019-07-09 20:04:38 1792

原创 Spring Cloud进阶——实战教程(一)

SpringCloud 进阶实战教程本项目使用了SpringCloud的五大神兽:Eureka,Ribbon,Hystrix,Zuul,Spring Cloud Config; API开发框架:Swagger; 链路追踪工具:Zipkin;等技术,搭建了一个商品服务的实战项目。

2018-08-02 12:46:04 7511 2

转载 Spring Boot+Spring Cloud基础入门(十)——形象化理解

前几天看到说SpringCloud的Eureka 闭源了,吓了一跳,刚刚把基础学的差不多了。。。结果又是自媒体的操作。Eureka的2.x被废弃了而已,SpringCloud从来没有使用过Eureka 2.x,最新的也不过是1.9.x,所以,不用担心了咯。下面对SpringCloud的形象化解释是转自:https://blog.csdn.net/yejingtao703/article/det...

2018-07-13 10:55:24 645

原创 Spring Boot+Spring Cloud基础入门(九)服务链路追踪——Spring Cloud Sleuth

服务链路追踪微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。随着服务的越来越多,对调用链的分析会越来越复杂。它们之间的调用关系也许如下:关键型术语Span:基本工作单元,例如,在...

2018-07-11 11:02:42 1774

原创 Spring Boot+Spring Cloud基础入门(八)消息总线——Spring Cloud Bus

消息总线总线是计算机各种功能部件之间传送信息的公共通信干线。消息总线(Message Queue,MQ),便是消息子各服务之间传输消息的通信干线,是一种跨进程的通信机制,用于在上下游之间传递消息。MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。由于我的系统上,暂时只安装了RabbitMQ,所以本项目以Rabb...

2018-07-10 17:16:23 2130

原创 Spring Boot+Spring Cloud基础入门(七)分布式配置中心——Spring Cloud Config

Spring Cloud Config在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config serv...

2018-07-09 18:56:59 1158

原创 Spring Boot+Spring Cloud基础入门(六)路由网关——Zuul

网关微服务架构中,会存在多个服务,每个服务拥有不同的地址,用户在请求一个业务时,可能会执行多次请求,这时候,就需要我们的网关来进行转发了。网关是位于请求发起后,访问服务前的中间层,所有的访问,都需要先经过网关,比如在用户访问api时,请求链接为/login,则将其转发到login服务,请求链接为/shop,则将其转发到shop服务。Zuulzuul 是netflix开源的一个A...

2018-07-09 16:34:18 4801 2

原创 Spring Boot+Spring Cloud基础入门(五)断路器——Hystrix

HystrixHystrix翻译成中文是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与Hystrix本身的功能不谋而合,因此Netflix团队将该框架命名为Hystrix。所以,Hystrix的功能便是自我保护机制,我们将其称之为断路器。在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体...

2018-07-09 11:41:50 2484 1

原创 Spring Boot+Spring Cloud基础入门(四)服务消费者——Feign

FeignSpring Cloud的服务有两种消费者,Feign是另一者,Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。...

2018-07-06 17:25:24 1634 4

原创 Spring Boot+Spring Cloud基础入门(三)服务消费者——Ribbon

RibbonSpring Cloud的服务有两种消费者,Ribbon是其中之一,它是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Bala...

2018-07-06 16:58:12 1575 6

原创 Spring Boot+Spring Cloud基础入门(二)服务的注册与发现——Eureka

EurekaEureka是Spring Cloud Netflix微服务套件中的一部分,Eureka是一个服务注册和发现模块。Eureka包含了服务器端和客户端组件。服务器端,也被称作是服务注册中心,用于提供服务的注册与发现。Eureka支持高可用的配置,当集群中有分片出现故障时,Eureka就会转入自动保护模式,它允许分片故障期间继续提供服务的发现和注册,当故障分片恢复正常时,集群中...

2018-07-06 16:10:25 4952

原创 Spring Boot+Spring Cloud基础入门(一)简单介绍

        在经历了毕业的摧残后,终于又有时间来更新博客了,毕业设计项目是写了一个基于Redis+Dubbo+SpringBoot+SSM的在线考试网站,用的技术比较多,架构是基于SOA的,这个等以后有时间了再更新。这次是由于工作原因,要使用到Spring Boot+Spring Cloud的微服务架构,所以,边学变记录咯。之间接触到过SOA的架构,所以对微服务架构的理解,也能稍微容易一些。微...

2018-07-06 14:33:12 2623 3

原创 基于SSM实现的简易员工管理系统(基于阿里云的网站上线篇)

2017-11-26 13:26更新:  服务器被植入了挖矿程序,最近暂时无法访问了。====================================================================================================================================================  2

2018-01-25 19:55:40 1131

原创 基于SSM实现的简易员工管理系统

之前自学完了JAVA基础,一直以来也没有做什么好玩的项目,最近暑假,时间上比较空闲,所以又学习了一下最近在企业实际应用中比较流行的SSM框架,以此为基础,通过网络课程,学习编写了一个基于SSM实现的MySQL增删改查的网站,好了废话不多说,下面介绍一下项目。  首先,页面的UI是使用了Bootstrap框架快速搭建的,这个框架还是比较好用的,不但快速,而且美观,风格偏扁平化。而且对于我这种英文渣

2018-01-25 19:55:37 8865 28

原创 基于局域网的超简易即时通讯软件(二)

好吧,自己挖的坑自己得埋上。继续~  好了,接下来就是好友列表界面了,在主界面登录成功后,跳转到本界面(如图2-4)。在用户添加好友后,显示用户的所有好友,并在窗体上方显示用户头像、昵称、QQ号、个性签名等。个性签名在用户点击前为不可编辑,在点击后转为可编辑,在用户输入完新的个性签名后,焦点离开本控件,控件重新变成不可编辑,同时将新的个性签名存储到数据库中。好友列表显示主体用的是treeView

2018-01-25 19:55:35 3781 3

原创 基于局域网的超简易即时通讯软件(一)

开博也那么多天了,一直没有放什么上来,今天心血来潮,就放一个之前用C#写的,基于局域网即时通讯的简易版QQ吧。  首先呢,得了解,既然是能实现局域网的即时通讯,就必定是有服务器和客户端的,是基于C/S结构的。当时想的是为易于后期维护所以用了三层架构编写。开发软件用的是Microsoft Visual Studio 2010,数据库用的是SQL Server 2008,程序基本实现注册、登录、忘记

2018-01-25 19:55:32 25784 3

空空如也

空空如也

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

TA关注的人

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