自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 toString()、String.valueOf()、String类型强转的区别

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-05-11 15:58:56 281

原创 阿里规约《线程资源必须通过线程池提供,不允许在应用中自行显式创建线程》

阿里规约中 并发处理 章节提到。3. 【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 说明:线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。4. 【强制】线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors返回的线程池

2022-02-08 17:15:02 1404

原创 关于返回报文中序列化问题

接口返回时,会使用Resp包装类,由框架带来的便利,框架会帮助我们序列化。public class Response{ private List<CtrlHistory> datas; private String datasStr; private Integer page; private Integer rows; private Integer total;}当返回对象如上时,会对当前对象做Json序列化,“private String

2021-12-10 17:31:39 790

原创 Vertx中访问Mysql

序:在使用Vertx开发过程中,有数据库操作,发现原生自带mysql Client过于繁复,且代码可阅读性极差,在想使用ORM工具过程中,发现了对Vertx理解过于粗浅。Vertx没有提供傻瓜化的框架:rdbms: 关系数据库管理系统为什么vert.x没有提供傻瓜化的框架呢?因为用vert.x的人,本身对于rdbms有些说白了,就是瞧不上,因为数据库会先于应用服务器触发吞吐瓶颈,一个传统系统,比如是tomcat和mysql的组合,当并发量上去之后,mysql会先于tomcat之前顶不住,所以第一

2021-12-10 16:51:13 871

原创 Java8 Optional包装类

基本理解Java8新增了Optional包装类,旨在尽可能的避免NPE的问题。首先,Optional是一个容器,用于放置可能为空的值,它可以合理而优雅的处理null。Optional表示空的静态方法为Optional.empty(),其实是在null的外面做了一层包装,同时,包装类提供了很多方法。基于Java8同时加入了函数式风格及lambda表达式,Optional类提供的方法也是基于此,Optional类希望对于可能为空的值,一直在Optional进行函数计算或提取。Optional类的方法,在

2021-08-05 19:20:24 274

原创 字节数组与16进制字符以及Base64

字节数组与16机制字符关系JDK提供的算法,计算得到的结果一般是字节数组。1字节=1Byte=8bit 字节数组经常需要 显式表达。我们一般使用16进制(0-F)来表达,4bit可以表达16进制的值。所以转化为16进制字符串的长度,是字节数组长度的2倍。也就是2个16进制的字符,才能完整表达一个字节的值。Base64Base64 编码是基于64个字符 A-Z,a-z,0-9,+,/ 的编码方式,因为2的6次方正好为64,所以就用6bit就可以表示出64个字符。字节数组转Base64时,就是

2021-07-27 10:26:39 1476

原创 MessageDigest

使用MessageDigest做SHA256机密 MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); messageDigest.update(paramStr.getBytes(StandardCharsets.UTF_8)); byte[] sha256Byte = messageDigest.digest();此时sha256Byte的结果为SHA256加密结果。重复调用messageDiges

2021-07-26 11:50:05 547

原创 getBytes

getBytes(String charsetName)使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。Byte ,字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。一个Byte由8 bits 所组成。...

2021-07-21 15:19:44 111

原创 @Primary和@Qualifier注解

@Primary注解使用@Autowired注解执行注入时,默认是byType,当Spring容器中存在多个相同类型的Bean实例时,@Primary注解可以添加在类上,指定优先注入的Bean实例。 @Bean @Primary public Employee johnEmployee() { return new Employee("john"); }...

2021-07-20 09:02:27 821

原创 Spring中的Aware接口

Aware接口,是Spring中的一个根接口。Aware的中文含义,是“意识到,察觉到,发觉,发现”,所以该接口的目的,通过实现Aware的子接口,让类添加发觉信息的能力。常见的Aware直接实现类:ApplicationContextAware实现该接口,可以访问Spring容器中缓存的的其他Bean。获取的ApplicationContext,ApplicationContext接口继承了MessageSource, ApplicationEventPublisher, ResourcePatt

2021-07-19 11:42:24 2992

原创 HashMap初始化时,指定集合初始值大小

阿里编程规约中提到,HashMap初始化时,指定初始化大小。初始化大小=(需要存储的元素个数)/(负载因子)+ 1负载因子默认为0.75,这个值也是HashMap自动扩容时,使用的大小。TODO 为什么负载因子是0.75? 散列足够分布?同时节省空间?如果无法确定初始值大小,请设置为16。(即默认值)...

2021-07-13 09:04:52 1917

原创 常见注解查询

@DocumentedDocumented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc生成的类,文档中是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中.@Inherited如果一个类用上了@Inherited修饰的注解,那么其子类也会继承这个注解.@Retention@Retention作用是定义被它所注解的注解保留多久,一共有三种策略,定义在RetentionP

2021-07-06 14:40:52 544

转载 linux常用命令

Netstat(network statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。常见参数-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-l 仅列出有在 Listen (监听) 的服務

2021-06-28 10:37:56 151

转载 Netty关于select/epoll

https://blog.csdn.net/lblblblblzdx/article/details/88795242

2021-06-11 11:52:58 171 1

转载 MQTT 入门介绍

https://www.runoob.com/w3cnote/mqtt-intro.html

2021-06-11 10:33:04 1014 1

原创 IDEA中优先引用

IDEA中proejct-structure中的module,有每一个模块依赖列表,同时这个列表也是依赖的顺序,意味着当打好包的jar,和源码同时被依赖时,可以让module优先依赖源码,方便debug.只需添加源码依赖,同时调整顺序为目录最上....

2021-06-11 09:10:17 452

原创 部分语言编译器下载

Java老版本下载Java新版本入口很好找,但因为企业级收费影响,仍然需要找历史版本,Oracle还是提供了官方的入口。1、oracle主页,找到Products下的Java2、找到下载按钮3、拖到页面底部,Oracle把老版本都归档在这个地方了。接下来找到所需的版本即可。Kotlin编译器Kotlin因语言特性,一般都直接集成在IDE中直接下载,如果要单独下载其编译器,可以到Kotlin的github官方页。每个版本都附带一个独立版本的编译器。注意Kotlin对依赖JVM版本有要求,

2021-06-03 22:06:17 1178 4

转载 maven工具的scope的分类

Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。scope的分类compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。testscope为test表示依

2021-06-03 10:24:17 144

原创 Elasticsearch 尝试

一、Elasticsearch 简介Elasticsearch 是一个实时分布式搜索和分析引擎,建立在一个全文搜索引擎库 Apache Lucene 基础之上,而 Lucene 是当下最先进、高性能、全功能的搜索引擎库。但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。因为 Lucene 非常复杂。Elasticsearch 也是使用 Java 编写的,它的内部使用 Luc

2021-05-31 10:33:17 116

转载 浅谈spring为什么推荐使用构造器注入

目录一、前言二、常见的三种注入方式2.1 field注入2.2 构造器注入2.3 setter注入三、构造器注入的好处四、答疑五、总结一、前言​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由Spring的IOC容器管理,将对象的依赖关系由Spring控制,避免硬编码所造成的过度程序耦合。前几天的时候,笔者的同事问我为什么要使用构造器的注入方式,我回答

2021-05-24 17:06:51 285

原创 配置文件优先级

第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;第二种是直接把配置文件放到jar包的同级目录;第三种在classpath下建一个config文件夹,然后把配置文件放进去;第四种是在classpath下直接放配置文件。其中一般springboot项目,classpath的目录是resources文件夹。这里的优先级也是依次降低,优先级高的覆盖优先级低的,可以注意点的是,只是对相同配置项才会产生覆盖作用,不同的话是互补作用,也就是说如果四个地方都配了的话,是会累

2021-05-14 16:52:38 821

转载 Docker: Play with docker

Docker基本操作图解:   下面就是具体演示:   点击add new instance, 如何获取一个镜像: 例如获取一个nginx镜像: 查看本地有哪些镜像: 将镜像运行为一个真正在运行的容器(虚拟机): 其中-d是保持后台运行,-p 是端口映射,将内部的端口80和外部的端口80映射。 点击80就转过来了: &nbs...

2021-05-14 08:59:59 163

转载 使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目

https://www.cnblogs.com/hei12138/p/ideausedocker.html

2021-05-13 16:56:37 114

转载 TDengine时序数据库FAQ系列1:JDBCDriver找不到动态链接库(no taos in java.library.path)

为帮助用户更好的使用TDengine,将使用TDengine过程中遇到的问题进行整理,形成问题解答列表。问题描述在windows10 x64平台上,安装TDengine的windows客户端之后,通过JDBCDriver无法连接到服务端,错误信息为java.lang.UnsatisfiedLinkError: no taos in java.library.path1问题分析此错误信息为java无法找到或者装载taos.dll,排查步骤如下到C:\windows\system32目录查看是否存

2021-05-13 14:01:13 4293

原创 Error occurred during initialization of VM Could not reserve enough space for object heap

开发时遇到问题could not create the java virtual machineError occurred during initialization of VMCould not reserve enough space for object heap因为同时启动了十几个项目,电脑扛不住了,所以需要在idea中,指定项目的启动参数,以下是配置参数Xms128m JVM初始分配的堆内存-Xmx512m JVM最大允许分配的堆内存,按需分配-XX:PermSize=64M JV

2021-05-13 11:49:23 521

原创 Idea 添加Service窗口

Alt + 8 添加 service 窗口add service 选择 Run Configuration Type选择spring boot即可,更好的可视化

2021-05-13 11:40:40 2980

转载 Maven依赖中的scope详解

Maven依赖中的scope详解Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。scope的分类compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。t

2021-05-12 18:31:07 523

原创 Linux上安装AdoptOpenJDK11

Linux上安装AdoptOpenJDK11Linux上安装AdoptOpenJDK11Linux上安装AdoptOpenJDK11yum -y list java* 查询可以安装java包adoptOpenJDK11 暂时没有提供相应的包 一般通过wget地址来安装这里使用清华大学的镜像安装wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jre/x64/linux/OpenJDK11U-jre_x64_linux_hot

2021-04-17 18:55:05 1201

空空如也

空空如也

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

TA关注的人

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