自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

似水灬流年的博客

没啥好说的

  • 博客(154)
  • 收藏
  • 关注

原创 RestTemplate特殊情况及业务实现

1.调用第三方接口返回为列表正常情况调用第三方API返回的是Json格式{ "name" : "li", "data" : [ "love" : "you", "play" : "wawa" ]}返回Json对象特殊情况[ { "alarm_actions": [ "log://" ], "event_rule": {

2020-11-09 14:16:13 325

原创 线程池traceId遗失实记

traceId

2023-09-13 14:37:54 398

原创 Hystrix之Command属性

熔断命令

2022-12-21 20:13:22 413 1

原创 Java异步编程----基于CompletableFuture实现异步计算与结果转换

异步

2022-06-19 11:37:56 527

原创 线程池参数的一点随笔

线程池随笔

2022-06-19 11:37:13 102

原创 Java之时间格式转换

Java实现时间时区转换

2022-06-14 10:38:44 9804

原创 自定义反序列化规则--Java

反序列化器针对从前端或Postman获取的数据,定义转换规则1.自定义Boolean值判定规则使用方法:需要判断的字段上添加@JsonDeserialize(using = BooleanDeserializer.class)自定义规则代码重载 deserialize方法示例代码:0, false 为假 1, true为真public class BooleanDeserializer extends JsonDeserializer<Boolean> {

2022-05-25 18:00:15 305

原创 Java基于Callable实现多线程和线程池

1.多线程Callable 接口有返回值 Runnable 接口没有返回值所以Callable接口实现的多线程或线程池可以判断每个线程的执行结果是否符合预期多线程实现匿名内部类 实现接口、继承Thread类也可以实现for (int i = 0;i<10;i++) { FutureTask 对象接收Callable对象为参数 FutureTask<String> ft=new FutureTask<>(new Callable<Str

2021-06-01 15:58:35 646

原创 Java----多线程以及线程池

1.多线程for 循环采用串行方式,会消耗很长时间多线程可以使 for 循环并行执行,节约时间final CountDownLatch latch= new CountDownLatch(times);times 为循环次数也是创建的线程数 for (int i = 0; i < times; i++) { final int j = i; Thread thread = new Thread(new Runnable(

2021-06-01 10:21:23 94

原创 一个整数的素数因子求解

1.素数因子固定为2个思路:先判断一个数是否为素数,再求解如 15的素数因子为 3 和 5; 1和它本身不算代码class Solution { public static void main(String[] args) { int target = 121; 目标 double sqrt = Math.sqrt(target); List<Integer> list = new ArrayList<>();

2021-05-20 15:43:17 1542

转载 递归法----解决手机号码问题

class Solution { List<String> ans = new ArrayList<>(); 构建map存放元素 Map<String, String> map = new HashMap<String, String>() {{ put("2", "abc"); put("3", "def"); put("4", "ghi");

2021-05-12 16:45:11 105

原创 各种锁机制和JAVA支持的锁

1.读写锁读写锁本质是一个锁,同一时间读锁和写锁不能共存普通查询数据库并不会加锁,特定情况下会加读锁或写锁 (根据业务需求)读锁是共享锁,写锁是排他锁一个线程获取读锁的同时,其他线程也可以获取读锁,实现同时访问共享资源,但此时不允许其他线程获取写锁进行写操作。一个线程获取写锁的同时,阻碍其他线程的读写操作。读共享写互斥2.应用层锁和数据库层锁当单进程服务中需要加锁,尽量使用应用层锁,JAVA支持的应用层锁有 ReentrantLock 和 synchronized 同一

2021-04-01 11:17:41 96

原创 SpringCloud 集成Hystrix之概念篇

1.什么是Hystrix对于分布式系统的延迟和容错特点:功能强大、配置简单、持久稳定 Hystrix 其实就是为了解决在分布式系统中出现的延迟问题、服务间问题而来的一款微服务组件, 其依赖于 Spring Cloud 框架,通过提供一系列保障措施, 来保证我们的分布式系统可以安全平稳的运行2.服务容错与服务降级容错:当系统在运行时,有错误被激活的情况下,仍能保证不间断提供服务的方法和技术容错指的是一种方法或技术,而不是一个方法和技术服务容错:在我们的系统正常运行时,当系统中

2021-03-09 14:48:38 116 2

原创 SpringBoot 数据结构

1.使用模板引擎开发Web项目常见的模板引擎有: FreeMarker 、 Thymeleaf 、 JSP采取模板引擎的方式: 前端的请求,到达 Spring Boot 的控制器后,控制器处理请求,然后将返回数据交给模板引擎。模板引擎负责根据数据生成 HTML 页面,最后将 HTML 返回给浏览器.优点: 1.便于分工协作:后端可以按自己的进度开发接口,前端可以开发页面,需要的时候直接调用后端 API ; 2.便于项目拓展:比如前期是做的网站,后续要加一个 APP ,后端接口可以直接复用;

2021-03-09 13:45:53 320

原创 JVM入门基础

1.JVM的作用跨平台性: 多种操作系统安装JVM都可以运行JAVA代码,如 Windows和Linux 提升了JAVA语言的平台灵活性优秀的垃圾回收机制: 不用手动写代码垃圾回收JDK: 开发工具包,包含JAVA的基础类库以及一些工具类JRE: 一个开发环境,包含JVM实现的类库JVM: 虚构出来的JAVA虚拟机,有自己的一套硬件,使用JVM实现了跨平台2.类加载子系统加载----链接----初始化双亲委派模型----收到类加载请求后,委托其父类加载,依次

2021-03-08 17:42:53 127

原创 自定义响应体拦截器

1.自定义异常抛出格式继承自ResponseBodyAdvice@Slf4j@Order(1)执行顺序优先级 @RestControllerAdvice(value = "com.fitmgr.ces")指定包响应体都会受到拦截 public class ResponseBodyWrapper implements ResponseBodyAdvice { @ExceptionHandler(Exception.class

2021-01-06 15:36:33 213

原创 RestTemplate自定义异常处理

1.前言RestTemplate模块用来调用第三方接口当调用接口抛错时,默认继承DefaultResponseErrorHandler但许多场景下,我们不需要直接调用抛错,而是让流程继续自定义异常允许错误出现且不抛异常public class RestThrowErrorHandler implements ResponseErrorHandler { /** * 无论调用第三方接口是否正常,都不抛异常 * * @param clientHttpR

2020-12-21 16:56:31 1462

原创 JAVA----最后一续

1.Map接口

2020-11-09 14:54:18 120

原创 Mybatis-Plus整合Mysql之过滤条件

1.查询所有,精确匹配public List<Monitor> getall() { List<Monitor> monitor_list = iMonitorService.list( new QueryWrapper<Monitor>().lambda() .in(Monitor::getStatus, "well","bad").in(Monitor::getUid,"1")); 设置过滤规则为匹配 状态

2020-11-09 14:53:30 1558

原创 RestTemplate调用第三方API

1.已知API及功能带token访问添加head Cookie token=MKErXRTeUq5aKzzvYRZkHuvq5QsAKeS2mQ8eDekv headers处添加 Cookie token=....获取tokenhttp://10.127.2.119:5050/v2-beta/token {"code":"fiberhome:fh123456","authProvide

2020-10-30 11:03:09 996

原创 Mybatis-Plus分页及接口API

1.实现逻辑分页Controller层@GetMapping("/query")public IPage<MonitorRo> queryList( @Min(1) @RequestParam (required = false, defaultValue = "10") Integer size, @Min(1) @RequestParam (required = false, defaultValue = "1") Integer current,

2020-10-17 16:36:19 1576

原创 SpringBoot---项目框架

1.简介此次博客主要记录搭建Springboot框架及代码规范需求: 成功与数据库交互整合 Mybatis-plus1.项目结构项目需要引入Maven依赖,在 pom.xml中配置好文件配置如下- application.yml 写入数据库配置server: port: 8080 服务启动端口号spring: datasource: url: jdbc:mysql://fitmgr-mysql:3306/java?char

2020-10-17 16:14:08 151

原创 Selenium实验

1.补充browser.close() 关闭当前页面,防止句柄过多

2020-08-31 10:25:32 227

原创 Selenium 测试工具

1.Selenium介绍Selenium 是一款基于Web应用程序的功能测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。其主要特点如下: 开源,免费 多浏览器支持:Chrome,Firefox,Opera等 多平台支持:Linux,Windows,Mac 多语言支持:Python,Java,Ruby等 对Web页面有良好的支持 API简单,灵活(用开发语言驱动)2.自动化测试优缺点优点:

2020-08-31 10:25:13 629

原创 Git-review 提交代码问题

1.使用 git-review 命令提交代码遇到以下报错报错显示 gbk 无法解码 0xae 非法字符2.原因 出现此问题是因为python在用gerrit库的时候, 使用了windows系统默认的gbk编码,但文本实际编码是utf-8 所以我们需要改变系统默认的编码为utf-83.解决方案Window10操作系统 开始界面搜索 "语言",会跳转到设置里的语言页面,点击右上角的 "管理语言设置"; 在管理页面点击 "更改系统区域设置",勾选 "Beta版:使用U

2020-08-29 17:07:47 2637

原创 SpringBoot框架----入门知识

1.第一个程序环境配置,需要下载 Maven ,框架生成后在 src/main/java/自定义应用名中写入import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springfr

2020-08-05 17:35:01 158

原创 JAVA----再续集

1.类型转换基本类型转字符串数字转字符串Integer.toStringString.valueof数值 + ''字符串转数字Integer.parseInt2.集合的一丢丢区别Arraylist<String> 集合定义其中元素的数据类型下分为 set 和 listset: 规定其中不允许出现重复元素且元素无序list: 允许重复但元素有序,先进先出...

2020-07-31 16:38:51 88

原创 JAVA----基础续集

1.类型判断instanceof关键字用于判断对象引用类型if (animal instanceof dog) {}判断 new 出来的对象属于父类还是子孙类2.final关键字修饰类时不能有子类 (太监类)修饰方法时为最终方法,不能再被覆盖重写...

2020-07-30 11:16:47 89

原创 JAVA之----基础

1.字符串concat 字符串拼接操作charAt 获取其中元素indexOf 获取某元素索引== 判断地址位是否相等equals 判断内容是否相等substring(a,b) 从某处索引开始截取,左闭右开\\. 以.为分隔符分割需要加两个斜杠,正则...

2020-07-28 14:45:36 92

原创 JAVA之-----类与对象

1.输出数组import java.util.Arrays;public class test { public static void main(String[] args) { int[] list = {1, 2, 3}; System.out.println(Arrays.toString(list)); } }直接输出 list 会打印出数组的地址位,使用 tostring 则可以打出数组内容方法名类型的确定取决于该方法的返回值

2020-07-24 10:15:40 94

原创 JavaScript基础之----2

1.数组里面存储的数据类型无限制,可多种

2020-06-22 15:16:35 102

原创 JavaScript基础之----1

1.弹出框法则在一个创建好的HTML页面上<body># 内嵌式JS<script> alert('我是只小白鼠') </script># 行内式JS交互<input type="button" value="唐伯虎" οnclick="alert('啊 是秋香')"># 外部引入JS文件, 在外部文件写入JS代码<script src='my.js' ></script></body>访问

2020-05-29 21:03:44 184

原创 Django——ModelForm随笔

1.简介ModelForm模块是 model和form的结合下面看使用方法模型设计from django.forms import ModelFormclass Blog(models.Model): title = models.CharField(blank=False, max_length=40, unique=True, verbose_name='标题') body = models.TextField(verbose_name='内容') create_

2020-05-26 16:35:01 165

原创 经验之三

1.使用 repr 显示内容及类型信息python内置的 print 函数有时会隐藏值得类型信息b = 5a = '5'print(b, a)5 5 只通过 print 函数无法得知其数据类型b = repr(5)a = repr('5')print(b, a)5 '5' 通过 repr 函数直观的看出其数据类型2.为程序...

2020-05-12 17:52:03 106

原创 Mitmproxy 实现HTTP监控与篡改

1.小知识实现 content 修改import requestsurl = 'http://www.xiyou.edu.cn' 西邮官网response = requests.get(url)text = response.content.decode('utf8') text = text.replace('西安邮电大学', '屈哥')...

2020-04-23 19:16:54 2505

原创 经验之二

多个辅助类能更好的完成功能

2020-04-16 17:46:49 118

原创 经验之一

1.遵循 PEP8 风格采用一致的风格书写可以使代码易于读懂,也会使项目更利于多人协作1.和语法相关的每一层缩进都用4个空格来表示2.文件中的函数与类之间应该用两个空行隔开3.在同一个类中,各方法之间应该用一个空行隔开4.函数、变量及属性应该用小写字母来拼写,各单词之间用下划线相连5.私有的实例属性,应该以两个下划线开头6.受保护的实例属性,应该以单个下划线开头2.字符序列类型...

2020-04-12 18:39:10 98

原创 Python进阶----Sixth

1.前言重新定义 eq 方法, 判断是否为类的实例对象 def __eq__(self, other): if isinstance(other, Ve): return len(self) == len(other) and all(a == b for a, b in zip(self, other)) else: ...

2020-03-24 22:02:10 136

原创 Python进阶----Fifth

1.序列协议Python的序列协议只需实现__len__和__getitem__方法首先创建一个 Ve类的升级版class Ve: test = 'd' def __init__(self, components): self._components = array(self.test, components) def __iter__(self...

2020-03-23 13:38:39 134

原创 Python进阶----Forth

1.自定义向量类class Ve: def __init__(self, x, y): self.x = x self.y = y def __iter__(self): return (i for i in (self.x, self.y)) def __str__(self): return str(...

2020-03-18 10:01:59 219

空空如也

空空如也

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

TA关注的人

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