自定义博客皮肤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

  • 博客(271)
  • 资源 (9)
  • 收藏
  • 关注

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

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

2019-03-26 22:57:38 1128

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

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

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

原创 【JAVA】类文件具有错误的版本 61.0, 应为 52.0

类文件具有错误的版本 61.0, 应为 52.0;JDK版本依赖问题修复;

2022-09-01 11:22:03 71205 7

原创 【后端知识总结】常用的研发知识总结

常用研发知识总结

2022-07-05 19:30:37 494

原创 【Linux】 Linux的多年工作经验总结,高频知识和技术原理

Linux常用知识

2022-06-16 08:13:58 589

原创 【布隆过滤器】布隆过滤器的原理

布隆过滤器

2022-06-06 19:30:03 279

原创 【XXL-JOB】 XXL-JOB 部署安装及使用

简介XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。选型框架对比(前人总结)feature quartz elastic-job-cloud xxl-job antares opencron 依赖 mysql jdk1.7+, zookeeper 3.4.6+ ,maven3....

2021-04-08 13:16:21 8517

原创 【feign】spring cloud feign声明式服务调用,springboot集成独立使用,不需要集成ribbon、hystrix、注册中心eureka等

背景项目整体容器化,服务注册发现依赖SVC,内部服务调用全部过通过service name调用,走http协议,所以为了内部模块间调用的代码简化,选择了feign声明式服务调用,对HTTP的调用解析非常便捷,具体参照如下两个工程:服务提供方https://github.com/cwtree/cube-feign-provider.git服务消费方https://github.com/cwtree/cube-feign-co...

2021-03-12 17:50:17 957 1

原创 【mysql】springboot中使用 mybatis 实现乐观锁,支持并发更新,数据一致

【乐观锁】相对于悲观锁,在对数据库进行处理的时候,乐观锁并不会使用数据库提供的锁机制。一般的实现乐观锁的方式就是记录数据版本。乐观并发控制相信事务之间的数据竞争(data race)的概率是比较小的,因此尽可能直接做下去,直到提交的时候才去锁定,所以不会产生任何锁和死锁。一般是在数据表中加入一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version指会加一。当线程A要重新更新数据值时,在读取数据的时候也会读取version值,在提交更新时,若刚才读取到的vers.

2021-03-02 14:10:49 3671 3

原创 【framework】工程示例 通用工程脚手架初始化

比较通用的工程脚手架,用于初始化项目工程工程github地址:https://github.com/cwtree/cube-project.git包括的功能如下:1、参数校验2、swagger API3、package分层示例4、打包、脚本5、tk.mybatis集成6、统一manager层的缓存封装7、异步@Async8、线程池threadPool9、分布式锁shedlock redis10、轻量级定时任务等等希望大家一起fork,提交PR,一.

2021-02-20 17:11:37 334

原创 【jasypt】jasypt升级到3.x报错Failed to bind properties under ‘属性名‘ to java.lang.String

springboot 2.x工程,将jasypt升级到3.x-->3.0.3后,配置一个属性为加密,工程启动后报错如下 #### # # ##### ###### # # # # # # # # # # ##### ##### # # # # # # # # # # # # # #### #### ##

2021-02-12 20:05:43 8222 1

原创 【架构】Apollo 配置中心 实践过程

技术选型本人并未对当前市场上所有的配置中心做过深度使用体验。结合前辈们总结的对比优缺点进行分析,同时使用过alibaba nacos和ctrip apollo,综合评估选型apolloapollo可以说是一套完整的配置治理的解决方案,不仅仅是这个简单的配置中心的作用;而nacos是配置中心和注册中心二合一的产品,其中配置中心的整个使用过程中缺乏治理的作用,比较简单粗暴。apollo有openAPI,跨语言支持,针对其它语言的客户端也可以按照标准API接入。安装部署..

2021-02-05 15:18:16 782

原创 【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 13998

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

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

2020-07-21 00:05:40 908

原创 【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 6354

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

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

2020-04-22 15:59:00 5146

原创 【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 5378 1

原创 【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 751

原创 【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 2100

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

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

2020-02-20 14:44:53 3461

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

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

2020-02-19 17:24:00 810

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

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

2020-02-14 14:22:14 3480

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

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

2020-02-08 14:37:54 856

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

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

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

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

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

2019-08-07 14:19:39 361

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

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

2019-05-22 11:31:04 1415

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

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

2019-01-03 17:59:11 1665

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

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

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

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

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

2018-12-20 08:57:28 1247

原创 【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 2238 1

原创 【JAVA】CopyOnWrite的使用

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

2018-10-23 16:29:38 1092

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

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

2018-07-25 14:57:52 5228

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

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

2018-05-17 15:50:35 18661 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 7803 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 3157 1

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

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

2017-11-24 16:56:52 8290

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

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

2017-11-24 16:48:03 3898

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

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

2017-11-17 16:44:18 3867

原创 【JAVA】gRPC使用

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

2017-08-04 16:00:52 7311

原创 【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 4237

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

JAVA SWING台球计费系统

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

2012-11-01

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

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

2012-10-29

ibatisjavadoc

ibatisjavadoc

2012-09-19

DOM JAVA

DOM4J文档

2012-09-19

正则表达式手册

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

2012-09-19

空空如也

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

TA关注的人

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