自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大树叶 技术专栏

骨灰攻城狮 架构师

  • 博客(1357)
  • 资源 (2)
  • 收藏
  • 关注

原创 redis 备份和恢复 :redis-dump安装与导出redis数据

这里说下redis-dump的安装和简单使用一、安装redis-dumpredis-dump安装的时候一般都会遇到下面的错误:ERROR: Error installing redis-dump:redis requires Ruby version >= 2.2.2.所以这里我直接按照解决方案来安装redis-dump.1、安装rvm:# gpg...

2018-07-02 17:38:55 3441

原创 linux TCP 和 socket 参数设置

tcp_syn_retries :INTEGER默认值是5对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的)tcp_synack_retries :INTEGER默认值是

2016-04-30 00:37:41 9484

原创 KafkaListener动态指定多个topic

KafkaListener动态指定多个topic

2022-11-04 17:53:47 379

原创 springboot nacos配置详解

nacos spring config

2022-10-19 00:03:53 83

原创 【无标题】在feign post中,如何发送 form-url-encoded 数据

feign post pplication/x-www-form-urlencoded

2022-09-17 17:51:33 190

原创 centos 上 用docker 方式安装yapi

yapi install docker

2022-07-08 13:58:34 326

转载 Spring Boot RestControllerAdvice的用法

在Spring Boot中,应该用RestControllerAdvice 来统一异常处理在做前后端分离的项目时,后端通常都会拆分成多个独立的微服务,这时候就会涉及每个服务返回给前端的数据格式问题了。下面就来实现一个比较常用的数据格式,统一所有服务的返回值格式。一般返回的数据格式会包括4个部分,第一部分: 请求处理是否成功,第二部分:服务处理结果编码,第三部分:编码对应的文本信息,第四部分:返回值。如下所示:{“result”: true,“code”: 1000,“message”: “SUC

2022-03-03 17:18:35 960

原创 k8s argo 技术资料汇总

中文资料http://www.360doc.com/content/21/0130/15/46368139_959729495.shtmlofficial web sitehttps://github.com/argoproj/argo-workflowsArgo SDK Javahttps://github.com/argoproj/argo-workflows/tree/master/sdks/javaworkflows APIhttps://github.com/argoproj/arg

2022-01-09 19:12:17 413

原创 k8s volume 小议

1.Volume简介我们经常会说:容器和 Pod 是短暂的。其含义是它们的生命周期可能很短,会被频繁地销毁和创建。容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,可以使用 Kubernetes Volume。Volume 的生命周期独立于容器,Pod 中的容器可能被销毁和重建,但 Volume 会被保留。本质上,Kubernetes Volume 是一个目录,这一点与 Docker Volume 类似。当 Volume 被 mount 到 Pod,Pod 中的所有容器

2022-01-03 23:42:23 106

转载 k8sg关于Secret的说明

k8sg关于Secret的说明参考文章:https://blog.csdn.net/skh2015java/article/details/109228364

2022-01-03 20:26:59 56

转载 java8 stream 分组的性能对比

java

2021-12-29 21:57:10 216

原创 【无标题】

SpringBoot的MockMvc那些事情SpringBoot基础之MockMvc单元测试在SpringBoot如何配置编写测试类编写test case查看测试结果SpringBoot基础之MockMvc单元测试MockMvc是由spring-test包提供,实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,使得测试速度快、不依赖网络环境。同时提供了一套验证的工具,结果的验证十分方便。接口MockMvcBuilder,提供一个唯一的build方法,用来构造MockM

2021-12-10 17:18:53 265

原创 Jenkins pipeline脚本编写

参考文章Jenkins pipeline脚本编写实践分享(一)上篇Jenkins pipeline脚本编写实践分享(一)下篇

2021-10-11 00:50:41 315

转载 istio网络转发分析

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入关于istio网络转发分析的文章,见这篇文章不错:https://developer.aliyun.com/article

2021-10-10 20:06:43 93

原创 java random 随机性和安全性小议

Math.random() 静态方法当第一次调用 Math.random() 方法时,自动创建了一个伪随机数生成器,实际上用的是 new java.util.Random()。当接下来继续调用 Math.random() 方法时,就会使用这个新的伪随机数生成器。public static double random() { Random rnd = randomNumberGenerator; if (rnd == null) rnd = initRNG(); // 第一次调用,创建.

2021-10-08 16:45:55 1239

原创 Java8 Date调整时间用法

Java8 Date调整时间用法Date mydate=new Date();mydate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));

2021-08-19 15:20:38 1550

原创 MySqL (5.7 or above) only_full_group_by问题

MySql数据库报错如下:ERR-CODE: [TDDL-4614][ERR_EXECUTE_ON_MYSQL] Error occurs when execute on GROUP ‘SHEBAO_TAX_16237**************FARD_IN18_0000’ ATOM ‘rm-2ze5d6f76yg43c2m3__tax_yfpr_0000’: Expression #3 of SELECT list is not in GROUP BY clause and contains non

2021-08-10 16:05:11 329

原创 FTPClient.listFiles() 获取目录里的文件为空的解决

写个功能要从ftp服务下载文件,在本地的ftp服务一切ok(window环境),但是在Linux环境发现不管切换到哪个目录,获取什么文件,调用FTPClient.listFiles()方法时返回的始终为空,但是代码又运行正常没有异常抛出。然后断点ftp.getReplyCode()也返回230登陆成功.在调用FTPClient.listFiles()方法前,先调用FTPClient.enterLocalPassiveMode();就可以了。下面是完整的ftp util例子package com.tes

2021-08-08 21:05:00 2279

转载 Java lamda和predicate用法例子

参考1.JAVA8之lambda表达式详解,及stream中的lambda使用2. 深入浅出 Java 8 Lambda 表达式

2021-08-03 17:59:42 202

原创 java8 stream, map, Option 等函数式编程的使用例子

java8中 stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。为函数式编程而生。对stream的任何修改都不会修改背后的数据源,比如对stream执行过滤操作并不会删除被过滤的元素,而是会产生一个不包含被过滤元素的新stream。惰式执行。stream上的操作并不会立即执行,只有等到用户真正需要结果的时候才会执行。可消费性。stream只能被“消费”一次,一旦遍历过就会失效,就像容器的迭代器那样,想要再次遍历必须重新生成。str

2021-08-02 16:53:47 309

原创 Java中使用动态mybatis语句经典用法

在Java中使用动态mybatis语句访问DB的例子如下,官方建议不用XML.package com.test.econtract.esign2bcore.dao;import com.test.econtract.esign2bcore.dao.model.PlatformInfoDO;import org.apache.ibatis.annotations.*;import org.springframework.stereotype.Repository;import java.util

2021-07-30 11:35:49 95

原创 mybatis动态script加入 >=号

@Select({"<script> ", " SELECT * FROM ext_statement_records WHERE business_system_id=#{businessSystemId} AND <![CDATA[date1 <=#{toDate} ]]> ", " AND id IN ", "<foreach collection='idList' item='item' open='(' close=')' separator=',

2021-07-30 11:31:48 178

原创 finally 和 return语句执行的先后顺序

finally 和 return语句执行的先后顺序 private int beforereturn(){ log.info("beforereturn run"); return 1; } private int testfinally(){ try{ int a=1; } catch (Exception e){ log.info("catch exception");

2021-07-28 15:04:53 62

转载 java sftp 和 ftp util例子

文章应用1: Java使用SFTP和FTP两种连接服务器的方式实现对文件的上传下载

2021-07-24 16:28:37 48

转载 K8s中的StatefulSet应用

参考文章1.StatefulSet在k8s的应用(Mysql)2. StatefulSet在K8s的应用(Elastic Search)

2021-07-18 19:57:08 590

原创 k8s 精华帖子

1.k8s暴露服务的三种方式

2021-07-04 17:35:00 70

原创 SQL where 的元组使用

select * from verification_mark_results where (business_system_id,record_id) in ((12001,4780160),(12001,4780161));

2021-07-02 22:00:47 158

原创 java8 optional那些事

java8的Optional让很多小伙伴减少了很多NullPointerException,虽然代码比较优雅,短小精干,但是语法比较晦涩难懂,故整理如下。1:调用他人接口时,再也不用各种判断了传统情况下,我们通过http工具或者使用微服务feign的方式调用其他接口,总是担心别人的接口返回各种奇怪的东西,甚至还有在字段上“缺斤少两”的情况。先判断返回code是不是成功,然后判断数据存不存在,一来二去,写了很多冗余代码,java8 的Optional 则可以优雅的处理上述情况。预期的返回结果:

2021-06-23 11:16:31 64

转载 茅台识别方法

1.2021最全面鉴别茅台酒的真假(终极篇)

2021-06-09 18:49:15 71

原创 缓存和数据库的一致性的那些事

问题场景:主要有以下场景,会导致缓存和 DB 的一致性问题:并发的场景下,导致读取老的 DB 数据,更新到缓存中。 缓存和 DB 的操作,不在一个事务中,可能只有一个操作成功,而另一个操作失败,导致不一致。当然,有一点我们要注意,缓存和 DB 的一致性,我们指的更多的是最终一致性。我们使用缓存只要是提高读操作的性能,真正在写操作的业务逻辑,还是以数据库为准。例如说,我们可能缓存用户钱包的余额在缓存中,在前端查询钱包余额时,读取缓存,在使用钱包余额时,读取数据库。更新缓存的设计模式1.Ca

2021-06-06 19:20:52 101

原创 java8 流式写法那些事

Java8有好多新的写法,眼花缭乱,如下:例子1:Java以前的写法 List<Long> recordsIDlist = new ArrayList<>(retrecordsList.size()); retrecordsList.forEach(item -> {recordsIDlist.add(item.getRecordId());}); Java8 新写法List<Long> recordsID.

2021-06-04 15:43:10 372

原创 Mysql: select 0 和 select 1的意义

Select 0:写法1:select * from tab a where exists(select 0 from tab b where a.id=b.id)写法2:select * from tab a where exists(select * from tab b where a.id=b.id)select 0在这里没有意义 这样写可以提高查询速度 因为不用在展现真实数据,与上边效果一样 上边的效率更高。当我们只关心数据表有多少记录行而不需要知道具体的字段值时...

2021-05-10 15:40:21 2647

原创 mysql 8优化实战例子

表:tax_salary_person, 目前为 6,577,256记录慢SQL:我在mysql执行为 10.16s, 执行多次,平均在10s,扫描 4.38M, 返回1300SELECT id, natural_person_id, company_id, net_amount_total, payer_id , agency_id, tax_assessment_section_type, tax_period, create_time, update_time , is_de...

2021-05-08 14:29:07 60

原创 Java lambda 的简明使用

前言Lambda表达式是Java SE 8中一个重要的新特性,优点与缺点如下:优点:代码量减少,提升了开发效率 集合操作也得到了极大的改善 函数式编程是技术的发展方向,而Lambda时函数式编程最基础的内容,所以,Java8中加入Lambda表达式本身时符合技术发展方向的。 通过引入Lambda,最直观的一个改进是不用再写大量的匿名内部类,还有更多由于函数式编程本身特性带来的提升。比如:代码的可读性会更好,高阶函数引入了函数组合的概念。Lambda的引入,集合操作也得到了极大的改善。比如:引

2021-05-04 11:49:45 76

原创 驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)之间的转换

本例子在jdk上验证通过!String field1 = "business_no1";String field2 = "id";String field1_L = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, field1); //field1_L 值为 businessNo1String field2_L = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, field.

2021-05-01 23:19:36 204

原创 C++ 宏的使用

#include <cstdlib>#include <iostream>using namespace std;class Dummy {private: string callfuncname;public: Dummy(string name){ callfuncname=name; cout<<callfuncname<<"In"<<endl; }; ~Dummy()...

2021-03-24 21:36:51 84

原创 在Springboot中如何配置全局的transaction事务

在我们的spring boot工程中,基本是要处理mysql等数据库的数据的,而springboot实现事务只需要 public 方法在头上加上@Transactional注解就可以了,@Transactional 默认只捕获RuntimeException.class,对Exception异常得需要 @Transactional(rollbackFor = {Exception.class}) 捕获回滚。但是当项目特别大的时候,对所有的service 都加上事务 ,显得非常麻烦。可以通过aop 方式实现.

2021-03-20 17:00:17 1826 1

原创 探讨缓存技术中的几大问题及其预防措施

我们知道,缓存使用中有常见的三大问题:1.缓存穿透,2.缓存击穿,3.缓存雪崩,本文总结列出常见的解决方案,以供参考。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写,并且处于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。缓存穿透意味着当用户查询数据库不存在数据时,返回的结果为空,并且结果不会在缓存中存...

2021-03-16 22:40:52 106

转载 在springboot2.0 中小议 WebMvcConfigurer

注:很多文章说从spring boot2.0之后在构造spring配置文件时建议推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport ,经测试实现WebMvcConfigurer是没问题,但继承WebMvcConfigurationSupport类是会导致自动配置失效的。详细过程点击这里。本文重点是说说在spring boot中如何使用WebMvcConfigurer.1、WebMvcConfigurer介绍WebMvcConfigu.

2021-03-15 09:42:04 123

原创 Java那些事: @Retention 的含义

下面是一个java 注解的例子@Documented@Target(ElementType.METHOD)@Inherited@Retention(RetentionPolicy.RUNTIME)public @interface MethodInfo{ String author() default "Pankaj"; String date(); int revision() default 1; String comments();}其中注解@Re.

2021-03-15 00:32:49 320

程序员代码面试指南2-代码

《程序员代码面试指南第二版2》左程云 配套的所有的算法源代码

2019-07-07

dom4j jar包

dom4j v2.0 jar包。开发XML的必备利器

2016-02-10

空空如也

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

TA关注的人

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