自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java ArrayList扩容初探

prefLength(实际被扩容后的长度)取决于minGrowth和prefGrowth哪个更大一些,后者大于前者,那就是经典的1.5倍扩容,前者大于后者,那就是最少增长量扩容逻辑扩容

2025-10-29 18:03:40 2020

原创 Java泛型

可能在学的时候我们就臆想这么个东西,我们认为MyArray<Integer>类就是一个结结实实的,独一无二的类,你把Integer给传入泛型类中的时候,泛型类中的所有的泛型参数(T或者其他的Whatever)都会变成Integer,其实真的这么去理解泛型没什么问题,把Integer带入也确实是一种很好的理解泛型的方式,但是终究Java实现泛型的方式是类型擦除+编译器介入在必要的类型插入类型转换,我记得我问过AI,它说C#里面的泛型是结结实实的转换,那很有生活了。一般的类和方法,只能用具体的类型;

2025-10-25 11:27:53 465

原创 Java中的Scanner

性能考量:在需要及高性能的场景,比如要说算法竞赛处理海量的输入,Scanner因为涉及复杂的正则解析,性能可能不是最优的,此时,BufferedReader配合split或者StringTokenizer会是更快地选择,但这属于性能优化的范畴,对于绝大多数应用来说Scanner的便利性远远比这点性能差异来得重要和实在。是的,我们用包装类处理输入进来的应该被转化为其他其他类型的字符串,用split方法去处理输入一行中的多组数据,这样的处理才赏心悦目...是否包含非数字字符?然后再尝试转换,十分方便。

2025-10-24 21:02:36 1443

原创 JavaSE冒泡排序

在一个从小到大的数组当中,大的元素一定在右边,小的元素一定在左边,这是没有任何争议的,所以再给一个数组排序的时候,我们可以遍历多次数组检测数组是否满足“大的在右,小的在左”,如果撞见不满足的相邻元素,就调换两者的位置即可,直至所有的元素均遍历完成。那么应该循环遍历是怎么遍历的呢?不难思考,数列中的最大值会在第一次遍历的的时候精准的送至最右边,并且这个最大值无需在之后的遍历中出现,假设数组元素有N个,那么每每遍历一次,所需要遍历的元素就少1,而第一次遍历的时候检查次数是N-1次,以此类推。

2025-10-23 16:59:24 157

原创 Java新版switch语法

Fall-through:如果你忘记写了break,程序会继续执行下一个case的代码,这通常不是我们想要的结果,虽然大概率不会出现,但是代码的鲁棒性还是需要被考虑的。起因是什么我懒得复制了,大致就是在IDEA中去写一个练习的时候无意当中摁了Tab键,从switch中迸发出了"->"这个符号,所以有了想要总结一下的想法。十分方便,并且值得一提的一点是,旧版的switch是一个语句,但是新版被加强之后的switch可以是一个表达式,也就是可以有返回值。代码更简洁,代码行数减少,逻辑一目了然,可读性大大增强。

2025-10-23 13:54:22 265

原创 Java重写与桥接方法

作者在最后提到了如果子类重写父类的方法的时候,子类的重写方法师父类返回类型的子类,那么仍然可以通过编译,这点在初学继承关系中的重写的时候没什么争议,因为可以拿父类的被重写的方法的返回类型作为需求值的返回类型,这个值可以接受子类重写方法返回的对应的子类类型,满足向上转型,一切都很和谐。你在真正调用这个函数名的时候,编译器会疑惑你到底想调用哪个方法,从而不给你编译通过,但是基于这是桥接方法,这个概念背后的真实原理可能十分复杂,具体怎么实现的我不知道,所以这里我委托了AI告诉我。也就是真正要重写的这个方法?

2025-10-22 19:05:25 1120

空空如也

空空如也

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

TA关注的人

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