- 博客(9)
- 收藏
- 关注
原创 CodeTop 刷题记录
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。遍历数组 分别找到当前列左边和右边最高的 然后取较低的减去当前列的高度 就是当前列能存的水。ex:第i列 左边最高的 = max(i-1 列左边最高的, i-1 列的高度)
2024-01-20 18:04:38
1528
1
原创 Thread.sleep(0)的实际运用
无意间在某公众号中发现了关于RocketMq源码的的一张图片,看到Thread.sleep(0)可以prevent gc 感到十分震惊,想探究其中的奥秘,于是阅读了相关文章之后似乎有了一点感觉,遂记录下来,顺便希望通过这篇文章能够让我延续记录的习惯。在counted loop(可数循环)中,jvm是不会防止safepoint的。简单来说 如果你的当前循环是counted loop,那么jvm会在所有循环结束之后在进入safepoint完成gc,此时循环产生的垃圾数量可能会让此次gc时间更长,从而导致性能下降
2023-07-24 15:33:57
180
原创 2021-06-30 Integer的==问题(引申到包装类)
Integer a=123;Integer b=123;System.out.println(a==b); Integer c=123;Integer d=123;System.out.println(c==d);输出结果:truefalse结论所有相同类型的包装类对象之间值的比较,全部使用equals方法比较。说明Integer在-128到127之间的赋值时,对象是在IntegerCache.cache产生,会复用已有对象,在这个范围内可以使用==进行判断,但在区间外的所有
2021-07-09 16:42:07
128
原创 关于static方法的重写
关于static方法的重写;父子访问权限问题关于static方法重写的结论关于访问权限的问题关于static方法重写的结论若父类存在static方法,子类如果需要进行"重写"也必须为static方法。但当声明对象时,对象方法的使用与子类的对象无关,而是与父类的引用有关。这是父类public class father { static void test1(){ System.out.println("father sta"); } } public cl
2021-03-31 15:58:39
998
原创 为什么静态方法不能通过This. super. 调用
静态方法调用static方法static变量static代码块static关键字会改变类中成员的访问权限吗?能通过this访问静态成员变量吗?static能作用于局部变量么?这个要从java的内存机制去分析,首先当你New 一个对象的时候,并不是先在堆中为对象开辟内存空间,而是先将类中的静态方法(带有static修饰的静态函数)的代码加载到一个叫做方法区的地方,然后再在堆内存中创建对象。所以说静态方法会随着类的加载而被加载。当你new一个对象时,该对象存在于对内存中,this关键字一般指该对象,但是如果没
2021-03-22 16:15:10
591
原创 形参之可变参数
方法可变形参简介正确示例错误示例简介JDK1.5起,Java支持传递同类型的可变形参使用方法指定参数类型后加一个省略号(…)一个方法中只能指定一个可变参数任何普通的参数都必须在可变参数之前声明正确示例// 正确示例1 public void test1(int... a) { }// 正确示例2 public void test3(double b, int... a) { }错误示例// 错误示例1 public void test
2021-03-22 15:08:43
148
原创 Java修饰符的总结
今天重温到修饰符 遂记录一下java中提供了很多修饰符,常用的主要分为一下两类访问修饰符非访问修饰符访问控制修饰符Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)public : 对所有类可见。使用对象:类、接口、变量、
2020-07-02 19:34:50
160
原创 刷题分享-JAVA基础(1)
今日刷李扣面试基础题计算阶乘时发现一个问题:计算13以上的阶乘时候 结果明显不正确: public static int cc(int a) { if (a <= 1) { return a; } else { return a * cc(a - 1); } }我就断点打在函数里一直看 发现计算过程中数值并未出错,但到13的时候出现了问题。然后我数了数结果的位数 发现了症状所在:int 是占4个字节, 32位,即可表示2^32次方个数,但因
2020-06-29 18:45:09
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人