Java
皮皮克克
"集技术和才华于一身"的深圳程序员,也可以叫我Tony老师!!!
展开
-
Java --- 字符串拼接 的 底层原理
所以,代码中 s3 = "ab", s4 = s1 + s2,s3 == s4 为 false。懂了?原创 2022-10-17 22:00:46 · 658 阅读 · 1 评论 -
Java --- String 的内存分配
在日常开发中,String 的使用是非常多的,那么再深入的关于 String 的内存分配,就属于比较少涉及的了。今天,小编就给大家说说这个,String 的内存分配。【大家也可以关注微信公众号 “皮皮克克” 进行查阅】原创 2022-10-16 21:47:10 · 2053 阅读 · 2 评论 -
Java --- I/O流
后面,我将会陆续推出文章,详细演示其他各种流的用法,包括但不限于 FileInputStream/FileOutputStream、BufferedInputStream/BufferedOutputStream、InputStreamReader/OutputStreamReader 等。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。关于I/O流操作,还有很多其他的操作方式,用的输入输出流也不尽相同。原创 2022-10-15 22:54:22 · 533 阅读 · 0 评论 -
Java --- 生成30位不重复随机字符串
小编我也开通了同名微信公众号:皮皮克克,和csdn博客一起更新文章,两边的文章会有不同。忙完公司的事,小编我就赶紧回来给大家更新了,见谅见谅。这意味着,种子是不可预测的,而不像Random默认使用系统当前时间的毫秒数作为种子,有规律可寻。各位可以自己尝试一下,生成的随机字符串什么样,反正肯定不会和小编我的一样。也可以扫描二维码,关注小编的同名微信公众号,第一时间获取更新的文章。原创 2022-09-16 22:35:38 · 1550 阅读 · 0 评论 -
Java --- 深度拷贝
拷贝,通俗点讲就是复制。wins 中使用快捷键 ctrl+c 就能完成。但是在 Java 开发中,并不这么简单。当接口请求的参数传递进来后,规范的开发习惯要求程序员复制一份参数实体进行处理,也就是常用的DTO。直接声明自定义实体,然后使用 = 号进行赋值,只是传递了一个引用给自定义实体,并不能自由处理。那么,深度拷贝,就出现了!2,实体对象实现序列化接口,并重写 equals() 方法。下面,就跟着小编来看下如何进行对象的深度拷贝吧!...原创 2022-08-09 20:54:49 · 1452 阅读 · 0 评论 -
Java --- 动态代理 完整步骤
代理模式的使用,比较常见吧,主要是方便,节省代码量。小编上篇文章:Java — 静态代理 完整步骤 介绍了静态代理,今天聊一下动态代理。都是代理,区别还是有一些的。主要体现在被代理对象的不确定性上面。很明显,动态代理代理的是不确定的类。...原创 2022-07-05 08:00:00 · 301 阅读 · 0 评论 -
Java --- 静态代理 完整步骤
代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。静态代理呢,则指明被代理对象的类型;动态代理没有指明被代理对象的类型。很容易理解。...原创 2022-07-04 08:00:00 · 518 阅读 · 0 评论 -
Java --- 反射 Reflection 的基本使用介绍
反射(Reflection) 是Java 的特征之一,它允许运行中的Java 程序获取自身的信息,并且可以操作类或对象的内部属性。原创 2022-07-03 08:00:00 · 163 阅读 · 0 评论 -
Java --- UDP 通信 DatagramSocket DatagramPacket 使用 完整步骤
UDP (英语:User Datagram Protocol,用户数据报协议),位于 OSI 模型的传输层。一个无连接的协议。提供了应用程序之间要发送数据的数据报。由于UDP缺乏可靠性且属于无连接协议,所以应用程序通常必须容许一些丢失、错误或重复的数据包。...原创 2022-07-02 13:02:54 · 2609 阅读 · 0 评论 -
Java --- File 类基本操作介绍 一
通常的java程序都运行在内存中,运行结束,数据销毁。如果想长久保留数据,那么就需要把数据写入磁盘中。根据面向对象规则,java添加了File类,来对这一数据持久化行为进行操作。File即可理解为磁盘中的文件对象。下面,小编给诸位靓仔演示一下File的基本操作。Let go!...原创 2022-07-01 08:00:00 · 124 阅读 · 0 评论 -
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 · 301 阅读 · 0 评论 -
Java --- 泛型 <T> 的使用介绍 之 泛型方法
这是小编第二篇介绍泛型的文章了,上篇是介绍 Java — 泛型 的使用介绍 之 泛型类 这次呢,介绍一下泛型方法,对编写工具类有较大的帮助,因为参数及返回值可以灵活自由定义。Let go!...原创 2022-06-29 08:00:00 · 1248 阅读 · 0 评论 -
Java --- 泛型 <T> 的使用介绍 之 泛型类
Java的面向对象,灵活度很大。开发中当不确定某个类的某属性类型时候,可先定义为泛型,实例化该类的时候再具体指明其类型,是非常方便的。今天跟着小编一起看看泛型类怎么操作的吧。...原创 2022-06-28 08:00:00 · 1800 阅读 · 0 评论 -
Java --- Map 的遍历方法详细介绍
Map的存储为key-value格式,key-value 即 entry。key 是无序不可重复的,这和Set的结构特性一样。value 是可重复的,和Collection结构相似。而entry,是无序不可重复的,又是和Set结构相似。原创 2022-06-27 08:00:00 · 167 阅读 · 0 评论 -
Java --- 自定义异常Exception 方法及使用介绍
异常处理,在java开发中算是很常见的了。还记得小编刚出来工作的时候,就被项目经理针对异常处理做了个提醒,他就说逻辑的处理,如果不考虑异常处理,会很麻烦。关键!有什么麻烦他也不说。反正我那时候也没体会出来。今天呢,小编和大家一起看看自定义Exception,是怎么操作的。老规矩,Let go!...原创 2022-06-26 08:00:00 · 2596 阅读 · 0 评论 -
Java --- Iterator 迭代器使用详细介绍
Iterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合的元素。GOF给迭代器定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。原创 2022-06-25 13:47:47 · 442 阅读 · 0 评论 -
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 · 3190 阅读 · 1 评论 -
Java --- ServerSocket 和 Socket 简单通信 完整步骤
Java 网络编程这块,说实在的,小编工作用的真少。确实没什么地方可用的啊,各种请求,公司都有封装好的工具,直接拿来呗。不过,Java Socket 在面试的时候被提及的不少。去年换工作就遇到了问 Java 网络编程的公司,当时小编好像没回答好,最终也确实没去成这家公司,不知道和这个叼毛的 Java Socket 有没有关系。反正不管怎么样,这块东西,歹学学!这次呢,咱们不谈太深,就举个例子,详细完整的展示一下 ServerSocket 和 Socket 通信是怎么个回事,真的不难,看不懂你就来🔪我原创 2022-04-09 07:00:00 · 2124 阅读 · 0 评论 -
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 · 828 阅读 · 0 评论 -
Java --- Collections.EMPTY_LIST 和 Collections.emptyList() 用法
程序中使用集合时,如果 new 一个集合对象,就会初始化一个内存空间,占用内存资源,积少成多会造成内存浪费。Collections 中的空集合对象是一个静态常量,在内存中只会存在一份,能够节省内存资源。 下面小编展示一下这两个的用法:1,Collections.EMPTY_LIST 用法展示:/** * @author: * @description: * @date: 2022/3/25 **/public class CollectionListTest {原创 2022-03-25 15:43:03 · 1055 阅读 · 0 评论 -
Java --- default 关键字用法
default 在jdk8中引入的,可称为 virtual extension method—虚拟扩展方法。是指,在接口内部包含了一些默认的方法实现(就是接口中可用包含方法体,打破了java之前版本对接口的语法现在),从而使得接口在进行扩展的时候,不会破坏与接口相关的实现类代码. 下面展示一下具体用法:定义接口:/** * @author: * @description: * @date: 2022/3/25 **/public interface DefaultInter原创 2022-03-25 09:50:05 · 4195 阅读 · 0 评论 -
Java --- Optional 类(java.util.Optional<T>)
小编之前开发java的时候,经常遇到空指针问题,做if判断来避免抛出异常。现在有 Optional类,可以不用那么麻烦了。 Optional 类是可以为 null 的容器对象,如果值存在,则 isPresent() 方法返回 true, 调用 get() 方法会返回该对象。Optional 类的引入很好的解决了空指针异常。 下面展示一下具体怎么使用 Optional类:/** * @author: 80318030 * @description: * @date: 2022/原创 2022-03-23 10:52:21 · 558 阅读 · 0 评论 -
Java --- StringUtils.leftPad() 和 StringUtils.rightPad()
小编在最近写代码中,遇到需要给字符串补位的情况,通常情况会使用直接字符串相加的方法。但是小编找到 StringUtils 工具类里面很好用的两个字符串补位的方法,分享给大家。具体使用:/** * @author: * @description: * @date: 2022/3/11 **/public class StringUtilsTest { public static void main(String[] args) { // 给字符串A长度为10,不足位原创 2022-03-11 15:59:53 · 5438 阅读 · 0 评论 -
Java --- stream() 流
jdk8中,遍历一个集合都是是循环的方式,从第一个数据遍历到最后一个数据,但是遍历不上唯一的方式。为了让遍历的方式更加优雅,出现了流 stream。下下面小编展示一下具体用法:/** * @author: * @description: * @date: 2022/3/11 **/public class StreamTest { @Builder @Data static class Card { private final String n原创 2022-03-11 15:17:58 · 362 阅读 · 0 评论