== 和equals的区别
==既可以比较基本数据类型,也可以比较引用数据类型,当比较基本数据类型是比较的是值是否相等,当比较引用数据类型时,比较的是地址是否相等;
记住:new出来的东西,==比较永false;
equals是Object类的方法;不是String类的方法
equals比较的是引用数据类型
要看equals有欸有被重写,如果没有重写比较的是地址是否相等;如果被重写了,具体问题具体分析,例如:String类型就要比较诶个字符是否相等,就是比较值是否相等;
Java类加载机制:静态代码块>普通代码块>构造方法;
静态代码块只加载一次,普通代码块new一次对象加载一次,
系统变慢:
Linux:查看整机性能
使用top命令查看CPU和内存占用的百分比;
id ==> idle 空闲率 ,数值也大越好
load average 系统负载 后面的三个参数是1分钟,5分钟,10分钟的系统平均负载量
退出top命令的方式:按q退出;不要按ctrl+C
或者用uptime 查看整机性能
内存
free -m
查看磁盘空间
df -h
CPU 包含但不限于
vmstat -n 2 3
磁盘io (sql调优)
iostat -xdk 2 3
chomd
ifcinfig 查看IP
分布式锁:
MySQL:
Hash结构:在区间查询的时候时间复杂度为O(n)
Tree结构:二叉平衡树,CRUD的平均时间复杂度为O(log2(n))
O(8): 查询8次;
O(log2(n)) 查询三次;
二叉树:问题是当数据是连续递增或者连续递减的时候,二叉树就退化为单项链表了
二叉平衡树(AVL):数据量越大,树就越高,查询的次数也会增加,IO次数也就会越来越频繁,效率也就低了
降低树的高度,由瘦高变为矮胖;
MongoDB索引选择B-树,而 Mysql 选择B+树
Java基础与性能优化
本文深入探讨了Java中==与equals的区别,详细解释了两者在基本数据类型与引用数据类型中的应用,以及equals方法的重写原则。同时,文章提供了Linux系统性能监控的多种命令,如top、uptime、free、df、vmstat、iostat等,帮助读者理解如何诊断和解决系统性能问题。此外,还对比了不同数据结构如Hash、Tree、二叉树、二叉平衡树(AVL)、B-树及B+树在查询效率上的差异。
8万+

被折叠的 条评论
为什么被折叠?



