每周一篇-无聊写写001

每周一篇-无聊写写001

1Object类的常见方法:

1.hashCode();

2.equals();

Java中equals和==的区别
java中的数据类型,可分为两类: 
(1)基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 
  他们之间的比较,应用双等号(==),比较的是他们的值。 
(2)复合数据类型(类) 
  当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
  对于复合数据删除线格式 类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

3.clone();

//注意事项:此方法可以实现对一个类的克隆操作,但是clone()方法会抛出CloneNotSupportedException。要调用clone()方法,我们需要将调用放在try-catch块中,或者重新抛出异常。

4.toString();

//线程大家族方法,通常在多线程方法中使用。

5.wait();//通常传入一个等待时间的参数,如果需要提前解束,可以调用notify()方法。

6.notify()、notifyall()等

7.finalize()//通常在JVM的GC机制(垃圾回收)中使用此方法。

==========================================

2 Mysql常见小问题:

count(*)和count(1)的区别,更推荐用count(column列名):

1.count()为聚合函数,是对select的结果集进行技术,但是需要参数不为NULL。

但是count( * )不关心返回值是否为null都会计算他的count,然而count(1)中的1为恒真表达式,所以count( * )和count(1)本质上没有区别。

2.count(column列名)则会判断结果集每一条数据的column列名是否为null再进行count。所以性能远远低于前两者。

3.效率比较:

count(*)=count(1)>count(primary key)>count(column列名)

大于小于和like等常见用法:

1.大于小于会导致索引失效,例如:explain select * from tableA where age >= 15 and age <= 18 的type就是ALL。

2.like查询是以%开头,索引失效;以%结尾,索引有效

(理论上说:统计阅读月份天表的时候数据量小:用 “readDay” like “201801%” 效率高于 “readDay” >= “20180101” and “readDay” <= “20180131 )

===========================================

3语法糖:

语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。

我们所熟知的编程语言中几乎都有语法糖。作者认为,语法糖的多少是评判一个语言够不够牛逼的标准之一。

4解语法糖

前面提到过,语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖

如果你去看com.sun.tools.javac.main.JavaCompiler的源码,你会发现在compile()中有一个步骤就是调用desugar(),这个方法就是负责解语法糖的实现的。

=============================
新人博客不喜勿喷,希望可以得到大佬的指引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值