java基础进阶
java基础进阶部分
何冽冽同学
纸上得来终觉浅,绝知此事要躬行。
展开
-
使用枚举类替换常量
平时开发中我们经常直接使用private final String DATA = “total”;表示常量,这种方式要么直接写在我们需要使用的类中,作为成员变量,要么单独写一个类作为常量类,里面是项目中使用的各种各样的常量。原创 2023-07-07 14:21:47 · 170 阅读 · 1 评论 -
Java项目开发中的DO、BO、DTO、VO、PO的区别
如果现在有一个复杂的业务,需要根据订单信息和购物车中的信息计算出某个用户的表现力评分,那么就需要在定义一个。我们如果想要接收前端传来的请求体中的各种数据,可以定义一个。然后在定义三个DO对象,对应这三张表(用PO也可以),最后我们如果想要给前端的某个页面传输数据,可以使用。每个DO对象的字段和数据表中的字段关联。根据自己的需求,自行判断。原创 2022-12-17 15:54:52 · 2166 阅读 · 2 评论 -
静态代理和动态代理
动态代理指代理类不写在代码中,而是在运行过程中产生,java提供了两种动态代理,分别是jdk的动态代理和基于Cglib的动态代理。原创 2022-10-04 16:54:54 · 3757 阅读 · 1 评论 -
二进制-原码反码补码
总结一下,不是因为有了反码,补码的定义,才出现了负数的表示,而是因为我们要统一加法、减法运算,为了能【凑出】最终的数字表示,才诞生了反码和补码,帮我们方便进行二进制推导。首先,要明白一个前提,为了简化硬件电路设计,CPU 只有加法器,没有减法器,这就要求,我们必须用另外的手段表示负数,方便加法运算。应该对应 128,但我们说最高位是符号位对吧,我们不妨可以把符号位理解为:它的值就代表 128 ,只是个负的而已。回过头来,再看 -3 的补码怎么来的,记得我们的目的是要凑 -128 + 125。原创 2022-10-04 16:50:40 · 342 阅读 · 0 评论 -
try...catch...finally中的值传递和引用传递的问题
已经将student这个地址的内存中的数据进行了修改,不管你是不是执行完finally后在返回这一套了。传的student是引用传递,传递的是student在内存中的地址,但是因为有。方法返回的还是student在内存中的地址,但是。不管在什么情况下都要被先执行,哪怕你。输出20的原因:因为这里。原创 2022-10-04 16:46:31 · 264 阅读 · 0 评论 -
静态代码块、代码块、构造函数执行顺序问题
在堆中创建对象,也就是说这时候堆中有两个B对象,只不过第一个B对象已经没有了强引用,当GC的时候,会被当做垃圾回收掉,而第二个B还在被b引用着,所以不会被垃圾回收掉。当new第二个B对象的时候,需要注意的一点是静态代码块在类加载的时候只执行一次,也就是后续new的B对象不会再去执行静态代码块中的内容了,所以输出的是。,然后因为有父类,所以就先初始化(这里的初始化和上面的初始化方法不是一回事啊,别弄混)父类,先把父类初始化完了后再去初始化子类,这时候输出。,别看还是用的b,但是毫不影响后面。原创 2022-10-04 16:40:34 · 90 阅读 · 0 评论 -
Java中的`try{}...catch{}...finally{}`哪个可以省略呢?省略后出现的问题有什么?
结论:当出现异常之后,异常之后的代码没有执行。中的内容之后,在终止程序,后面的代码不会执行。将异常包起来的时候,如果。将异常包起来到的情况。中出现异常,将执行完。原创 2022-10-04 16:21:45 · 485 阅读 · 0 评论 -
Java中的异常分类(检查型异常和非检查型异常)
为什么检查型异常必须要抛出异常 因为不可控,比如检查型异常中的`IOException`,比如我们要`new FileOutputStream("D:\test\StudentInfo.txt");`,java不知道你盘符里面到底有没有这个路径下的文件,万一没有的话怎么办,所有就需要我们try...catch一下,万一没找到的话,就报错,让调用者去处理这个没找到的错误。原创 2022-10-03 14:43:52 · 371 阅读 · 0 评论