java
文章平均质量分 70
看不见鲸鱼的鼻子
这个作者很懒,什么都没留下…
展开
-
Grpc版本冲突导致SecretGrpclbNameResolverProvider$Provider could not be instantiated
错误提示:Exception in thread "main" java.util.ServiceConfigurationError: io.grpc.NameResolverProvider: Provider io.grpc.grpclb.SecretGrpclbNameResolverProvider$Provider could not be instantiatedjava.lang.VerifyError: Cannot inherit from final class错误原因调原创 2021-11-01 18:22:25 · 1172 阅读 · 1 评论 -
Java编写IO文件操作以及保存本地和下载文件接口
概念涉及到文件操作就离不开流这个概念, 流对象概念简单可以简单地理解为帮我们创建一个内存与系统文件的通道,帮我们做文件读取到内存以及内存二进制信息保存磁盘的功能.流对象流对象根据字节数据的流向,分为输入流(InputStream)和输出流(OutputStream).比如我们需要从指定位置加载文件内容到内存中,那我们就需要创建一个输入流,来帮我们将文件信息传输过来.我们需要将内存信息保存到指定地方(可能是本地,可能是远程请求), 那我们就需要创建输出流,将该信息通过输出流从内存中保存到其他地原创 2021-08-18 19:45:03 · 873 阅读 · 0 评论 -
Jetcd客户端集成与SSL TLS认证设置
前情提要使用JETCD-Java客户端无法直接使用cfssl生成的.pem授权信息(只对于私钥信息,公钥所需格式都是一致的).所需的KeyFile文件必须是pkcs#8格式的.key文件才能够被netty读取到(默认生成的是**-key.pem的私钥信息,其文件格式是pkcs#1的格式)使用如下命令进行转换netty所需私钥需要将pkcs#1的.pem私钥转换为pkcs#8的.key格式的私钥.openssl pkcs8 -topk8 -nocrypt -in client-key.pem -o原创 2021-06-15 20:38:10 · 1881 阅读 · 1 评论 -
一文记住Spring-AOP原理
AOP面向切面编程(让业务更关注业务)AOP面向切面编程技术思想是OOP面向对象编程思想的补充拓展OOP通过继承、封装、多态等概念将一系列有共同载体的属性动作集合约束至一个对象中AOP是不同业务模块相同行为功能统一管理实现的思想,这些功能通常是与业务无关的系统相关功能,例如日志记录、异常处理、事务管理、性能监控等.如果利用OOP实现则会造成高度耦合与代码重复性AOP技术思想将这些与对象核心业务没有关系的功能层面称为切面,在运行中动态切入至指定切入点,而对业务方面没有感知,没有侵入,可以优雅的解决这原创 2021-03-09 15:00:02 · 166 阅读 · 0 评论 -
JDBC连接Mysql长时间无动作连接失效
错误场景介绍做的有一个项目使用JDBC手动创建Connection实现了一个简单的自定义数据库连接池,用来支持Canal解析数据库Binlog指定业务库的插入修改SQL来进行数据库分表备份(按照月份)操作.但是发现当一个一段时间(较长)没有进行数据库操作时,连接都失效了,导致SQL执行失败失效提示为No operations allowed after connection closed查明原因经过搜索发现这个问题是由于Mysql默认一个已创建的长连接28800秒(八小时)内没有任何动作则会断原创 2021-02-16 15:58:31 · 1588 阅读 · 0 评论 -
EasyPOI使用和错误解决分享
Excel导出1. 编写导出类import com.alibaba.excel.annotation.ExcelProperty;import com.alibaba.excel.annotation.format.DateTimeFormat;import com.alibaba.excel.annotation.write.style.ColumnWidth;import com.alibaba.excel.annotation.write.style.ContentRowHeight;im原创 2020-09-30 19:54:35 · 1808 阅读 · 2 评论 -
让Lambda表达式与受检异常和谐共处
Lambda表达式与受检异常的矛盾Lambda极大简化了我们的代码,让我们的代码变得整洁优雅(虽然有很多表达式很难看懂,没怎么特意学习lambda表达式的话)。但是当Lambda表达式中需要处理受检异常时,就会破坏掉这种整洁优雅的布局,让代码变得非常难看。这里借鉴这里大佬的例子做一个举例说明long count = Files.walk(Paths.get("D:/Test")...翻译 2019-12-16 14:59:48 · 271 阅读 · 0 评论 -
Springboot整合Nacos做配置中心以及服务注册与发现
Nacos的单Springboot版本依赖没有自动服务注册,只能手动注册点击这里第四条第一个查看如何注册到Nacos。如果您知道如何不使用SpringCloud版本可以自动注册的请留言谢谢。首先POM依赖,由于我们只使用springboot不涉及springcloud所以依赖只用添加简单的springboot的nacosconfig依赖就可以<parent> ...原创 2019-12-12 15:55:55 · 4287 阅读 · 6 评论 -
记一次简单的Java初级工程师面试
没有前言1、StringBuffer、String、StringBulider区别String存储的是一个不可变的字符串常量保存在字符串常量池中如果修改String的值则会创建新的常量对象保存到常量池中StringBuffer和StringBulider可以动态修改字符串的值并且不需要每次修改都创建对象节省时间以及空间。StringBuffer是线程安全的StringBulide...原创 2019-06-20 23:03:15 · 412 阅读 · 2 评论 -
springboot整合dubbo之多注册中心配置(服务提供者和消费者均配置 2.7.0版本)
一开始之前怎么配置都不能运行,会绕过远程连接的地址直接去链接127.0.0.1:2181这个地址,一直报错。再换回去单注册中心还是会一直多连一个莫须有的注册中心一直一直启动不开。类似于下面这样 ,因为我本地是没有这个zk的 我都是装到虚拟机里面了Initiating client connection, connectString=127.0.0.1:2182 sessionTimeout=...原创 2019-04-23 11:27:31 · 7223 阅读 · 8 评论 -
JVM内存模型重点知识总结(深入理解java虚拟机第二章)
在Java虚拟机的帮助下不需要手动为每个对象分配内存和释放内存,这样不容易出现内存泄漏的情况。在Java虚拟机运行时会管理以下几个区域线程间隔离的:虚拟机栈、本地方法栈、程序计数器线程间共享的:方法区、堆程序计数器:当前线程执行的字节码行号指示器。每条线程均需要一个独立的程序计数器来记录当前执行的位置如果正在执行的是一个Java方法则计数器只想位置是字节码的地址,如果是N...原创 2019-04-26 22:10:27 · 129 阅读 · 0 评论 -
dubbo-admin最新版本安装部署启动(2019-4-17)
折磨两周看很多文档,但是文档都是以前版本的dubbo-admin 现在新版本的dubbo-admin已经修改了方式,使用了前后端分离的方式。接口风格使用的RESTful规范。之前下班回来搞点别的都很晚了,没有静下心来搞这个,今天算是沉下心来把这个dubbo-admin服务控制台给启动成功了。记录一下防止以后忘记。也算是一个小示范把,争取写的很详细。项目配置好后 在整个项目根文件夹下 ...原创 2019-04-18 00:30:07 · 9008 阅读 · 16 评论 -
leetCode第三题无重复字符最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的...原创 2019-01-04 14:28:46 · 143 阅读 · 0 评论