![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
历史编程笔记
文章平均质量分 52
把过去没写的补上来
balance_doge
这个作者很懒,什么都没留下…
展开
-
toString()、String.valueOf()、String类型强转的区别
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-05-11 15:58:56 · 282 阅读 · 0 评论 -
阿里规约《线程资源必须通过线程池提供,不允许在应用中自行显式创建线程》
阿里规约中 并发处理 章节提到。3. 【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 说明:线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。4. 【强制】线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors返回的线程池原创 2022-02-08 17:15:02 · 1413 阅读 · 0 评论 -
Java8 Optional包装类
基本理解Java8新增了Optional包装类,旨在尽可能的避免NPE的问题。首先,Optional是一个容器,用于放置可能为空的值,它可以合理而优雅的处理null。Optional表示空的静态方法为Optional.empty(),其实是在null的外面做了一层包装,同时,包装类提供了很多方法。基于Java8同时加入了函数式风格及lambda表达式,Optional类提供的方法也是基于此,Optional类希望对于可能为空的值,一直在Optional进行函数计算或提取。Optional类的方法,在原创 2021-08-05 19:20:24 · 278 阅读 · 0 评论 -
getBytes
getBytes(String charsetName)使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。Byte ,字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。一个Byte由8 bits 所组成。...原创 2021-07-21 15:19:44 · 112 阅读 · 0 评论 -
@Primary和@Qualifier注解
@Primary注解使用@Autowired注解执行注入时,默认是byType,当Spring容器中存在多个相同类型的Bean实例时,@Primary注解可以添加在类上,指定优先注入的Bean实例。 @Bean @Primary public Employee johnEmployee() { return new Employee("john"); }...原创 2021-07-20 09:02:27 · 825 阅读 · 0 评论 -
Spring中的Aware接口
Aware接口,是Spring中的一个根接口。Aware的中文含义,是“意识到,察觉到,发觉,发现”,所以该接口的目的,通过实现Aware的子接口,让类添加发觉信息的能力。常见的Aware直接实现类:ApplicationContextAware实现该接口,可以访问Spring容器中缓存的的其他Bean。获取的ApplicationContext,ApplicationContext接口继承了MessageSource, ApplicationEventPublisher, ResourcePatt原创 2021-07-19 11:42:24 · 2998 阅读 · 0 评论 -
HashMap初始化时,指定集合初始值大小
阿里编程规约中提到,HashMap初始化时,指定初始化大小。初始化大小=(需要存储的元素个数)/(负载因子)+ 1负载因子默认为0.75,这个值也是HashMap自动扩容时,使用的大小。TODO 为什么负载因子是0.75? 散列足够分布?同时节省空间?如果无法确定初始值大小,请设置为16。(即默认值)...原创 2021-07-13 09:04:52 · 1924 阅读 · 0 评论 -
常见注解查询
@DocumentedDocumented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc生成的类,文档中是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中.@Inherited如果一个类用上了@Inherited修饰的注解,那么其子类也会继承这个注解.@Retention@Retention作用是定义被它所注解的注解保留多久,一共有三种策略,定义在RetentionP原创 2021-07-06 14:40:52 · 551 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Netty关于select/epoll
https://blog.csdn.net/lblblblblzdx/article/details/88795242转载 2021-06-11 11:52:58 · 179 阅读 · 1 评论 -
MQTT 入门介绍
https://www.runoob.com/w3cnote/mqtt-intro.html转载 2021-06-11 10:33:04 · 1019 阅读 · 1 评论 -
部分语言编译器下载
Java老版本下载Java新版本入口很好找,但因为企业级收费影响,仍然需要找历史版本,Oracle还是提供了官方的入口。1、oracle主页,找到Products下的Java2、找到下载按钮3、拖到页面底部,Oracle把老版本都归档在这个地方了。接下来找到所需的版本即可。Kotlin编译器Kotlin因语言特性,一般都直接集成在IDE中直接下载,如果要单独下载其编译器,可以到Kotlin的github官方页。每个版本都附带一个独立版本的编译器。注意Kotlin对依赖JVM版本有要求,原创 2021-06-03 22:06:17 · 1181 阅读 · 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 · 146 阅读 · 0 评论 -
Elasticsearch 尝试
一、Elasticsearch 简介Elasticsearch 是一个实时分布式搜索和分析引擎,建立在一个全文搜索引擎库 Apache Lucene 基础之上,而 Lucene 是当下最先进、高性能、全功能的搜索引擎库。但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。因为 Lucene 非常复杂。Elasticsearch 也是使用 Java 编写的,它的内部使用 Luc原创 2021-05-31 10:33:17 · 116 阅读 · 0 评论 -
浅谈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 · 286 阅读 · 0 评论 -
配置文件优先级
第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;第二种是直接把配置文件放到jar包的同级目录;第三种在classpath下建一个config文件夹,然后把配置文件放进去;第四种是在classpath下直接放配置文件。其中一般springboot项目,classpath的目录是resources文件夹。这里的优先级也是依次降低,优先级高的覆盖优先级低的,可以注意点的是,只是对相同配置项才会产生覆盖作用,不同的话是互补作用,也就是说如果四个地方都配了的话,是会累原创 2021-05-14 16:52:38 · 824 阅读 · 0 评论 -
Docker: Play with docker
Docker基本操作图解: 下面就是具体演示: 点击add new instance, 如何获取一个镜像: 例如获取一个nginx镜像: 查看本地有哪些镜像: 将镜像运行为一个真正在运行的容器(虚拟机): 其中-d是保持后台运行,-p 是端口映射,将内部的端口80和外部的端口80映射。 点击80就转过来了: &nbs...转载 2021-05-14 08:59:59 · 164 阅读 · 0 评论 -
使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目
https://www.cnblogs.com/hei12138/p/ideausedocker.html转载 2021-05-13 16:56:37 · 116 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 1213 阅读 · 0 评论