![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
后端
文章平均质量分 80
后端
IccBoY
编程爱好从业者,业余时间喜欢写写代码
展开
-
Nacos配置中心-介绍与配置
当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。但如果尚未读取application.yml,又如何得知nacos地址呢?转载 2023-11-30 23:49:32 · 786 阅读 · 0 评论 -
InetAddress.getLocalHost() 执行非常慢
昨天同事反馈网关的请求非常慢,一个获取的token的接口响应都超过了30s,还好只是测试环境。经过验证,几乎所有接口响应都很慢,很多都响应超时。排查步骤:0. 本地启动项目测试,没有这个问题。而且生产环境也没这个问题,推测是 环境问题,或择资源问题导致。1. 通过arthas的trace命令来查找方法执行链路上的 哪里比较耗时。但通过验证,调用方等待请求响应,花了70s,从arthas的日志来看,只花费了0.01ms。因此推测,耗时是在进入目标方法只之前,都已经卡主了。2. 由于拦截器比较多,就没有去分析哪原创 2023-11-03 16:24:35 · 927 阅读 · 0 评论 -
Dubbo序列化与反序列化问题、服务端获取到的请求参数类型转换异常(变成了Map类型的对象)
Dubbo相关问题合集原创 2023-02-14 10:27:26 · 1682 阅读 · 0 评论 -
工作流flowable任务退回(任务跳转)、任务重新触发、任务删除的实现
在进行flowable工作流的运用中,会涉及到任务的的一些特殊操作,如:退回,跳转,删除,重新触发等原创 2023-01-08 12:23:26 · 6992 阅读 · 14 评论 -
双重检查锁中的指令重排问题---Java单例模式实现
使用synchronized之后,可以保证线程安全,但是synchronized将全部代码块锁住,这样会导致较大的性能开销,因此,人们想出了一个“聪明”的技巧:双重检查锁DCL(double checked locking)的机制实现单例。指令重排序是指编译器或处理器为了优化性能而采取的一种手段,在不存在数据依赖性情况下(如写后读,读后写,写后写),调整代码执行顺序。这是一个懒汉式的单例实现,众所周知,因为没有相应的锁机制,这个程序是线程不安全的,实现安全的最快捷的方式是添加 synchronized。转载 2022-09-15 11:14:01 · 601 阅读 · 0 评论 -
JVM学习笔记1-Java内存区域
认识虚拟机虚拟机系列Sun Classic/Exact VM 第一款商用Java虚拟机HotSpot VM 目前使用范围最广的Java虚拟机Mobile系列 面对移动和嵌入式市场BEA JRockitIBM J9 VMBEA Liquid VMGoogle Android Dalvik VMApache HarmonyMicrosft JVM未来的Java技术模块化 > 混合语言 > 多核并行 > 丰富语法 >原创 2021-02-25 08:36:02 · 241 阅读 · 2 评论 -
Spring IoC及AOP源码笔记分享
记得还是两三年前试着阅读过spring的源码,但没有方式方法,导致迷失在浩瀚的代码行中,似懂非懂。最近又开始阅读学习spring的源码,这次的方法是视频+博文的方式+不断的代码调试,终于见得庐山真面目。下面推荐田小波的spring源码系列,确实不错。本文记录已做收藏。Spring 源码分析文章列表Ⅰ. IOC更新时间 标题2018-05-30 Spring IOC 容器源码分析系列文章导读2018-06-01 Spring IOC 容器源码分析 - 获取单例 bean2018-06-04 S转载 2021-03-03 23:06:26 · 232 阅读 · 1 评论 -
使用Optional.of、ofNullable、orElse、orElseGet遇到的坑
of()与ofNullable()的区别从方法名上对比理解,就是ofNullable() 可以支持null值,那of()就不支持null值。下面看下源码:java.util.Optional.java /** * Returns an {@code Optional} with the specified present non-null value. * * @param <T> the class of the value * @pa原创 2021-06-10 12:38:48 · 12570 阅读 · 1 评论 -
devtools导致getBean获取不到实例No qualifying bean of type解决
最近在项目A中需要使用组件B的功能,组件B通过maven jar包的方式依赖到项目A中。其中组件B中有一段代码的逻辑是:通过接口的名字(含包名) 反射获取对应的 class,然后通过spring的getBean(class) 获取对应的bean实例,用于后续的操作。类似下面的代码:@Autowiredprivate ApplicationContext ctx;....Class api = Class.forName("com.xxx.xxx.api.provider.IUserSer原创 2021-07-27 16:52:06 · 1623 阅读 · 0 评论 -
Java单元测试实践-理论->实践->Sonar集成
本文说明了单元测试与集成测试的区别,并从单元测试命名规范,编写(Given-When-Then),单元测试工具(mock工具及断言工具),以及maven插件实现单元测试和集成测试的分开执行方面,和与sonar集成进行了实践。原创 2022-01-24 02:33:36 · 2077 阅读 · 0 评论 -
Java8新特性学习笔记
java8新特性学习笔记,主要包含Lambda 表达式、Stream API、方法引用、函数式接口等内容。原创 2021-01-18 16:26:08 · 259 阅读 · 1 评论 -
JAVA线程三种创建方式
一般来说,在java中实现高并发是基于多线程编程的,所谓并发,也就是多个线程同时工作,来处理我们的业务,在机器普遍多核心的今天,并发编程的意义极为重大,因为我们有多个cpu供线程使用,如果我们的应用依然只使用单线程模式来工作的话,对极度浪费机器资源的。所以,学习java并发知识的首要问题是:如何创建一个线程,并且让这个线程做一些事情?这是java并发编程内容的起点,下面将分别介绍多个创建线程,并且...原创 2019-03-07 22:39:03 · 64 阅读 · 0 评论 -
Redis入门及集群环境搭建
笔者在两周前对redis也是一无所知,不知道这是个什么东东,有什么用。由于项目需求,需要尽快掌握redis 的使用,本文是笔者在学习过程中的笔记和总结。通过本文带领读者一步步揭开Redis的面纱,主要涉及了Redis概念、安装、集群和在应用程序中的使用。原创 2015-02-04 17:57:14 · 1682 阅读 · 0 评论 -
Java系统插件开发原理与实例
java系统的插件开发,类似系统中定义一个接口,给插件的开发者,然后开发者按照实现该接口后,打包成jar(zip)上传到系统中,并告知系统实现类的名字,然后系统就能调用该插件了。该实现方法用到了java动态加载类的技术,主要是ClassLoader。原创 2014-12-13 00:09:29 · 8963 阅读 · 3 评论 -
spring 、jpa、classpath几个注意的地方
前段时间在搭建java web框架时遇到的问题,在这里总结下。原创 2014-12-14 16:05:12 · 1110 阅读 · 0 评论 -
Apache ActiveMQ -- Version 5入门指南
本文为是ActiveMQ5的入门指南的中文译文。描述了如何在Unix和Windows的平台上安装和配置ActiveMQ。官方入门指南http://activemq.apache.org/version-5-getting-started.html翻译 2015-08-23 00:11:52 · 4010 阅读 · 0 评论 -
windows变量环境
%SystemDrive% 操作系统所在的分区号。如 C:%SystemRoot% 操作系统根目录。如 C:\WINDOWS%windir% 操作系统根目录。如 C:\WINDOWS%ALLUSERSPROFILE% 相当于 C:\Documents and Settings\All Users%APPDATA% 相当于 C:\Documents and Setti原创 2015-08-26 20:18:15 · 700 阅读 · 0 评论 -
Altova XMLSpy格式化json的问题
Altova XMLSpy格式化json的问题原创 2015-08-07 12:36:35 · 2892 阅读 · 0 评论 -
Git解决文件冲突、强制更新
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。 1.先将本地修改存储起来$ git stash这样本地的所有修改就都被暂时存储起来 。用git stash list可以看到保存的信息。其中stash@{0}就是刚才保存的标记。 2.暂存了本地修改之后,就可以pull了$ git pull3.还原暂存的内容$ git stash pop stash@{0}原创 2016-03-05 21:03:27 · 18797 阅读 · 1 评论 -
golang实现图片颜色反转、图片灰度、缩放、转为字符画
看到网上很多通过字符形成的画,觉得很好玩,于是网上搜索了下原来叫字符画。 见百度百科:https://baike.baidu.com/item/%E5%AD%97%E7%AC%A6%E7%94%BB/1347002发现了一篇文章手把手教你图片转ASCII码图 这篇文章采用的是javascript编写的,讲了其中的缘由。大概原理是首先将图片会话处理,然后根据灰白图片后的每个像素的rgb值,转成对应的......原创 2017-09-02 20:29:23 · 10868 阅读 · 2 评论 -
UML学习笔记
分类UML2.2中一共定义了14种图示,分类如下:结构式图形:强调系统式的建模行为式图形:强调系统模型中触发的事件交付式图形:属于行为式图形子集合,强调系统模型中资料流程结构式图形静态图(类图,对象图,包图)实现图(组件图,部署图)剖面图复合结构图行为式图形活动图状态图用例图交付式图形通信图交互概述图(UML2.0)时序图(UML2.0)时间图(U...原创 2018-09-25 09:07:06 · 235 阅读 · 0 评论 -
数字证书学习笔记汇总
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Ne...原创 2019-03-07 00:00:37 · 862 阅读 · 0 评论 -
utf8_unicode_ci与utf8_general_ci的区别 - mysql
每次创建mysql数据时都选择字符集 utf8 及 排序规则utf8_unicode_ci,但总是不知道utf8_unicode_ci与utf8_general_ci的区别,今天就借用网络上的一篇文章学习下。一、官方文档说明下面摘录一下Mysql 5.1中文手册中关于utf8_unicode_ci与utf8_general_ci的说明: 当前,utf8_unicod转载 2014-12-16 11:46:24 · 1570 阅读 · 1 评论