自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java --- 字符串拼接 的 底层原理

所以,代码中 s3 = "ab", s4 = s1 + s2,s3 == s4 为 false。懂了?

2022-10-17 22:00:46 681 1

原创 Java --- String 的内存分配

在日常开发中,String 的使用是非常多的,那么再深入的关于 String 的内存分配,就属于比较少涉及的了。今天,小编就给大家说说这个,String 的内存分配。【大家也可以关注微信公众号 “皮皮克克” 进行查阅】

2022-10-16 21:47:10 2083 2

原创 Java --- I/O流

后面,我将会陆续推出文章,详细演示其他各种流的用法,包括但不限于 FileInputStream/FileOutputStream、BufferedInputStream/BufferedOutputStream、InputStreamReader/OutputStreamReader 等。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。关于I/O流操作,还有很多其他的操作方式,用的输入输出流也不尽相同。

2022-10-15 22:54:22 546

原创 Java --- 生成30位不重复随机字符串

小编我也开通了同名微信公众号:皮皮克克,和csdn博客一起更新文章,两边的文章会有不同。忙完公司的事,小编我就赶紧回来给大家更新了,见谅见谅。这意味着,种子是不可预测的,而不像Random默认使用系统当前时间的毫秒数作为种子,有规律可寻。各位可以自己尝试一下,生成的随机字符串什么样,反正肯定不会和小编我的一样。也可以扫描二维码,关注小编的同名微信公众号,第一时间获取更新的文章。

2022-09-16 22:35:38 1577

原创 Java --- 深度拷贝

拷贝,通俗点讲就是复制。wins 中使用快捷键 ctrl+c 就能完成。但是在 Java 开发中,并不这么简单。当接口请求的参数传递进来后,规范的开发习惯要求程序员复制一份参数实体进行处理,也就是常用的DTO。直接声明自定义实体,然后使用 = 号进行赋值,只是传递了一个引用给自定义实体,并不能自由处理。那么,深度拷贝,就出现了!2,实体对象实现序列化接口,并重写 equals() 方法。下面,就跟着小编来看下如何进行对象的深度拷贝吧!...

2022-08-09 20:54:49 1462

原创 Spring --- Spring 集成 JdbcTemplate 完整步骤

日常的开发工作中,数据库的操作几乎是必须的。在现有的框架中,springboot集成的mybatis,mybatis-plus较为友好。但是,在早期的开发中,spring的jdbcTemplate应用的尤为广泛。小编所在公司的老系统,用的几乎都是spring集成jdbcTemplate,老古董啦!不过确实没出啥问题,较为健壮吧。那么今天呢,小编给大家演示一下,如何在spring框架系统中,集成JdbcTemplate。1,编写xml配置文件:JdbcConfig.xml。3,编写Service。...

2022-08-08 22:38:10 374

原创 Spring --- AOP 操作 - AspectJ配置文件

下面,跟着小编我,一起往下看吧!1,编写被增强类,即连接点(aop术语)2,编写增强类,即aop代码所在类。

2022-08-04 08:00:00 324

原创 Spring --- AOP 操作 - AspectJ注解

其实,面向切面编程,简单地理解就是为了降低代码耦合度,减少重复代码量,增加系统灵活性而采用的一种编程规范。

2022-08-03 08:00:00 552

原创 Spring --- IOC 容器 之 Bean管理XML方式(外部属性文件)

通过xml方式管理bean,是有效的。但是当遇到属性值较多的情况,只在xml文件中进行配置显然很麻烦,也不便于管理,缺少灵活性。这时,需要用到外部属性文件。例如数据库连接信息,放在外部属性文件管理远比直接写死在xml文件里面好的多。有详细介绍,有需要的可以回去翻看一下。...

2022-08-02 08:00:00 116

原创 Spring --- IOC 容器 之 Bean管理XML方式(bean生命周期)

bean的生命周期在spring学习中是比较重要的一部分内容,而且也是面试中大概率会问到的点,今天的这篇文章诸位不容错过。讲解过如何创建bean,今天来详细演示一下bean的生命周期,即bean的创建,销毁的过程。...

2022-08-01 08:00:00 102

原创 Spring --- IOC 容器 之 Bean管理XML方式(工厂bean :FactoryBean)

获取的类即是声明的类,但是当声明的类实现FactoryBean接口,即可使得调用方法获取不同的类。

2022-07-31 08:00:00 202

原创 Spring --- IOC 容器 之 Bean管理XML方式(集合属性注入)

bean管理的集合属性注入,与单属性注入类型,稍有不同。介绍了单属性注入,今天来介绍一下集合属性的注入。

2022-07-30 12:27:52 96

原创 Spring --- IOC 容器 之 Bean管理XML方式(属性注入)

    小编的上篇文章:Spring — IOC 容器 之 Bean管理XML方式(创建对象) 介绍了ioc创建对象,这篇呢,演示一下如何给对象属性注入值,也即对象的数据初始化。主要有两种方式:set方法注入,有参构造器注入。贴心的小编给诸位一一演示...

2022-07-07 08:00:00 100

原创 Spring --- IOC 容器 之 Bean管理XML方式(创建对象)

    关于Spring IOC,大家应该都不陌生,但是有没有像小编之前一样,知道它这个含义,但就时很难理解,很难个人操作去使用呢?

2022-07-06 08:00:00 130

原创 Java --- 动态代理 完整步骤

    代理模式的使用,比较常见吧,主要是方便,节省代码量。小编上篇文章:Java — 静态代理 完整步骤 介绍了静态代理,今天聊一下动态代理。都是代理,区别还是有一些的。主要体现在被代理对象的不确定性上面。很明显,动态代理代理的是不确定的类。...

2022-07-05 08:00:00 307

原创 Java --- 静态代理 完整步骤

    代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。静态代理呢,则指明被代理对象的类型;动态代理没有指明被代理对象的类型。很容易理解。...

2022-07-04 08:00:00 530

原创 Java --- 反射 Reflection 的基本使用介绍

    反射(Reflection) 是Java 的特征之一,它允许运行中的Java 程序获取自身的信息,并且可以操作类或对象的内部属性。

2022-07-03 08:00:00 167

原创 Java --- UDP 通信 DatagramSocket DatagramPacket 使用 完整步骤

    UDP (英语:User Datagram Protocol,用户数据报协议),位于 OSI 模型的传输层。一个无连接的协议。提供了应用程序之间要发送数据的数据报。由于UDP缺乏可靠性且属于无连接协议,所以应用程序通常必须容许一些丢失、错误或重复的数据包。...

2022-07-02 13:02:54 2623

原创 Java --- File 类基本操作介绍 一

    通常的java程序都运行在内存中,运行结束,数据销毁。如果想长久保留数据,那么就需要把数据写入磁盘中。根据面向对象规则,java添加了File类,来对这一数据持久化行为进行操作。File即可理解为磁盘中的文件对象。下面,小编给诸位靓仔演示一下File的基本操作。Let go!...

2022-07-01 08:00:00 134

原创 Java --- 泛型 <T> 的使用介绍 之 通配符 ?

    泛型的使用,小编讲了不少了。前面有两篇 Java — 泛型 <T> 的使用介绍 之 泛型类 和 Java — 泛型 <T> 的使用介绍 之 泛型方法 可供翻阅。今天主要说下通配符的使用,其出现的意义在于修复泛型破坏的java类之间的继承,例如List < A> 和 List < B> ,类A是类B的父类,而List< A> 和 List< B> 则没有任何关系。如下代码:那么,当出现一种需求,需要对List< A> 和 List< B> 进行通用操作,会怎么办呢?这里就出现了通配符 ? ...

2022-06-30 08:00:00 305

原创 Java --- 泛型 <T> 的使用介绍 之 泛型方法

    这是小编第二篇介绍泛型的文章了,上篇是介绍 Java — 泛型 的使用介绍 之 泛型类 这次呢,介绍一下泛型方法,对编写工具类有较大的帮助,因为参数及返回值可以灵活自由定义。Let go!...

2022-06-29 08:00:00 1262

原创 Java --- 泛型 <T> 的使用介绍 之 泛型类

    Java的面向对象,灵活度很大。开发中当不确定某个类的某属性类型时候,可先定义为泛型,实例化该类的时候再具体指明其类型,是非常方便的。今天跟着小编一起看看泛型类怎么操作的吧。...

2022-06-28 08:00:00 1815

原创 Java --- Map 的遍历方法详细介绍

    Map的存储为key-value格式,key-value 即 entry。key 是无序不可重复的,这和Set的结构特性一样。value 是可重复的,和Collection结构相似。而entry,是无序不可重复的,又是和Set结构相似。

2022-06-27 08:00:00 174

原创 Java --- 自定义异常Exception 方法及使用介绍

    异常处理,在java开发中算是很常见的了。还记得小编刚出来工作的时候,就被项目经理针对异常处理做了个提醒,他就说逻辑的处理,如果不考虑异常处理,会很麻烦。关键!有什么麻烦他也不说。反正我那时候也没体会出来。今天呢,小编和大家一起看看自定义Exception,是怎么操作的。老规矩,Let go!...

2022-06-26 08:00:00 2620

原创 Java --- Iterator 迭代器使用详细介绍

    Iterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合的元素。GOF给迭代器定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。

2022-06-25 13:47:47 455

原创 Java --- ServerSocket 和 Socket 多线程通信 完整步骤

    Everybody!小编我又回来了。上篇文章:Java — ServerSocket 和 Socket 简单通信 完整步骤 我们讲到了 socket 简单通信,相信各位都有大差不差的了解了。这篇文章呢,咱们继续走起。但是,新的东西着实不多,就加了个多线程处理,用于多客户端消息请求。小编绝对用最生动的表述给各位讲清楚!Let go!1,建立客户端1。/** * @author: * @description: * @date: 2022/4/14 **/public class Ser

2022-04-14 14:31:29 3200 1

原创 Java --- ServerSocket 和 Socket 简单通信 完整步骤

    Java 网络编程这块,说实在的,小编工作用的真少。确实没什么地方可用的啊,各种请求,公司都有封装好的工具,直接拿来呗。不过,Java Socket 在面试的时候被提及的不少。去年换工作就遇到了问 Java 网络编程的公司,当时小编好像没回答好,最终也确实没去成这家公司,不知道和这个叼毛的 Java Socket 有没有关系。反正不管怎么样,这块东西,歹学学!这次呢,咱们不谈太深,就举个例子,详细完整的展示一下 ServerSocket 和 Socket 通信是怎么个回事,真的不难,看不懂你就来🔪我

2022-04-09 07:00:00 2131

原创 Nginx --- Nginx 负载均衡分配策略 详细介绍

    Nginx 的负载均衡,算是老生常谈的了,小编在之前的文章:Nginx 负载均衡 完整步骤 言简意赅的介绍了这个,相信各位大聪明都掌握了。这次,小编将继续演示一下 Nginx 负载均衡分配策略,让各位对这个点有更深,更全面的认识,对后面的学习和工作有一丢丢用处,那样,小编也不算误人子弟了。话不多说,Let go。1,配置好基本负载均衡代码。如果各位这点还有不懂的,可以参考小编之前的文章:Nginx 负载均衡 完整步骤 。相信小编,绝对一看就懂,不然你就来🔪我,好吧。upstream myserv

2022-04-08 09:24:28 2883

原创 Nginx --- Nginx 负载均衡 完整步骤

    说起 Nginx 的负载均衡,各位应该都不陌生,官方也有很多介绍,其实总结起来,就一句话吧,把过多的请求分摊。话不多说,开始看小编的这波操作吧。1,安装好 Tomcat。如果各位的 Tomcat 还没有安装好,可以参考小编之前的文章:Docker 部署 Tomcat,并上传镜像完整步骤2,搭建两个tomcat服务,启动两个服务分别对应 8080和8082端口。如果各位对 Tomcat 服务启动和端口映射还有不懂的,也可以参考小编之前的文章:Docker 部署 Tomcat,并上传镜像完整步骤 文

2022-04-07 09:24:24 613

原创 Nginx --- Nginx 复杂反向代理 完整步骤

    小编在上篇文章:Nginx 简单反向代理完整步骤 演示了简单反向代理,这次,继续演示一下 Nginx 复杂反向代理的完整步骤,Let go。1,安装好 Tomcat。如果各位的 Tomcat 还没有安装好,可以参考小编之前的文章:Docker 部署 Tomcat,并上传镜像完整步骤2,搭建两个tomcat服务,启动两个服务分别对应 8080和8081端口。如果各位对 Tomcat 服务启动和端口映射还有不懂的,也可以参考小编之前的文章:Docker 部署 Tomcat,并上传镜像完整步骤 文章里

2022-04-06 09:26:34 313

原创 Nginx --- Nginx 简单反向代理 完整步骤

    关于 Nginx,相信大家都不陌生,在服务器范畴,用的非常多。这次,小编主要演示一下,Nginx 简单反向代理的步骤。1,安装好 Tomcat。如果各位的 Tomcat 还没有安装好,可以参考小编之前的文章:Docker 部署 Tomcat,并上传镜像完整步骤2,修改 nginx配置文件 nginx.conf。## 在server 中添加 server { listen 8002; ##监听端口,默认是80,可以自定义,此处自定义为监听8002

2022-04-05 22:57:34 2933 1

原创 Redis --- Redis 分布式锁演示

    小编在前面的文章演示过了 redis 的乐观锁,这次来演示一下 redis 的分布式锁,比较简单易懂。Let go。1,登录 redis,小编下面的指令均在 Docker 里面部署的 Redis 进行。如果各位的环境还没部署好,可以参考小编之前的文章:Ubuntu 部署 Docker 完整步骤 和 Docker 部署 Redis 完整步骤2,简单加锁,解锁################## 加锁 ##########################127.0.0.1:6379> ke

2022-04-04 22:23:56 1952

原创 Redis --- Redis 乐观锁操作演示

    关于锁,相信各位在很多场景都遇到过,数据库里面的锁,Java 里面的锁等等。这次,小编和大家分享一下 Redis 的乐观锁,用最通俗易懂的方式让各位了解到这种锁,怎么出现,怎么用的。乐观锁是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。    下面小编进行具体演示:1,登录Redis。下面的指令均在 Docker 里面部署的 Redis 进行。如果各位的环境还没部署好,可以参考小编之前的

2022-04-03 20:49:25 1826

原创 Redis --- Redis 事务处理 multi,exec,discard 指令操作演示

    事务处理,在很多语言中都会存在,java 开发中就经常遇到。小编在上家公司工作开发时,redis 主要应用在前端登录,用来保存短信验证码的。redis 的事务处理虽然没有涉及,不过也是非常有用的。redis 事务的作用: 串联多个命令,防止其他命令插队。下面小编展示一下如何进行 redis 的事务操作。1,登录redis。小编下面的指令演示是在 docker 安装的redis 里面进行的。如果各位的Linux 环境还没有安装配置好 docker,可以参考小编之前的文章: Ubuntu 部署 Doc

2022-04-02 09:31:07 347

原创 Linux --- Centos 安装 RabbitMQ 延迟队列插件 完整步骤

    小编在之前的文章中分享了 centos 部署 rabbitmq 的步骤。使用 rabbitmq 的时候,延迟队列是一个很重要的工具,但是安装 rabbitmq 没有自带 延迟队列插件,需要单独安装。这里小编展示一下安装延迟队列的步骤。1,官网下载插件 。(小编使用的是root用户,如果使用普通用户,下面步骤的指令可能会涉及权限问题,到时候切换一下用户就行)https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/

2022-04-01 09:57:41 4145

原创 Java --- 原子操作类 AtomicInteger 使用

    小编在开发中遇到,对 list 使用 lambda 方式遍历操作,计算 count 值时,idea 错误警告的场景。原来 Lambda 不支持常规的计数方式,这里可以使用 Java 的原子操作类 — AtomicInteger 。下面,小编展示一下 idea 错误警告的场景以及 AtomicInteger 使用场景:1,错误警告场景:/** * @author: * @description: * @date: 2022/3/31 **/public class AtomicInt

2022-03-31 09:30:30 841

原创 Docker --- Docker 部署 Redis 完整步骤

    Redis 作为数据存储工具,在工作开发中使用的比重不比SQL少,并且 Redis 的高效,简洁等特点,也促使其在互联网市场中占了很大的份额。小编上家公司用 Redis,主要是在前端登录时候,存储短信验证码的,一主三从结构,不复杂。这里呢,小编展示一下 Docker 部署 Redis 的完整步骤。1,登录服务器。下面的指令演示均在 centos 环境下进行。2,保证服务器上已经部署好了 Docker,如果还没有,可以翻看小编之前的文章,有记录 Linux 部署 Docker 的完整步骤。3,拉

2022-03-30 09:26:45 1280

原创 Docker --- Docker 部署 MySQL完整步骤

    Docker 在小编的工作开发中,占据了很大的比重,容器开发几乎都在用 Docker。虽然现在 K8S 用的也多,但公司资源有限,还是侧重在了 Docker。数据库方面,那也必须是开源免费的 MySQL ,Oracle 太贵,心有余而力不足吧;我看市面上还有 TiDB,GassDB,ES 等众多数据库,也就先看看吧。这里,小编先展示一下 Docker 部署 MySQL 的完整步骤,其他的数据库,我后续更新。1,登录服务器。下面演示的指令,都是在 centos 环境下操作的。2,拉取 mysql

2022-03-29 09:27:42 560

原创 Linux --- Centos 安装配置 RabbitMQ 完整步骤

    小编在上家公司,RabbitMQ 用的比较多,当时主要负责写了消费者代码。不过,生产者及其他东西也都要会,这里先分享一下 centos 安装配置 rabbitmq 的完整步骤。1,官网下载两个安装包(erlang 和 rabbitmq-server),并上传到服务器。(这里小编就展示上传好的效果)。此时最好切换root用户,后面会涉及权限问题!!![root@VM-0-10-centos software]# lltotal 29184-rw-r--r-- 1 root root 19384

2022-03-28 09:39:02 3603

原创 Docker --- 编写 Dockerfile,构建自定义 Centos 镜像完整步骤

    小编在之前的docker开发中,自定义编写了镜像,通过Dockerfile文件的方式。其实在springboot 开发中的配置项中,就常有Dockerfile。这里分享一下完整步骤。1,新建Dockerfile。[docker@chencc jack]$ vi Dockerfile2,输入shell内容。FROM centos ##依赖的基础镜像,没有版本号默认是 lastestMAINTAINER jack<xxx@xx.com> ##维护者信息ENV

2022-03-27 16:05:28 4065

空空如也

空空如也

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

TA关注的人

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