自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三也_攻城狮

Code the Craft,Craft the Code

  • 博客(261)
  • 资源 (9)
  • 论坛 (3)
  • 收藏
  • 关注

原创 【码出高效】craft the code , code the craft,各种代码汇总

该文主要将自己平时的积累的知识,或者认为重要的东西,以代码的形式分享出来或者记录下来,供自己也供大家一起来学习探讨。工程链接如下:github链接:https://github.com/cwtree/craft_the_code.git至于工程的内容,大家clone该工程后,通过package name就能简单区分出来了。...

2019-03-26 22:57:38 293

原创 【关于我】【您·的·支·持·是·我·最·大·的·动·力】

您的支持是我写作专业文章的最大动力,文章不好还请见谅!如果您愿意支持,请支付宝扫描以下二维码,略表心意,十分感激!

2014-12-10 13:21:11 1866 3

原创 【HTTPS】HTTPS过程详解,tcpdump抓包一步一步分析

RFC中的HTTPS交互过程如下:抓包分析Client Hello客户端支持的TLS最高版本号客户端生成的随机数客户端支持的加密套件主机名server_namecipher suite怎么理解名字为 ECDH-ECDSA-AES128-SHA256 的CipherSuite使用 ECDH做密钥交换, 使用ECDSA做认证, 使用AES-128做加密算法, 使用SHA256做MAC算法。客户端能支持的加密套件即浏览器能支持的加密算法Server.

2020-07-29 17:10:08 1132

原创 【Linux】perf 火焰图 性能分析利器

大部分情况下,在进程级的性能优化,通过查看系统CPU、内存资源等基本都能定位到性能问题,定点解决,但是当你去帮别人做性能排查定位的时候,你不熟悉代码的情况,最快速的就是通过火焰图迅速输出系统调用栈的详细信息,分析出耗时的方法调用。在JAVA开发过程中,通过visualvm的cpu抽样和内存抽样就可以达到上述效果,CPU抽样的堆栈就可以看出线程的调用关系,最后一层往往都是JDK的api调用,在这个过程中,基本就能定位到自己的哪个方法比较耗时了,但是如果光通过JDK的api还看不出问题,那就需要通过火...

2020-07-21 00:05:40 202

原创 【TCP】Connection reset by peer 原因分析定位

背景client和server通过websocket协议通信,长连接保活,server前有nginx做反向代理,client和server是多对多关系;server端定时给client下发任务,client执行任务并将结果上报给server,client还会定时给server发送心跳保活连接。现象系统运行一段时间之后,nginx上error日志频繁报错,如下:2020/0...

2020-04-28 18:02:19 937

原创 【TCP】图解,一步一步拆解TCP包结构,各个字段分析

原始pcap包内容TCP包结构定义分析源端口目的端口序列号确认号序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前...

2020-04-22 15:59:00 926

原创 【JAVA】SpringCloud Feign Ribbon Hystrix Nacos 第一次调用服务报错 close wrong [NA] failed to write cache for d

全部的报错信息如下[20-03-21 21:30:36:824][INFO ][org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]][http-nio-9277-exec-1]Initializing Spring DispatcherServlet 'dispatcherServlet'[20-03-2...

2020-03-21 23:29:24 1415

原创 【Thymeleaf】thymeleaf模板引擎发送邮件报错TemplateInputException: Error resolving template xxx

springboot2项目里结合thymeleaf模板引擎发送邮件,发现无法解析自定义的模板文件application中配置如下spring.thymeleaf.prefix=file:config/page这里只配置一个prefix,因为其它配置项默认配置都是对的,这里不需要配置了,可参考https://docs.spring.io/spring-boot/docs/2.2.4...

2020-02-29 13:49:01 312

原创 【Nginx】proxy_pass的一个/斜杠引发的血案

背景一个nginx的server模块下需要proxy到两个server,所以就通过location的不同路径来区分转发到不同的服务器上。一开始是这么写的location / { proxy_pass http://server1/;}location /index { proxy_pass http://server2/;}但是忘记了serve...

2020-02-27 23:54:19 1079

原创 【JAVA】SpringCloud-Alibaba 结合 Nacos 实现配置动态刷新和服务注册发现

SpringCloud通常指的是Netflix的,今天我们讲的SpringCloud-Alibaba,有大厂背书,我选择相信,而且阿里巴巴的各项业务复杂度都在你我公司之上,所以经过大厂实战验证的可信度很高。目前SpringCloud-Alibaba提供的组件官网也有介绍,的确没有Netflix多,但是还在发展,没问题。其实大家用SpringCloud的核心目的就是转型微服务,做架构升级,而...

2020-02-20 14:44:53 953

原创 【JAVA】 SpringBoot2.X 核心注解原理分析及ApplicationContext应用上下文创建过程

约定大于配置百度百科约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。SpringBoot即是约定大于配置的充分体现,包括SpringCloud也是这样。启动main函数这是大家最常见的springboot的启动main函数写法。在这个启动...

2020-02-19 17:24:00 312

原创 【Redis】Redis 5.0 哨兵模式安装部署以及主备切换验证

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。安装redis 5.0 安装https://redis.io/download官网下载安装包解压安装sudo yum install gcc gcc-c++ -ymake...

2020-02-14 14:22:14 2369

原创 【JAVA】springboot2中自定义配置如何获取使用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。定义配置在springboot2中自定义配置都是通过注解@ConfigurationProperties来读取的,代码示例如下@Getter@Setter@Component@ConfigurationPr...

2020-02-08 14:37:54 382

原创 【JAVA】springboot2 中自定义多个线程池实现异步处理引入ThreadPoolExecutor的内部执行原理

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。springboot2中线程池的定义@Configurationpublic class ThreadPoolConfig { @Bean public Executor logExecutor() { ...

2020-02-08 14:03:11 1267 4

原创 【JAVA】eclipse 安装MAT工具分析java堆文件

java进程常见的问题有内存溢出,outofmemory,那么在内存溢出时可以dump出整个JVM进程的内存快照文件,后续通过该文件可以分析出具体原因,一般通过MAT工具进行分析。MAT安装安装第二个安装完重启...

2019-08-07 14:19:39 186

原创 【JAVA】阻塞队列如何实现?分析JDK 阻塞队列源码实现

阻塞队列,顾名思义,在队列操作时有阻塞机制,防止出现数据不一致,这里只分析两个API的操作源代码offer(E e)生产者,生产元素1、加锁,ReentrantLock加锁保证了不会同时有多个生产者来生产元素,达到阻塞,否则数据错误乱2、判断当前队列里的元素数count,和队列容量capacity比较判断是否可以往里面生产元素3、数据入队4、计数器++5...

2019-05-22 11:31:04 793

原创 【JAVA】Webmagic 爬虫框架,带着问题解读源码

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。前言github地址https://github.com/cwtree/webmagicWebMagic的设计参考了业界最优秀的爬虫Scrapy,而实现则应用了HttpClient、Jsoup等Java世界最成熟的工...

2019-01-03 17:59:11 981

原创 【FASTDFS】fastdfs上传文件报错 org.csource.common.MyException: getStoreStorage fail, errno code: 28 解决方法

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。这个报错要从一个tracker上的一个配置说起这个配置的含义是:storage上的剩余磁盘空间必须在10%以上才能上传文件成功,否则上传失败这个错误信息非常明确了,我们用的fastdfs的client ...

2018-12-29 09:30:38 13823 1

原创 【问题记录】JAVA进程启动大概率卡住6分钟左右,应用日志没有任何WARN ERROR,系统日志也没有发现和进程相关日志,最后定位TOMCAT SHA1PRNG耗时太长

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。系统是基于springboot开发的系统,java -jar启动过程中发现经常会卡住6分钟左右,才能启动完成,全程没有发现任何WANR和ERROR级别的日志(其实早看看DEBUG和INFO日志,可能问题早就解决了,惯性思维害人啊...

2018-12-20 08:57:28 652

原创 【Fastdfs】Fastdfs分布式文件系统的安装部署使用,结合nginx访问图片,fastdfs连接池connectionpool编写使用,文末有github链接

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。环境:centos 7.X预编译安装组件yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel lib...

2018-12-14 11:39:59 1631

原创 【JAVA】CopyOnWrite的使用

好久没写文章了,最近有种深深的危机感,准备打打鸡血,温故以前看过但是工作中很少用到的知识点。 CopyOnWrite写时复制,JDK中一共有两个类CopyOnWriteArrayList和CopyOnWriteArraySet。顾名思义,就是只有容器中内容被修改的时候,就会copy出一个容器,然后在这个新的容器里改,之后将原容器的引用指向这个新的容器;好处就是对这个容器进行并发读写操作...

2018-10-23 16:29:38 587

原创 【F5 UDP负载均衡】抓包实践,说说F5 UDP硬负载均衡探测后端服务器存活的原理

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。项目背景两台UDP SERVER,通过F5实现硬件的UDP负载均衡,发现UDP SERVER上会定期收到F5的UDP探测包,但是UDP SERVER并没有对这些探测包做过任何响应,所以不明白F5是如何知道UDP SERVER...

2018-07-25 14:57:52 2557

原创 【Kafka】kafka动态获取某个topic的partition信息

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。现在有这样一种场景,系统启动前,预期abc topic创建了一个100个分区,大概用个一段时间,之后可能会动态新增分区数,这就要求生产者在生产数据时,能够动态实时的获取分区数,做到及时有效的哈希生效,让数据进入新增的分区,kaf...

2018-05-17 15:50:35 13328 3

原创 【LVS+Keepalived】 LVS+Keepalived实现tcp、udp负载均衡及HA高可用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。LVS 安装下载http://www.linuxvirtualserver.org/software/index.html编译安装yum install -y kernel-devel gcc gcc-c++...

2018-04-16 10:21:32 5383 1

原创 【DPI】nDPI 开源工程搭建编译运行

编译安装linux环境ubuntu 14.04 LTS前提安装gcc gawkgit下载nDPI源码git clone https://github.com/ntop/nDPI.gitcd nDPI 目录./autogen.sh自动生成配置,会出现一系列错误,解决如下:至此开始autogen

2018-01-30 14:23:56 2405

原创 【Spring Cloud】三、Eureka Consumer 服务注册中心消费者调用服务

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。消费者和服务提供者使用同样的eureka服务端注册中心地址,调用注册中心的服务maven结构如下:application相关配置如下:spring.application.name=consumer-de...

2017-11-24 16:56:52 7421

原创 【Spring Cloud】二、Eureka Client 服务注册中心客户端启动注册服务

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。Eureka客户端启动,将服务注册到eureka服务端注册中心上maven工程结构如下pom文件如下<project xmlns="http://maven.apache.org/POM/4.0.0...

2017-11-24 16:48:03 3419

原创 【Spring Cloud】一、Eureka Server 服务注册中心服务端启动

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。建立maven工程工程结构如下:pom文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...

2017-11-17 16:44:18 3190

原创 【JAVA】gRPC使用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。安装proto 3.+版本参照http://blog.csdn.net/simonchi/article/details/76495696写好proto文件peroson.proto 对象定义文件...

2017-08-04 16:00:52 5543

原创 【JAVA】google protobuf 3.0 安装使用

一开始从官网下载的protobuf 3.3.0的最新版本,但是编译安装的时候有bug,回退到3.0稳定版本下载链接tar.gz解压后安装tar -zxvf xxx.tar.gz./configure --prefix=/home/protobufmakemake install写proto文件syntax="proto3"

2017-08-01 10:14:27 3492

原创 【NetFlow】NetFlow V9协议详细分析

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。摘自百度百科Netflow技术最早是于1996年由思科公司的Darren Kerr和Barry Bruins发明的,并于同年5月注册为美国专利,专利号为6,243,667。Netflow技术首先被用于网络设备对数据交...

2017-05-09 16:40:44 14870 14

原创 【JAVA】系统中关于自定义比例选择的功能实现

这里以我做的系统案例来说,这是一套短信系统,客户端就扔一个号码和短信内容过来,服务端需要首先根据配置判断是否区分运营商,然后根据号段走不同的运营商网关去提交短信sourceId表示接入系统的唯一标识ID,如果不区分的,走下面紫色的三条线,服务端为该接入方配置了三个三网(不区分运营商)网关,并且配置了不同的比例,意思就是60%请求走gw1出去,20%走gw2出去,那么gw3虽然配置了,但

2017-03-31 14:23:09 1251

原创 【JAVA】系统唯一ID生成方案讨论

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。这种文章,网上应该很多了,不过自己不写一遍,总是不会印象太深刻,所以今天为了再度加深印象,自己也写一遍。现在的互联网项目,用户数越来越多,系统基本都是分布式部署,所以基于数据库的自增id这里就不说了。1、UUID这个...

2017-02-21 10:12:15 18341 1

原创 【JAVA】java图片处理类库Thumbnails使用教程,图片缩放、裁剪、旋转、压缩

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。maven dependency<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --><dependency&g...

2017-02-14 16:39:21 16297 6

原创 【Nginx】nginx配置openssl 证书,https

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。生成key和证书配置nginx启用SSL需要编译nginx的该模块--with-http_ssl_module启动nginx输入密码访问nginx免密启动...

2017-01-18 14:50:07 1026

原创 【JAVA/HTTPS】JAVA生成ks,证书,tomcat配置HTTPS访问

参照文章,生成keystore和导出证书http://blog.csdn.net/simonchi/article/details/44170875tomcat配置访问成功火狐IE

2017-01-18 11:06:17 1225

原创 【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。Nginx多级代理,获取客户端真实请求IP以及每级代理IP如图所示,每一级nginx里的location配置里需要加上对应的配置,最后一级nginx是直接到应用,测试时为了方便,直接用echo模块去测试,打印IP地...

2016-12-30 16:44:33 15596 6

原创 【JVM】初识JAVA工具JMC,java mission control,飞行记录器(黑匣子),IBM heapAnalyzer使用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。直接上图,大家自己去实践一下吧,数据比visualvm数据更加丰富,但是这些数据怎么看还得慢慢摸索呢,真是一个利器啊!Java Mission Control飞行记录器在JVM...

2016-10-25 15:54:37 27202 2

原创 【Linux】linux定时清除N天之前的文件,一般用于清除日志文件

定时清除,使用linux的crontab定时任务*  *  *  *  *  command 分 时 日 月 周 命令 清楚日志脚本find /root/smsp/logs/ -mtime +25 -name "zk*.log*" -exec rm -rf {} \;删除/root/smsp/logs目录下25天前修改过的文件,文件格式zk*.log*

2016-08-23 15:20:31 4128

原创 【Redis】Redis的Pipeline管道,批量操作,节省大量网络往返时间

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。一般情况下,大家使用redis去put/get都是先拿到一个jedis实例,然后操作,然后释放连接;这种模式是 请求-响应,请求-响应这种模式,下一次请求必须得等第一次请求响应回来之后才可以,因为redis是单线程的,...

2016-08-17 16:03:49 14629

JAVA SWING台球计费系统

JAVA SWING实现的台球计费系统,解压后,双击bat文件即可运行,前提,您的本机已经安装“好”JDK

2012-11-01

自制台球计费系统,JAVA SWING实现

自制台球计费系统,JAVA SWING实现 免费供大家下载试用

2012-10-29

正则表达式手册

正则表达式开发手册,阅读手册

2012-09-19

DOM JAVA

DOM4J文档

2012-09-19

ibatisjavadoc

ibatisjavadoc

2012-09-19

Flume ng share

flume ng的分享资料. 启动到源码解析,到实例分享

2015-07-01

protobuf 2.5.0

protobuf 2.5.0 hadoop 2.6源码编译需要

2015-02-04

findbugs 3.0.0 tar gz

findbugs 3.0.0 tar gz

2015-02-04

Flume集群环境搭建,flume监控

flume集群环境搭建,详细讲解,图文并茂,包括flume信息监控和众多文章链接

2015-01-13

chiweitree的留言板

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

都这么久了,还未收到过支持呢,求支持啊!!!

发表于 2015-01-13 最后回复 2015-02-04

TCP四次挥手为何有问题啊,少了报文

发表于 2015-01-08 最后回复 2015-01-13

空空如也

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

TA关注的人 TA的粉丝

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