19年8-10月遇到的坑

Integer one = 128;
Integer one = 128;
System.out.println(one = two);/*结果为false*/

Integer one = 100;
Integer one = 100;
System.out.println(one = two);/*结果为true*/

ava中如果Integer不是new出Integer对象,而是直接赋值,这种情况是在常量池中开辟出同一个空间来存储,所以one和two都指向100
但是Integer的缓冲范围,因为不是在堆区new一个对象,那么在常量池中就必须对其的大小范围做出一个规定,
有一个规范叫JSL(Java Language Specification,java语言规范)对Integer的缓冲做了约束,规定其范围为:(-128-127)之间,如果超出了范围,会从堆区new一个Integer对象来存放值。
在这里插入图片描述
上图第二行static final int low = -128;规定了下线为-128,但是最大范围没有确定下来,这个设计是方便优化或扩展JVM来预留的。固定了缓冲的下限,但是上限可以通过设置JDK的AutoBoxCacheMax参数调整。如下JDK源码中的注释也给出了相关说明:
在这里插入图片描述
看源码真是一件令人酸爽的事情

2.匿名函数作用:

  • 划出一块私有作用域,避免数据污染
  • 执行完就销毁,避免内存被一直占用

3.在这里插入图片描述
在这里插入图片描述
4.写爬虫时不要用常规思维,具体网站具体分析,有时候你自以为这是一个登录按钮,苦苦找寻"submit"时,在这里插入图片描述
其实它只是一张小图片
5.
Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下的都是引用类型(reference type),所以String不是最基本的数据类型。
6.
内部类是定义在另一个类中的类
内部类的好处:
(1)隐藏机制:内部类封装性更好,隐藏在一个类之中,同一包中的其他类也不能访问
(2)内部类可以访问外围类的私有数据,四种内部类都需掌握,最重要的是静态内部类
7.
扩展一个类的意思就是继承类,术语懂得太少
区分类中重载方法的依据是不同的形参列表
序列化保存的是对象的状态,静态变量属于类的状态,因此序列化并不保存静态变量
8.
(1)goto 是Java中的保留字,在目前版本的Java中没有使用。
(2)&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算,很多时候我们可能都需要用&&而不是&
9.
Java对于eqauls方法和hashCode方法是这样规定的:(1)如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;(2)如果两个对象的hashCode相同,它们并不一定相同。
10.
Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder,它们可以储存和操作字符串。其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。而StringBuffer/StringBuilder类表示的字符串对象可以直接进行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer要高。
11.
spring的schedule值支持6个域的表达式,也就是不能设定年,如果超过六个则会报错。

"0 0 * * * *"                      表示每小时0分0秒执行一次

" */10 * * * * *"                 表示每10秒执行一次

"0 0 8-10 * * *"                 表示每天8,9,10点执行

"0 0/30 8-10 * * *"            表示每天8点到10点,每半小时执行

"0 0 9-17 * * MON-FRI"     表示每周一至周五,9点到17点的0分0秒执行

"0 0 0 25 12 ?"                  表示每年圣诞节(12月25日)0时0分0秒执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值