5.25

1 count()和count(1)区别
执行效果上:
count(
)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

执行效率上:
列名为主键,count(列名)会比count(1)快
列名不为主键,count(1)会比count(列名)快
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(
如果有主键,则 select count(主键)的执行效率是最优的
如果表只有一个字段,则 select count(
)最优。

2.走索引和不走索引的情况:
说明
mysql一次查询只能使用一个索引。如果要对多个字段使用索引,建立复合索引。

总结:
下面情况不走索引:
索引列参与计算。
索引列使用了Like %XXX(XXX%没事,或者可以考虑数据库存储一个反向的内容,比如:SELECT * FROM table WHERE reverse_email LIKE REVERSE('%.com'); 就会走索引)。
对索引列使用函数。
对索引列使用正则表达式。
列为char类型时,与数字比较(但是列为数字类型时,与字符比较则没事)。
使用or时,除非所有or连接的所有列都建立了索引,否则不会使用索引(可以考虑用UNION 替换)。
在ORDER BY操作中,排序的列同时也在WHERE中时,MYSQL将无法使用索引。

3 Jvm内存分布,哪些线程共享哪些线程私有

jvm内存分布图如图所示
图片说明

栈、本地方法栈、程序计数器这三个部分都是线程独占的。
(1)程序计数栈:通俗的说就是记录程序执行到那一步了,因为在java中,多个线程是轮流占用处理器的,当一个线程重新占用处理器时,需要恢复到正确的执行位置,就需要一个程序计数器保存程序的执行位置。每个线程都有一个程序计数器。该区域是唯一一个不会报出OutOfMemoryError(OOM异常)的区域。
(2)java虚拟机栈
java虚拟机栈主要是描述方法执行的内存模型,生命周期和线程一致。每个方法执行的时候会创建一个栈帧,存储方法的局部变量表,动态链表,操作数栈,方法出口的等信息。调用方法时入栈,返回结果时出栈。
(3)本地方法栈
线程私有,和上一个Java虚拟机栈作用相似,Java虚拟机栈是为Java方法服务,本地方法栈是为Native服务。

java堆和方法区是线程共享的
(4)java堆
Java堆唯一的目的就是存放对象实例,譬如new String()就会在堆区中产生String类的一个对象实例,它是线程共享的,所有线程产生的实例对象都存放在Java堆中。而正是由于该区域是用于存放实例对象,也就意味着这块区域是GC(垃圾回收)的“主战场”,故也可以称Java堆为GC堆。从内存回收的角度来看,由于现在的收集器基本上都是采用分代收集算法,所以堆区还可以细分为新生代和老年代,而新生代还可以分为“Eden(伊甸)区”、“From Survivor区”和“To Survivor区”,这样分区都是为了使GC执行更加快速。另外,JVM是允许Java堆动态扩展的,如果堆区没有内存完成实例分配,并且堆也无法再扩展时,将会抛出OOM异常。
(3)方法区
与Java堆一样,是线程共享区域,主要用于存储被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。Java虚拟机规范在逻辑上将方法区归属于堆区,但是方法区也称为“Non-Heap(非堆)”,目的就是为了将方法区与堆区分开。
对于方法区的GC回收,主要是针对常量池的回收和对类型的回收,但是往往回收的效果都不太理想,原因为对这块区域的回收条件相对苛刻。

4 Jvm垃圾回收机制,说一下新生代老生代。
jvm垃圾回收机制
https://www.cnblogs.com/andy-zcx/p/5522836.html
新生代老生代
https://blog.csdn.net/weixin_33013787/article/details/112519324

5 线程安全怎么实现

6 10进制转2进制
https://www.cnblogs.com/vsign/p/7290594.html

全部评论

相关推荐

12-22 16:31
已编辑
桂林电子科技大学 Python
很奥的前端仔:如果你接了offer 临时又说不去 hr确实要多做一些工作。 当然如果是接offer之前当我没说
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务