![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 68
jinyangjie0
学如逆水行舟,不进则退
展开
-
Java常见坑11- transient 关键字的使用总结
在持久化对象时,对于一些特殊的数据成员(如用户的密码,银行卡号等),我们不想用序列化机制来保存它。为了在一个特定对象的一个成员变量上关闭序列化,可以在这个成员变量前加上关键字transient。transient 关键字的作用是:阻止实例中那些用此关键字修饰的的变量序列化;当对象被反序列化时,被 transient 修饰的变量值不会被持久化和恢复。(注意static修饰的静态变量天然就是不可序列化的。)transient是短暂的意思。transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调原创 2022-02-10 20:35:24 · 616 阅读 · 1 评论 -
Java常见坑10-序列化和反序列化及使用
我们知道,传统的单体服务到现在的分布式、微服务已经成为主流。其中,一定离不开对象的序列化和反序列化。 那么,什么是序列化、反序列化呢?为什么要进行序列化、反序列化呢?一、概述 java对象序列化的意思就是将对象的状态转化成字节流,以后可以通过这些值再生成相同状态的对象。对象序列化是对象持久化的一种实现方法,它是将对象的属性和方法转化为一种序列化的形式用于存储和传输。反序列化就是根据这些保存的信息重建对象的过程。序列化: 将数据结构或对象转换成二进制字节流的过程反序列化:将在序列化过程中所原创 2022-02-10 20:15:32 · 436 阅读 · 0 评论 -
Java常见坑9-异常处理
介绍Java异常类层次结构、Throwable类常用方法、try-catch-finally方法、使用 `try-with-resources` 来代替`try-catch-finally`,以及自定义异常原创 2022-01-09 18:18:29 · 565 阅读 · 0 评论 -
Java常见坑8-反射机制和使用
通过反射可以获取任意一个类的所有属性和方法,并且能修改属性和调用方法,赋予了我们在运行时分析类以及执行类中方法的能力原创 2022-01-09 16:47:26 · 712 阅读 · 0 评论 -
Java常见坑7-浅拷贝和深拷贝
【推荐】慎用 Object 的 clone 方法来拷贝对象。 对象的 clone 方法默认是浅拷贝,若想实现深拷贝需要重写 clone 方法实现属性对象。浅拷贝:浅拷贝会在堆上创建一个新的对象,不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。深拷贝:深拷贝会完全复制整个对象,包括这个对象所包含的内原创 2022-01-08 23:13:44 · 638 阅读 · 0 评论 -
Java常见坑6-为什么Java中只有值传递?
Java中只有值传递,很多人看到这个结论都会有疑问,值传递和引用传递的区别是什么?Java中只有值传递,没有引用传递的话,那对我们调用方法传对象类型的参数,会有什么影响?下面我们先来复习下值传递和引用传递。值传递(pass by value):指在调用函数时,将实际参数复制一份传递到函数中。引用传递(pass by reference):指在调用函数时,将实际参数的地址直接传递到函数中,那么在函数中对参数进行修改,将影响到实际参数。原创 2022-01-06 23:15:14 · 619 阅读 · 8 评论 -
Java常见坑5-String、StringBuffer和StringBuilder
1. 操作少量的数据: 适用 `String`。2. 单线程操作字符串缓冲区下操作大量数据: 适用 `StringBuilder`。3. 多线程操作字符串缓冲区下操作大量数据: 适用`StringBuffer`。原创 2021-12-29 16:03:48 · 390 阅读 · 0 评论 -
Java常见坑4-面向对象
一、面向对象和面向过程的区别面向过程:面向过程性能比面向对象高。因为类调用时需要实例化,有额外的开销,比较消耗资源,所以当性能是最重要的考量因素时,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。面向对象:由于面向对象有封装、继承、多态的特性,所以可以设计出低耦合的系统,使系统复用性高、而且更加灵活、更加易于维护。 注意:Java性能差的主要原因并不是因为它是面向对象语言,面向过程也需要分配内存,计算内存偏移量,主要原因是:Java是半编译语言,最终的执行代码并不是可以直接被原创 2021-12-26 19:25:48 · 290 阅读 · 0 评论 -
Java常见坑3-基本类型、equals和自动装箱拆箱
一、基本类型 Java 中有 8 种基本数据类型,分别为:6 种数字类型 :byte、short、int、long、float、double1 种字符类型:char1 种布尔型:boolean基本类型位数字节包装类型默认值int324Integer0short162Short0long648Long0Lbyte81Byte0char162Character‘u0000’float原创 2021-12-26 16:54:24 · 525 阅读 · 0 评论 -
Java常见坑2-标识符、关键字和泛型
一、标识符和关键字的区别是什么? 在我们编写程序的时候,需要大量地为程序、类、变量、方法等取自定义名字,于是就有了标识符,简单来说,标识符就是一个名字。但是有一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这种特殊的标识符就是关键字。因此,关键字是被赋予特殊含义的标识符。二、泛型1、什么是泛型 泛型是我们在写公共方法时,很实用的一个参数化类型。 在泛型没出现时,我们在写公共方法时, 比如Excel处理类ExcelUtil,为了实现参数的"任意化",我们会定义参数为Ob原创 2021-12-26 14:00:58 · 346 阅读 · 0 评论 -
Java常见坑1-认识虚拟机和字节码
前言:工作中常用到Java,但一些知识点虽然知道,但总是很模糊,所以,特写个《Java常见坑》系列供自己及他人查漏补缺。我们先从认识虚拟机和字节码开始。原创 2021-12-23 20:26:59 · 736 阅读 · 3 评论