- 博客(316)
- 资源 (88)
- 收藏
- 关注
原创 Java常见面试知识点汇总(4)
对Java面试过程中常见的知识点进行梳理,并给出详细的解答,方便大家系统性的学习和掌握,从而轻松拿到Offer。本文主要对Java异常体系及Java对象创建的相关知识点进行说明。
2022-05-22 10:16:35 297 1
原创 Java常见面试知识点汇总(3)
对Java面试过程中常见的知识点进行梳理,并给出详细的解答,方便大家系统性的学习和掌握,从而轻松拿到Offer。本文主要对哈希表如HashTable、HashMap、ConcurrentHashMap、LinkedHashMap和TreeMap的相关知识点进行说明。
2022-05-18 22:22:38 554
原创 Java常见面试知识点汇总(2)
对Java面试过程中常见的知识点进行梳理,并给出详细的解答,方便大家系统性的学习和掌握,从而轻松拿到Offer。本文对Java中的==、equals方法、字符串String和StringBuilder/StringBuffer的对比,以及集合框架等相关问题进行梳理说明。
2022-05-18 21:05:30 413
原创 Java常见面试知识点汇总(1)
对Java面试过程中常见的知识点进行梳理,并给出详细的解答,方便大家系统性的学习和掌握,从而轻松拿到Offer。
2022-05-15 22:17:34 445
原创 SpringBoot与SpringCloud版本对应关系
SpringBoot与SpringCloud版本对应关系前言关于SpringBoot和SpringCloud的版本列表版本对应关系前言SpringBoot和SpringCloud作为目前后台开发非常热门的技术,是开发微服务的首选技术方案。但是这两个框架在使用时,有时会遇到一些莫名其妙的问题,这是因为SpringBoot要和SpringCloud版本匹配使用才行,下面对版本映射关系进行说明。关于SpringBoot和SpringCloud的版本列表spring-boot-starter-parent
2020-10-17 11:07:49 9953
原创 SpringBoot集成Swagger2生成API接口文档
SpringBoot2.3.0集成Swagger2引入Swagger2相应的依赖入门示例SpringBoot2集成Swagger2后启动报错结语背景:最近在工作中发现,已经多次发现后台开发人员提供的接口协议和实际的业务代码不统一。这些现象往往都是因为开发人员在对接口协议调整后没有及时进行协议文档的更新造成的。引入Swagger2相应的依赖在SprintBoot中引入Swagger2依赖包很简单,在pom.xml文件中引入相应的依赖即可。<dependency> <groupId&
2020-06-13 09:43:55 1427
原创 如何在Postman中对报文进行AES+Base64加密请求
如何在Postman中对报文进行AES+Base64加密请求相信做软件开发的人,都少不了用一些好用的工具,Postman就是其中的一个。如果是拿Postman做一些非加密的HTTP请求,非常方便,也不需要额外的说明,但是如果要做一些复杂的请求,那就需要多多研究了。本文是将工作中遇到的问题做个记录,也方便有相同需要的人做个参考。网上也有关于使用AES进行报文加密的说明,为什么我还要写呢?说实话,看了网上的几篇文章,都试了下,没一个弄成功的,所以还是自己仔细说明下,希望能给大家一点帮助吧。关于Postma
2020-06-06 17:10:37 8380
原创 在SpringBoot中集成单元测试
在SpringBoot中集成单元测试引入相应的依赖入门示例未完待续在Springboot中集成单元测试入门很简单,这里做个简单的记录,后续会针对不同的单元测试场景不断进行完善和记录,希望给需要的人一点帮助。引入相应的依赖在SprintBoot中引入单元测试依赖包很简单,一般在创建SpringBoot项目的时候就会自行引入单元测试的依赖包。<dependency> <groupId>org.springframework.boot</groupId> <a
2020-06-06 16:31:18 1312
原创 和我一起,来一场Nginx支持高并发的探索之旅
深度分析Nginx的高并发原理序言(1)从Nginx入手,聊聊实现原理(2)深入epoll实现原理(2.1)epoll相关的API和数据结构(2.2)epoll的两种触发方式水平触发边缘触发(2.3)epoll和select/poll的对比(3)Nginx对惊群效应的处理什么是惊群效应?惊群效应带来什么影响?Nginx中对惊群效应的解决方案(4)结语序言在日常工作中,尤其是搞后台服务的,相信N...
2020-03-22 20:20:39 691 1
转载 读取属性配置文件的五种方式
读取属性配置文件的五种方式读取属性配置文件的五种方式读取属性配置的示例属性配置文件方式一:使用注解@Value读取属性配置方式二:使用注解@ConfigurationProperties读取属性配置方式三:使用注解 @PropertySource 和 @Value 来读取属性配置方式四:使用注解 @PropertySource 和 @ConfigurationProperties 来读取属性配置方...
2020-02-25 19:48:58 961 1
原创 在SpringBoot中怎么注入各种类型(String,List,Map,Object)配置?
在SpringBoot中怎么注入各种类型(String,List,Map,Object)配置?背景String类型配置注入List类型配置注入Map类型配置注入Object类型配置注入结语背景在开发过程中,绝大多数场景都是要使用一些配置项的。至于配置项如何注入到应用程序中,一直没有过多的关注过。今天抽了点时间实际试了下,这里做个简单的记录,便于需要的朋友了解下。在下面的讲述中,我们针对下面的...
2020-02-23 10:10:04 18077
原创 如何完成Redis数据迁移?
如何进行Redis数据迁移?如何完成Redis数据迁移?使用keys + move命令实现数据迁移使用keys + migrate命令实现数据迁移合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰...
2020-02-22 16:40:07 2945
原创 怎么在Linux系统下对Tomcat9安装SSL证书?
怎么在Linux环境下对Tomcat9安装SSL证书?背景预热:申请和下载SSL证书?如何在Tomcat9上安装SSL证书?结语背景现在给后台服务器进行HTTPS升级是很常见的事情,在之前的文章中已经针对怎么购买域名、申请证书和进行Nginx服务器HTTPS升级进行了详细的介绍,想了解的可以阅读下面的这个文章。如何申请域名、购买证书并在Nginx服务器上实现HTTPS?在这篇文章中之所以说...
2019-11-30 18:12:08 1100
原创 在SpringBoot中,怎么在应用程序启动或退出时执行初始化或者清理工作?
在SpringBoot中,怎么在程序启动或退出时执行初始化或者清理工作?有的时候我们需要在应用程序启动的时候执行一些资源初始化的工作,或者在应用程序退出的时候进行一些资源释放的工作,那么该如何做呢?这篇文章针对两个问题做一个汇总说明。怎么在应用程序启动时执行一些初始化工作?我们在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoo...
2019-11-30 10:30:04 3351 2
原创 如何申请域名、购买证书并在Nginx服务器上实现HTTPS?
如何在Nginx服务器上安装证书实现HTTPS升级?背景怎么购买域名和配置域名解析?如何购买证书?如何在Nginx上配置证书?其他说明结语背景现在后台的服务实现https越来越普及了,为了保证后台服务的安全性,一般都会进行https升级,而且有些机构强制性要求实现https,所以这篇文章从头到尾说下如何申请域名、如何购买证书、如何配置证书实现https等等细节。怎么购买域名和配置域名解析?...
2019-11-24 16:52:53 3485
原创 如何解决SpringBoot中RestTemplate的中文乱码问题?
如何解决SpringBoot中RestTemplate的中文乱码问题?背景什么是中文乱码问题?在SpringBoot中有哪些发送http请求的方式?SpringBoot中关于RestTemplate的说明如何解决中文乱码问题?结语背景最近在使用SpringBoot开发新的项目,说来惭愧,工作五年了,竟然一直没有用过SpringBoot框架,之前的开发项目基本都是基于Spring和SpringM...
2019-11-24 09:55:14 3853
原创 基于dockerfile实现支持ssh功能的镜像
在上一篇文章中,介绍了基于docker commit命令实现支持ssh服务的镜像生成过程。在这篇文章中,实际操作下,看看如何通过dockerfile来实现支持ssh功能的镜像。首先创建工作目录sshd_ubuntu,如下所示,然后在工作目录中创建Dockerfile文件和run.sh脚本文件。其中,我们编辑run.sh脚本文件,内容如下所示:在写好run.sh脚本文件之后,...
2019-08-19 21:02:03 1146
原创 基于docker commit命令实现支持ssh的操作系统镜像
下面以ubuntu操作系统为例说明如何创建一个支持ssh的操作系统镜像。首先我们先搜索和下载ubuntu镜像,如下所示:然后使用docker pull命令拉取ubuntu:latest镜像到本地。通过docker images可以看到本地已经有ubuntu:latest镜像了。下面我们运行该镜像,并且进入到容器中。docker run -itubuntu /bin/...
2019-08-18 15:50:09 461
转载 【深入Java虚拟机】之八:Java垃圾收集机制
转载地址:https://blog.csdn.net/ns_code/article/details/18076173对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起...
2019-06-08 10:50:03 310
转载 【深入Java虚拟机】之七:Javac编译与JIT编译
转载地址:https://blog.csdn.net/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字...
2019-06-08 10:42:07 281
转载 【深入Java虚拟机】之六:Java语法糖
转载地址:https://blog.csdn.net/ns_code/article/details/18011009语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、...
2019-06-07 22:26:32 253
转载 【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派
转载地址:https://blog.csdn.net/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称...
2019-06-06 21:56:44 294
转载 【深入Java虚拟机】之四:类加载机制
转载地址:https://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证...
2019-06-06 21:56:27 252
转载 【深入Java虚拟机】之三:类初始化
转载地址:https://blog.csdn.net/ns_code/article/details/17845821类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: (1)遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没...
2019-06-06 21:56:08 194
转载 【深入Java虚拟机】之二:Class类文件结构
转载地址:https://blog.csdn.net/ns_code/article/details/17675609平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译...
2019-06-06 21:43:48 249
转载 【深入Java虚拟机】之一:Java内存区域与内存溢出
今天看到一个关于虚拟机相关的专栏,觉得写得不错,在这里转载一下,一方面自己学习一下,另一方面也给关注我的朋友参考一下。转载地址:https://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个...
2019-06-06 21:43:28 313
转载 聚集索引,非聚集索引,覆盖索引 原理
「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。...
2019-05-10 17:51:53 214
转载 java中多种写文件方式的效率对比实验
1. 实验背景最近在考虑一个问题:“如果快速地向文件中写入数据”,java提供了多种文件写入的方式,效率上各有异同,基本上可以分为如下三大类:字节流输出、字符流输出、内存文件映射输出。前两种又可以分为带buffer及不带buffer2. 实验目标通过实验找出单线程场景下文件写入效率最高的方式,并量化各种文件写入方式在效率上的差距。3. 实验设计为减少其他环节的影...
2019-03-24 10:59:15 1855
原创 使用Java调用Linux系统命令
有时候,我们在使用Java做一些操作时,可能性能上并不能达到我们满意的效果,就拿最近工作中的遇到的一个场景来说,需要对大量的小文件进行合并成一个大文件。最开始的想法是使用Java做文件操作,遍历所有小文件然后往一个文件写(可以做成并发写),但是发现操作过程中遇到个问题,写一千多个小文件在本机Windows下需要花费几十秒的时间,即使在Linux环境下高配置的机器也需要将近十秒,这明显对接口的响...
2019-03-24 10:47:29 5344
原创 分片上传及断点续传原理深入分析及示例Demo
分片上传、断点续传,这两个名词对于做过或者熟悉文件上传的朋友来说应该不会陌生。之所有有这边文章,还是因为自己在网上浏览了一些文章后发现没有找到一篇能瞬间明白原理和实现的,因此决定自己写一篇文章,方便有需要的朋友了解原理和实现。分片上传,就是将所要上传的文件,按照一定的大小,将整个文件分隔成多个数据块(我们称之为Part)来进行分别上传,上传完之后再由服务端对所有上传的文件进行汇总整合成原始的文...
2019-02-23 14:47:39 35852 14
原创 mp3、amr、wav三种音频格式时长获取
在平时开发过程中可能遇到需要上传相关音频文件到后台,并且计算各种音频文件的时长,因此对三种音频格式(mp3、amr和wav)的时长计算进行了简单的调研,现将相关实现记录一下,也方便需要的朋友查看。(1)mp3文件时长计算在计算mp3文件时长需要依赖一个外部jar包,如下,如果你使用的是maven构建,那么在pom.xml中引入如下依赖:<dependency> <...
2019-02-23 11:19:28 6960 3
翻译 1.4 依赖(part3)
官方英文版地址:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html备注:翻译如有不对,请多指正,谢谢。 1.4.3. Using depends-onIf a bean is a dependency of another that usually mea...
2018-08-26 15:19:30 512
翻译 1.4 依赖(part2)
官方英文版地址:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html备注:翻译如有不对,请多指正,谢谢。1.4.2. Dependencies and configuration in detail依赖与配置详解As mentioned in the ...
2018-08-19 16:05:19 489
翻译 1.4 依赖(part1)
官方英文版地址:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html备注:翻译如有不对,请多指正,谢谢。 1.4. DependenciesA typical enterprise application does not consist of a sing...
2018-08-17 20:10:56 400
翻译 1.3 Bean概述
官方英文版地址:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html备注:翻译如有不对,请多指正,谢谢。 1.3. Bean overviewA Spring IoC container manages one or more beans. These be...
2018-08-15 20:31:50 1413
翻译 1.2 容器概述
官方英文版地址:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html备注:翻译如有不对,请多指正,谢谢。 1.2. Container overviewThe interface org.springframework.context.Application...
2018-08-15 20:31:10 531
翻译 1.1 Spring IOC容器和Beans介绍
官方英文版地址:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html备注:翻译如有不对,请多指正,谢谢。 1.1. Introduction to the Spring IoC container and beansThis chapter covers t...
2018-08-15 20:30:33 717
转载 基于commons-pool2源码了解连接池实现原理
1.背景 最近查看了下Apache commons-pool2的源代码commons-pool2-2.4.2,代码不多,大概50个java类左右,阅读源代码的初衷是为了通过不断的学习和总结,升华自己的技术能力,写此博客是为了给自己留下一点笔记,日后能够温故知新。 Apache commons-pool2类库是对象池技术的一种具体实现,它的出现是为了解决频繁的创建和销...
2018-07-22 16:13:32 3850
原创 基于commons-pool2的elasticsearch客户端连接池实现
在使用elasticsearch官网提供的Java High Level Rest Client来对es进行操作时,发现客户端API中没有连接池的概念,每次都要创建一个新的连接,这在高并发情况下明显性能会存在影响,因此这里准备对客户端API增加池化的概念。幸运的是,我们不需要自己重头开始写连接池的实现,因为apache为我们提供了连接池的通用框架实现commons-pool2,而我们只需要根据...
2018-07-22 15:44:14 7316 8
原创 如何使用git命令行上传项目到github
最近在学习怎么使用ElasticSearch,发现官网提供的客户端API接口没有连接池的概念,每次都是创建一个新的连接,从效率上来说可能不是太好,尤其在高并发的场景下。因此,基于commons-pool对ES的客户端API接口进行了一次封装,实现了池化的逻辑,并将相关项目代码提交到Github上供大家下载,有兴趣的也可以一起加入到这个开源项目中一起完善这个项目。ElasticSearch Cl...
2018-07-22 11:28:02 10452 3
基于C语言的文件夹加密
2011-12-12
基于C#的登录系统模拟
2011-11-03
AVR编程工具多功能计算器
2011-11-01
简易计算器
2011-11-01
基于51单片机的温度计设计
2011-10-30
基于51单片机的电子密码锁设计
2011-10-30
51单片机外围器件使用的头文件代码(很详细)
2011-10-30
简易的文本编辑器
2011-10-30
MATLAB程序设计教程电子版(PPT)
2011-10-30
我的51单片机学习经验(温度传感器DS18B20)
2011-04-24
我的51单片机学习经验(实时时钟DS1302)
2011-04-24
我的51单片机学习经验(串口通信)
2011-04-24
我的51单片机学习经验(LCD1602)
2011-04-24
我的51单片机学习经验(按键)
2011-04-24
我的51单片机学习经验(DA)
2011-04-24
深入理解Andriod卷1
2014-01-14
Andriod开发权威指南
2014-01-14
几个开源的Andriod项目源码
2014-01-11
Algorithm(第4版)
2013-01-01
JAVA语言版之记事本实现
2012-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人