自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(273)
  • 论坛 (1)
  • 收藏
  • 关注

原创 开源组件(整理)

开发类:运维类:

2021-07-20 16:15:29 21

转载 一些顶级的开源CI/CD工具(转)

转自:https://blog.csdn.net/zl1zl2zl3/article/details/85523461CI/CD 实践对于基础设施、第三方应用程序和内部开发的应用程序同样适用。虽然有许多不同的工具可以实践 CI/CD,但这些工具都使用类似的模型。最重要的也许是,引导公司采取这种新的做法会让你在公司里处于一个强有力的地位,成为别人前进的灯塔。持续集成、持续交付和持续部署(CI/CD)在开发社区中已经存在多年。有些组织已经有相应的运营工具,但许多没有。对于大多数组织来说,运营团队必须像

2021-07-27 11:37:41 12

转载 再谈应用环境下的TIME_WAIT和CLOSE_WAIT(转)

原文链接:https://blog.csdn.net/shootyou/article/details/6622226昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | awk '/^tcp/ {

2021-05-19 20:58:59 8

原创 Spring Cloud Alibaba(持续补充)

官网介绍文档:https://developer.aliyun.com/article/762296?utm_content=g_1000128689官方git地址:https://github.com/alibaba/spring-cloud-alibaba后续的研究进行补充

2021-05-11 16:09:06 10

转载 HiKariCP和Druid对比(转)

转自:https://blog.csdn.net/qq_17085463/article/details/90486515HiKariCP和Druid我们所熟知的C3P0,DBCP,Druid, HiKariCP为我们所常用的数据库连接池,其中C3P0已经很久没有更新了。DBCP更新速度很慢,基本处于不活跃状态,而Druid和HikariCP处于活跃状态的更新中,这就是我们说的二代产品了。HiKariCP字节码精简 :优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载..

2021-05-07 16:30:07 148

转载 LEFT JOIN关联表中ON,WHERE后面跟条件的区别(转)

转自:https://mp.weixin.qq.com/s/D-7ZX-0mgEAH6KEeMKbLDQ之前有码友去京东面试,被问到 LEFT JOIN 关联表中用 ON 还是 WHERE 跟条件有什么区别,很快就答出来了,可是追问什么原因造成这一情况的,一时没回答上来。下面说说,想通过 A left B join on and 后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现 join on and 不会过滤结果记录条数,只会根据and后的条件是否显示 B表的记录,A表.

2021-05-07 15:43:14 36

原创 给定一个二叉树,返回每层上节点的链表,设计算法

思路:1、链表存储每层节点的数据,这样保证指针后移,进行存储该层的节点。2、遍历上层的节点,通过队列的pull跟add,遍历该层的节点后pull出,同时添加上下个循环要遍历的节点(下层的父节点)。具体代码如下:import java.util.*;public class ListTreeNodeDepth { /** * 时间复杂度 o(n) 空间复杂度o(n) * @param args */ public static void

2021-04-28 21:29:31 10

转载 Spring Boot Actuator从未授权访问到getshell,可以进行操作漏洞(转)

项目中被扫描到有安全漏洞,主要是原因利用了spring boot 的env,加refresh进行获取到getshell,进行的操作。可以通过spring配置文件中增加endpoints.env.enabled= false,禁止env操作;也可以通过配置spring security 增加账户密码访问。————————————————————————————————————————————————详细信息参考:https://blog.csdn.net/qq_38154820/article/det

2021-04-12 17:11:00 65

转载 Redis分布式锁的实现原理--Redisson(转)

转自:https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247483893&idx=1&sn=32e7051116ab60e41f72e6c6e29876d9&chksm=fba6e9f6ccd160e0c9fa2ce4ea1051891482a95b1483a63d89d71b15b33afcdc1f2bec17c03c&scene=21#wechat_redirect一、写在前面现在面..

2021-03-11 16:54:15 99

原创 protobuf数据结构化和数据序列化

google出的protobuf提供了数据结构化和数据序列化,相比于XML,JSON,protobuf更小,利用二进制进行传输,也实现不同类型的转化XML、JSON、Protobuf 都具有数据结构化和数据序列化的能力 XML、JSON 更注重 数据结构化,关注人类可读性和语义表达能力。Protobuf 更注重 数据序列化,关注效率、空间、速度,人类可读性差,语义表达能力不足 Protobuf 的应用场景更为明确,XML、JSON 的应用场景更为丰富详细介绍可以参考https://www.jian

2021-01-06 20:15:07 110

转载 spring cloud feign(转)

转自:https://blog.csdn.net/forezp/article/details/73480304转载请标明出处:https://blog.csdn.net/forezp/article/details/73480304本文出自方志朋的博客出自方志朋的博客什么是FeignFeign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目。 Feign的主要目标是将Java Http 客户端变得简单。Feign的源

2020-12-25 17:28:46 37

原创 spring cloud zull

zull架构图zull主要做限流(RateLimit)、路由、拦截处理源码先从@EnableZuulProxy标签开始链接进去查看@EnableCircuitBreaker@EnableDiscoveryClient@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Import({ZuulProxyConfiguration.class})public @interface EnableZuulProxy

2020-12-23 20:25:29 42

转载 Spring Cloud Hystrix源码分析(转)

转自:https://blog.csdn.net/chayangdz/article/details/82561158?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.cont

2020-12-17 20:05:35 49

转载 一次JVM_OLD区占用过高、频繁Full GC的解决过程【转】

转自:http://www.liuzk.com/294.html最近,公司网站频繁报警,JVM_OLD占用过高,线上访问超时严重,针对这个问题着实头疼了一把,不过最终还是解决了,下面说下解决的过程。1,首先 登到线上机器上去,top命令,查看当前机器的负载,查看当前哪个进程在消耗资源。Shell 1 top 找到CPU或者内存占用过高的那个进程。发现有一个进程,CPU居高不下,保留进程id2,top命令,继续跟踪该进程里的所有线程,找到占用CPU过

2020-12-01 19:40:07 1121

转载 MySQL索引-B+树【转】

转自:http://www.liuzk.com/410.html索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍

2020-12-01 19:34:31 27

原创 eureka分析

@EnableEurekaClient@EnableDiscoveryClient -->EnableDiscoveryClientImportSelectorEnableDiscoveryClientImportSelector继承了SpringFactoryImportSelectorSpringFactoryImportSelector中selectImports中有下面一段话SpringFactoriesLoader进行META-INF/spring.factories中的c.

2020-07-16 20:27:56 128

原创 Spring-Retry应用集成重试机制

详细可参考:https://blog.csdn.net/songhaifengshuaige/article/details/79441326

2020-07-16 20:14:07 110

转载 Java魔法师Unsafe

Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。Unsafe的单例实现:...

2020-06-10 20:58:55 90

原创 CAS了解以及Java中CAS应用

CAS是Java并发包中保证并发的核心思想,其原理调用处理器的cmpxchg指令CAS是具体理解就是比较转化,如果内存中数据值一致,则修改为新值。Java中java.util.concurrent.atomic并发包中的数据进行处理就是利用的CAS原理,以AtomicInteger为例,类中getAndSet直接调用unsafe.getAndSetInt,unsafe中循环执行native方法执行内存操作,不成功取最新的值再尝试更新,直到成功。追踪JNI对应的unsafe.cpp后,发现Unsafe_C

2020-06-09 20:54:50 154

原创 Mac安装Tesseract,使用Tess4j实现OCR识别

Tesseract是一个开源的OCR引擎,支持多国语言,其官方地址:https://github.com/tesseract-ocr/tesseract1.MAC下安装Tesseract命令安装brew install --with-training-tools tesseract,现在提示Error: invalid option: --with-training-tools,没有--with-training-tools参数,想把训练工具training-tools一起安装了,最后采用编译的方.

2020-05-22 17:06:38 184

原创 GitHack针对.git的漏洞以及修复

GitHack是一个 .git 文件夹公开漏洞。它在保持目录结构不变的同时从. git 文件夹重建源代码。解析.git/index文件,找到工程中所有的:( 文件名,文件sha1)GitHack的使用:1、下载https://github.com/lijiejie/GitHack2、到本地文件中执行python 脚本 切换到GitHack的路径下 cd ...

2020-04-25 19:35:20 854

原创 java调用webservice的2种方式代码

webservice有提供wsdl跟asmx两种方式,两种方式的调用方法不同1、wsdl的方式添加依赖:<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <v...

2020-03-13 15:58:08 489

原创 Katalon--Mac环境搭建,Mobile之Android调试

Katalon自动化测试工具,官方地址:https://www.katalon.com/1.官网下载https://www.katalon.com/download/对应的安装包dmg2.进行一步步安装3.katalon需要注册一个账号,使用邮箱注册就可以便可以4.Katalon Chrome插件Katalon Automation Recorder,用于katalon自动化是记录...

2020-01-07 20:21:40 314

原创 selenium入门--环境搭建

Selenium是一个涵盖了一系列工具和库的总体项目,这些工具和库支持并支持Web浏览器的自动化。官方地址:https://selenium.dev/documentation/en/Selenium之Java环境搭建Java版本1.8,具体安装、环境配置略开发IDEA工具具体代码,maven引入jar包:<!-- https://mvnrepository.com...

2019-12-11 17:49:47 94

原创 Mysql之group by GROUP_CONCAT的保证顺序

groub by 是按照分组,默认不排序,groub后会选择默认排序的第一条进行返回。如果分组前排序好的数据,取排序好的第一条数据排序,则需要加上limit ,进行强制排序。 SELECT m.* from ( SELECT if ( a.status = 'X002', a.fleet_na...

2019-11-27 19:30:37 1500

转载 12306并发解决思路(转)

转自https://github.com/GuoZhaoran/spikeSystem#12306%E6%8A%A2%E7%A5%A8%E6%9E%81%E9%99%90%E5%B9%B6%E5%8F%91%E5%B8%A6%E6%9D%A5%E7%9A%84%E6%80%9D%E8%80%83架构图:总结首先是3重负载进行分流其次采用预扣库存,异步产生订单的方式,避开对DB的...

2019-10-30 20:29:35 476

转载 mac下载iterm2,以及安装及配置rz sz(转载)

转自:https://segmentfault.com/a/1190000012166969环境Mac ox 10.12.3 iTerm2-3_1_5安装iTerm2建议去官网下载http://www.iterm2.com/ 也可以使用我提供的百度云链接 链接:http://pan.baidu.com/s/1geDTosj密码:3rm2安装方式和苹果的安装方式是一样的,解压...

2019-10-28 20:10:42 1069

原创 python搭建简易web服务器,局域网

python自带一个WEB服务器SimpleHTTPServer,利用python搭建一个http服务器python2命令:python-mSimpleHTTPServer8000&python3命令:python3 -m http.server 8000 &这样就可以在浏览器中通过http:***:8000进行访问,通过浏览器的下载就能下载相关文件了应用...

2019-10-28 19:39:57 1200

原创 微服务分布式事务

微服务架构下,保证事务需求越来越多,针对分布式事务,有不同的方案1.基于XA协议的两阶段提交方案---这种方案,并发量大时,容易出现资源死锁,系统性能和处理吞吐量降低XA 是指由 X/Open 组织提出的分布式事务处理的规范。XA规范主要定义了Transaction Manager(TM)和Resource Manager(RM)之间的接口,结构如下图所示。XA协议的流程...

2019-09-27 20:18:05 80

原创 Java8 Lambda表达式使用集合(笔记)

1.list转mapList的对象放到Map的value中public Map<Long, Account> getIdAccountMap(List<Account> accounts) { return accounts.stream().collect(Collectors.toMap(Account::getId, account -> acc...

2019-09-26 14:00:33 115

原创 mysql表没有索引,并发的情况下导致CPU飙升

虽然mysql中的单表数据量不大,几万条,但是在并发事务(并发数100-200之间,瞬间抢坑位)控制下,导致CPU飙升,查询该表的select也耗时很久。1、查看了mysql的CPU飙升时,IO、连接数、带宽、内存等监控指标都正常再查看慢SQL,超过1秒的SQL没有。再看表的设计,没有设计索引,将索引加上,同时mysql配置增加到16G的配置,问题得到解决。虽然单条SQL执行效率快...

2019-09-05 20:08:28 718

原创 cerebro elasticsearch 监控搭建

cerebro官网:https://github.com/lmenezes/cerebro1.了解cerebrocerebro是一个开源(MIT许可)elasticsearch web管理工具,使用Scala、Play Framework、AngularJS和Bootstrap构建。cerebro的运行需要java1.8及以上版本。github访问地址:https://github.c...

2019-08-29 19:53:27 343

原创 ElasticSearch-SQL 5.5 安装及配置

elasticSearch-sql是提供es的类SQL查询的相关接口,支持大部分的SQL语句的查询的插件,官方网址:https://github.com/NLPchina/elasticsearch-sql安装环境:elasticsearch 5.5.0jdk1.8centos 71.安装es-sql依赖node npmes-sql 5.x版本以后,安装需要依赖nod...

2019-08-29 17:32:51 296

原创 zabbix服务器监控(运维)

公司的服务器监控使用的zabbix,作为了解博文记录一下官网地址:https://www.zabbix.com/zabbix入门:http://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/zabbix/page/2/几个中间件的运维相关:http://www.zsythink.net...

2019-08-28 19:44:00 85

原创 Docker入门

官方文档:https://docs.docker.com/docker安装:https://www.runoob.com/docker/windows-docker-install.htmldocker命令汇总: https://www.runoob.com/docker/docker-command-manual.htmlidea集成docker用公司window电脑,安装的do...

2019-08-14 17:01:37 57

原创 redis分布式锁在MySQL事务代码中使用,没控制好并发原因

主要是原因:1、MySQL的事务隔离机制为:重复读(主因)2、分布式锁的释放在事务提交前(这个并发高时,时间差也是出现问题的源点)排查代码(分布式锁+事务下面代码不是很合理)如下:发现事务service中,获得redis分布式锁后,进行了数据库查询,根据数据查询出的结果进行了限制,同时事务提交前的finally中进行了提前释放分布式redis锁。1、先说第一个分布式锁中...

2019-08-12 20:55:34 589

原创 服务器运维整理(笔记)

1、Nignx双机主备(keepalive实现)nginx进程需要与keepalive同生同死,才能保证主备(keepalive是监控的keepalive),脚本保证两个进程同生死。https://blog.csdn.net/lbr2008/article/details/788117592、redis主从复制+哨兵(sentinel)实现高可用缓存框架3台redis(主从复制)+...

2019-08-07 19:50:40 386

原创 Elasticsearch is still initializing the Monitoring indices问题解决

这个是ES正在初始化Monitor的索引,查看服务器磁盘,磁盘空间足够。解决办法是:执行命令:curl -XGET -usinochem:sinochem http://es服务器地址:9200/_cat/indices 查看es中的索引找到上面命令执行结果中为red(非green)的进行删除curl -XDELETE -usinochem:sinochem http:...

2019-08-07 19:27:44 954

原创 解决POJO的属性首字母为大写,但是赋值不了的问题

解决办法:加上jackson包中@JsonProperty 标签便可以解决属性名称首字母大写,赋值不上的问题。如下图所示之前没有@JsonProperty标签时,赋值解析成了下面的json,首字母转为小写了。"dpackagePieces":"","materialName":"","orderID":"","materialLot":"","stransID":""}]@Jso...

2019-08-06 15:08:59 347

原创 Elasticsearch迁移

迁移办法的几个办法:elasticsearch-dumpsnapshotreindexlogstash公司迁移es,因数据量不是很大,采用的方法elasticsearch-dump的方式进行数据迁移elasticsearch-dump:主要针对数据量小的情况,而且迁出迁入服务器网络通elasticsearch-dump 是一款开源的es迁移工具,github地址:https:/...

2019-08-01 21:32:23 318

空空如也

seapeak007的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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