自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shine的博客

以文会友

  • 博客(94)
  • 资源 (13)
  • 收藏
  • 关注

原创 设计模式-StrategyModel详解

1)策略模式是一个比较容易理解和使用的设计模式,策略模式是对算法的封装,它把算法的实现和算法的使用对象解耦,委派给不同的对象管理。策略模式通常把一个系列的算法封装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。2)策略模式遵循DIP原则,提供新算法插入到已有系统中,以及老算法从系统中“换代”和“退休”的方式。3)在策略模式中,策略模式并不决定在何时使用何种算法,算法的选择由客户端来决定。

2023-08-18 17:45:06 661

原创 Java 并发容器和框架Fork/Join详解

普通任务:runnable接口,Callable接口等实现类ForkJoinTask子类:CountedCompleter、RecursiveAction、RecursiveTask是其进一步实现封装的抽象类;用户选取上述类自行实现即可。

2023-08-07 18:25:19 667

原创 Java Runnable,Callable和FutureTask详解

Runnable可以直接被Thread执行,但是没有返回值Callable执行之后有返回值,但是只能提交给线程池执行。Future定义了一系列关于任务管理的接口方法FutureTask是Future唯一实现类,它也实现了Runnable接口线程池submit Callable和Runnable时最终都会转换成FutureTaskFutureTask被执行时是被当成Runnable使用的,执行了内部保存的Callable的call方法参考文献​。

2023-08-05 11:39:56 536

原创 Java ThreadPoolExecutor,Callable,Future,FutureTask 详解

当调用 cancel 时,如果调用成功,而此任务尚未启动,则此任务将永不运行。invokeAny(collection of tasks)/invokeAny(collection of tasks, long timeout, TimeUnit unit):阻塞的方法,不会返回 Future 对象,而是返回集合中某一个Callable 对象的结果,而且无法保证调用之后返回的结果是哪一个 Callable,如果一个任务运行完毕或者抛出异常,方法会取消其它的 Callable 的执行。同样,也带有超时功能;

2023-08-05 10:30:27 908

原创 Spring 事务详解(注解方式)

事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功,只有这两种情况。@Transactional注解 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。虽然@Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。

2023-08-05 10:25:49 3374

原创 MySQL的ID用完了,怎么办?

mysql 的ID分自增id,填充id和 没有id三情况。

2023-04-27 14:47:34 2399 1

原创 df -Th与du -sh空间大小不一致

在日常运维中,经常遇到磁盘空间满,发现占用磁盘空间大的文件已经被删除了,但df -Th查看磁盘空间还是满,没有释放出来但du -sh 查看时发现空间已经腾出来了。

2023-04-15 16:40:23 1243

原创 centos7 nodeJS v14.x 安装

问题一安装指定版本nodejs14,nodejs16,cnpm9.0.1 使用npm run build 工程各种包找不到。现象编译过程中一直找不到指定的包,安装一个另一个找不到,始终都有找不到的包。解决修改 cnpm9.0.1 版本为8.30,问题解决。

2023-03-24 17:04:53 1185

原创 LINUX - awk命令之$NF的应用

在Linux中写脚本时经常要用到NF、NR、ORS、FNR以及FS,这些大家写过脚本都很熟悉,但是很多人对$NF却不常用,其实用的得当,写脚本也很是便捷,现在把NF和$NF的区别,以及应用写出来,供大家参考。上边命令cat ip_list |awk 'BEGIN{FS="."} {print NF}'的意思以.为分隔符,打印出列数,每行是4列。上一个命令是print NF,这个是print $NF,可以看出结果截然不同,上一个是打印出每行的列数,这个是打印出最后一列。

2023-02-22 10:43:25 3285

转载 centos7 离线安线ansible的三种方法

centos7 离线安线ansible的三种方法_蓝~天~的博客-CSDN博客_centos7离线安装ansible

2023-02-20 14:36:06 403

原创 源代码安全管理规范

IT科技,源码管控规定

2023-02-11 09:05:39 1764

原创 Argo CD 详细入门教程

argo 入门详解

2023-02-07 11:00:32 1209

原创 mysql 主从复制配置

mysql主从复制(超简单)怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=222 //[必须]服务器唯一ID,默认是1,一般...

2023-01-30 15:08:34 286

原创 优秀运维架构师具备技能

从普通工程师到架构师,历经劫难,涅槃重生过程

2023-01-30 15:03:18 312

原创 Springboot2.x+springjdbc+达梦数据库

--无法识别Spring Data JDBC DM方言目录--无法识别Spring Data JDBC DM方言一 相似问题1 无法识别SpringDataREST @Idclass2 SpringJDBC和Firebird数据库3 SpringDataJDBC/SpringDataJPA 与 Hibernate二 问题描述三 报错如下1 报错截图2 错误信息四 工程配置如下1 Maven依赖添加五 解决方法六 其它问题...

2021-12-23 13:35:07 2257 1

原创 centos7 Kubernetes1.20.x 离线部署详细文档

待定

2021-11-19 14:48:13 1084

原创 程序员的未来

一勤思考1 保持好奇心2 思考内容逻辑严谨3 思考习惯本能化二 准确表达1 提升准确,简练,全面表达陈述能力2 表达简练,字字如金,句句富含哲理,幽默三 增强沟通能力多同人沟通,体会对方言语的基本含义,深层含义,言外之意四 精进技术...

2021-10-15 17:44:00 739

原创 apache ignite 分布式内存数据库

1 简介ignite是分布式内存网格的一种实现,其基于java平台,具有可持久化,分布式事务,分布式计算等特点,此外还支持丰富的键值存储以及SQL语法(基于h2引擎),可以看成是一个分布式内存数据库。2 基本使用ignite有两种使用方式: 一种是从官网下载release版本程序,解压运行部署,另外一种是通过嵌入式集成进现有应用程序。3 常用命令命令 功能 top 查看集群网络拓扑图 cache 查看整体缓存情况 config 查看节点配置 .

2021-08-08 12:28:37 2504

原创 java 8 构造函数,静态方法,方法使用

今天学习了java8下构造函数,静态方法,方法的新用法,并且分享出源码,大家共同学习import lombok.AllArgsConstructor;import lombok.Builder;import lombok.NoArgsConstructor;@AllArgsConstructor@NoArgsConstructor@Builderpublic class Person { private String firstName; private String l.

2021-07-24 21:54:52 320

原创 设计模式几大原则

一 单一职责原则(SingleResponsibilityPrinciple)1)定义不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。2)问题由来类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。3)解决方案遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职..

2021-06-23 21:13:24 213

原创 springboot 四大组件简介

一 介绍1、auto-configuration组件Spring Boot自动配置代表了一种基于类路径上存在的依赖关系自动配置Spring应用程序的方法。还可以通过定义消除自动配置类中包含的某些bean。这些可以使开发更快更容易。通过启动类创建Spring Boot应用 @SpringBootApplication注解 自定义自动配置 自动条件 测试自动配置 禁用自动配置类2、starter组件Spring Boot背后的基本原理之一就是解决类似的问题。Spring Boot S

2021-05-07 13:36:07 5547

原创 RabbitMQ集群原理介绍

一、RabbitMQ默认集群原理RabbitMQ本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的erlang.cookie来实现)。因此,RabbitMQ天然支持集群。集群是保证可靠性的一种方式,同时可以通过水平扩展以达到增加消息吞吐量能力的目的。下图为集群的示例:上面图中采用三个节点组成了一个RabbitMQ的集群,Exchange A(交换器)的元数据信息在所有节点上是一致的,而Queue(存放消息的队列)的完整数据则只会存在于它所创.

2021-04-30 14:43:59 307

原创 坚定而优美的句子

1、你要忍,忍到春暖花开;你要走,走到灯火通明;你要看过世界辽阔,再评判是好是坏;你要卯足劲变好,再旗鼓相当站在不敢想象的人身边;你要变成想象中的样子,这件事,一步都不能让。 ----卢思浩  2、“不甘平庸,崇尚奋斗” 生命的价值是需要用努力奋斗来实现的,从踏入这个世界开始我们就被赋予了一种无形的责任,或轻或重,演绎了不同的人生。 每一个人都有属于自己的生命轨迹,我们在一旁观看,观看他人的欢喜或忧愁。一辈子就那么长,我们不能沉浸在他人的缤纷的舞台上,我们还有自己的舞台需要用心去演绎。“自...

2021-04-30 14:37:06 202 1

原创 在Spring Boot项目中使用https(jks)

SpringBoot配置HTTPS在工作中时长会遇到配置https,SpringBoot自带的是tomcat服务器一般使用的.jks文件配置SSL加密。过程中会用到两个工具:OpenSSL,Keytool工具。OpenSSL:下载地址:http://slproweb.com/products/Win32OpenSSL.htmlkeytool工具,这是jdk自带的工具,在jdk的/bin目录下可以找到。自己生成CSRhttps供应商不会直接提供.jks文件。所以,我们就需要...

2021-04-30 14:28:26 7647 2

原创 rabbitmq 介绍

一 通讯协议简介MQ是消息通信的模型,并发具体实现。现在实现MQ的有两种主流方式:AMQP、JMS。两者间的区别和联系:JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式JMS限定了必须使用Java语言;AMQP只是协议,不规定实现方式,因此是跨语言的。JMS规定了两种消息模型;而AMQP的消息模型更加丰富二 常见MQ中间件ActiveMQ:基于JMSRabbitMQ:基于AMQP协议,erlang语言开发,稳定性好RocketMQ

2021-03-30 10:52:36 238 1

原创 idea 缓存bug 忽然程序标红报 “cannot access xxx“

项目场景:Idea项目开发过程中,突然出现莫名的找不到包错误,真是莫名其妙,百思不得其解问题描述:idea开发,突然出现:同一个包下的java代码,突然飘红,出现红色的波浪下划线,错误提示:cannot access com.xx......xx.class原因分析:同一个项目里面怎么会报这个错误呢?由此怀疑是idea本身的问题,自己google了一下发现有人在官网写了反馈,官网人员解答:重启试试但是自己测试发现:有时好使,但有时并不好使。根本原因:IDEA缓存出现问题,可以强.

2021-03-26 11:40:25 1159

原创 清理docker未使用镜像惊魂

现象服务偶然超时,异常,不可用。。。首先发现服务磁盘100%然后发现docker 安装目录有很多废弃镜像占用空间很大再进行清理发现清理掉了数据库启动的容器搜寻数据库容器内容启动docker 镜像挂载数据库容器内容最后恢复参考文献https://www.php.cn/manual/view/36050.html...

2021-03-19 09:09:11 698

原创 技术研发团队管理计划方案书

目录第一部分 序目标第二部分 团队建议一 小组划分第三部分 小组计划一 小组任务管理二 小组工作氛围1 组员能力成长3 组员幸福感提升三 小组工作协同四 小组建设规划第四部分 2021目标和计划附件第一部分 序目标平台研发部计划按岗位划分成立4个小组:产品设计组、前端研发组、后端研发组、测试支持组,4个小组分别设立组长(主管),组长需在本周提出小组管理思路,要求如下:思路小组工作任务管理:组员任务分配、任务跟踪管理、工作效率提升、.

2021-03-17 17:32:18 6300

原创 技术研发架构图

2021-03-17 17:03:21 2029

原创 知名车联网架构图

2021-03-17 16:58:56 2816

原创 知名电商购物车需求用例图

2021-03-17 16:03:08 1769

原创 知名电商购物车架构流程图

2021-03-17 15:58:43 1645

原创 RabbitMQ架构设计图

2021-03-17 15:39:05 483

原创 微服务治理架构图

2020-12-19 16:33:51 706 1

原创 微服务治理需求设计

1 介绍服务治理(Service Governance)微服务中去掉业务剩下的都可以归属服务治理范畴,集成配置,后台服务集成DB,MQ,Cache,服务注册发现,软负载,日志,Metrics,调用链埋点,限流,熔断,安全和访问控制,REST/RPC,序列化/二进制/Json,底层通讯HTTP/TCP,统一异常处理,文档。下边主要介绍以下五点:1)注册和发现微服务中,如果微服务之间存在调用依赖,被依赖服务首先注册进注册中心,然后调用服务从注册中心获取服务地址信息,最后去调用依赖服务。2)服务监控微

2020-12-19 16:18:20 281 1

原创 maven web应用嵌入式tomcat学习笔记

一 首先创建 maven web 工程暂无二 在maven 中添加嵌入式tomcat配置<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configurat...

2020-07-25 07:14:22 1544 1

原创 物联网直播流媒体技术学习总结

https://www.cnblogs.com/yjmyzz/p/srs_study_1_install_push_and_pull_stream.htmlSRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群。一、安装官网提供了3种安装方式:从源码编译安装、利用doc...

2020-07-25 05:59:13 1007

原创 从一无所有,到整个世界-梁宁·产品思维30讲

8 年前,我的主业是产品经理,产品思维改变了我认识世界的方式,让我明白司空见惯的设计,也有其底层逻辑。  几年后我接触培训、运营自媒体……基于产品能力,我从 IT 男变成了创业者。  年前,在得到App听完《梁宁 · 产品思维 30 讲》,我整个人被点燃了。  梁宁,著名产品人,江湖人称中关村第一才女。  湖畔大学产品模块学术主任。百度顾问,曾任联想、腾讯高管,工作经历横跨BAT,...

2020-03-20 14:42:41 5536 4

转载 从技术到产品,他是如何从工程师做到产品负责人的

今天要给你介绍的是刘叔,如果说前文的小K是初阶、军哥是高阶,那今天这位刘叔就算是产品专家了。一、如今和当初每周一的早上9点半,刘叔和往常一样,在办公室召集产品团队的leader开部门周会。会议人数在10人左右,都是各产品线的负责人,而刘叔是整个产品部的负责人,旗下产品经理近百人。会议内容涉及上周工作进度及目标达成情况、公司高层最新信息同步、各团队动态及管理问题处理。刘叔的主要工...

2020-03-20 09:44:32 493

原创 互赖-真正成熟的关系

们从出生、长大到年老,无不生活在社会中、人际关系中。小的时候,爸爸妈妈无微不至地照顾着我们。那时,因为我们还小,不能自立,所以只能依赖大人;随着年龄渐大,大人们要我们学会自己面对生活和工作,于是我们学着去独立,并努力摆脱大人们的照顾。要做给他们看,也是要证明自己可以独立完成一切。于是,我们也为自己的独立而自豪。  真正走进工作岗位后,我们慢慢发现,有些独立的豪情不免会带来离群的尴尬,独立的...

2020-03-19 11:47:28 2555

敏捷需求管理培训文档说明书

企业级敏捷需求管理,敏捷需求管理 敏捷需求管理 生产活动的计划、组织、控制工作。它 通过合理组织生产过程,有效利用生产资源,以 达到预期目标。

2024-08-01

知名电商购物车用例图.png

SOA,微服务架构电商购物车架构设计

2021-03-17

KingbaseES.pdf

Kingbase ES是面向事务处理类、兼顾分析类应用领域的新型数据库产品,致力于解决高并发、高可靠数据存储计算问题,是一款面向企事业单位管理信息系统、业务及生产系统、决策支持系统等量身打造的承载数据库,目前功能性能已全面升级,是真正具有高成熟度的数据库产品。

2020-01-15

深度学习应用.docx

2017年,围棋界发生了一件比较重要的事,Master(AlphaGo)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们人类的面前。围棋曾经一度被称为“人类智慧的堡垒”,如今,这座堡垒也随之成为过去。 从2016年三月份AlphaGo击败李世石开始,AI全面进入我们大众的视野,对于它的讨论变得更为火热起来,整个业界普遍认为,它很可能带来下一次科技革命,并且,在未来可预见的十多年里,深刻的改变我们的生活。

2020-01-15

京东针对Redis Rehash机制的探索和实践.docx

基于Redis Cluster打造的缓存系统。经过不断的迭代研发,目前已形成一整套自动化运维体系:涵盖一键运维集群、细粒度的监控、支持自动扩缩容以及热点Key监控等完整的解决方案。同时服务端通过Docker进行部署,最大程度的提高运维的灵活性。分布式缓存Squirrel产品自2014年上线至今,已在京东内部广泛使用,存储容量超过80T,日均调用量也超过万亿次,逐步成为京东目前最主要的缓存系统之一。 随着使用的量和场景不断深入,Squirrel团队也不断发现Redis的若干"坑"和不足,因此也在持续的改进Redis以支撑内部快速发展的业务需求。本文尝试分享在运维过程中踩过的Redis Rehash机制的一些坑以及我们的解决方案,其中在高负载情况下物理机发生丢包的现象和解决方案已经写成博客。感兴趣的同学可以参考:

2020-01-15

Disruptor 一种可替代有界队列完成并发线程间数据交换高性能解决方案.docx

本文翻译自LMAX关于Disruptor的论文,同时加上一些自己的理解和标注。Disruptor是一个高效的线程间交换数据的基础组件,它使用栅栏(barrier)+序号(Sequencing)机制协调生产者与消费者,从而避免使用锁和CAS,同时还组合使用预分配内存机制、缓存行机制(cache line)、批处理效应(batch effect)来达到高吞吐量和低时延的目标。目前Disruptor版本已经迭代至3.0,本论文是基于Disruptor1.0写就,在新版本中,相对与1.0版本,其核心设计思想没有变,只是实现细节有所调整和优化,因此,此论文仍然很有研读意义。

2020-01-15

微服务架构下的数据一致性:概念及相关模式.docx

从2014年开始,微服务逐渐进入大家的实现,被认为是下一代实现信息化的有效手段。设计到系统,其中绕不开的就是数据一致性,从本地事务,到后来的分布式事务,都能够有效的保证数据一致性。但是在微服务架构中,这两种方式都不是最好的选择。

2020-01-15

fastdfs集群安装部署V1.0.docx

分布式文件服务安装 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

2020-01-15

实战体验几种MysqlCluster 方案.docx

MySQL Cluster 是MySQL 官方集群部署方案,它的历史较久。支持通过自动分片支持读写扩展,通过实时备份冗余数据,是可用性较高的方案,声称可做到99.999%的可用性。

2020-01-15

mysql innodb死锁问题详解.docx

死锁指两个事务或者多个事务在同一资源上相互占用,并请求对方所占用的资源,从而造成恶性循环的现象。 系统资源不足 进程运行推进的顺序不当 资源分配不当 产生死锁的四个必要条件 互斥条件: 一个资源只能被一个进程使用 请求和保持条件:进行获得一定资源,又对其他资源发起了请求,但是其他资源被其他线程占用,请求阻塞,但是也不会释放自己占用的资源。 不可剥夺条件: 指进程所获得的资源,不可能被其他进程剥夺,只能自己释放 环路等待条件: 进程发生死锁,必然存在着进程-资源之间的环形链 处理死锁的方法: 预防,避免,检查,解除死锁 数据库也会发生死锁的现象,数据库系统实现了各种死锁检测和死锁超时机制来解除死锁,锁监视器进行死锁检测,MySQL的InnoDB处理死锁的方式是 将持有最少行级排它锁的事务进行回滚,相对比较简单的死锁回滚办法

2020-01-15

ZenTaoPMS.11.7.stable.zip

禅道项目管理软件的主要管理思想基于国际流行的敏捷项目管理方式——Scrum。scrum是一种注重实效的敏捷项目管理方式,但众所周知,它只规定了核心的管理框架,但具体的细节还需要团队自行扩充。禅道在遵循其管理方式基础上,又融入了国内研发现状的很多需求,比如bug管理,测试用例管理,发布管理,文档管理等。因此禅道不仅仅是一款scrum敏捷项目管理工具,更是一款完备的项目管理软件。基于scrum,又不局限于scrum。 禅道还首次创造性的将产品、项目、测试这三者的概念明确分开,产品人员、开发团队、测试人员,这三者分立,互相配合,又互相制约,通过需求、任务、bug来进行交相互动,最终通过项目拿到合格的产品。

2020-01-15

numpy-1.16.5.zip

python 按照 openCV 必须组件,可以放心下载 不会骗人哦,NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))

2020-01-02

领域驱动设计在互联网业务开发中的实践应用(联想研究院).docx

领域驱动设计在互联网业务开发中的实践应用(联想研究院)

2019-10-29

记一次服务发布之后,图形验证码乱码的服务排查.docx

记一次服务发布之后,图形验证码乱码的服务排查

2019-10-29

空空如也

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

TA关注的人

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