没有网站做APP,葛亚曦设计公司官网,扬州网站建设公司,做网站网页的公司文章目录 一、Java基础篇1.接口和抽象类的区别2.重载和重写的区别3.==和equals的区别4.异常处理机制5.HashMap原理6.想要线程安全的HashMap怎么办?7.ConcurrentHashMap原如何保证的线程安全?8.HashTable与HashMap的区别9.ArrayList和LinkedList的区别10.如何保证ArrayList的线… 文章目录 一、Java基础篇1.接口和抽象类的区别2.重载和重写的区别3.==和equals的区别4.异常处理机制5.HashMap原理6.想要线程安全的HashMap怎么办?7.ConcurrentHashMap原如何保证的线程安全?8.HashTable与HashMap的区别9.ArrayList和LinkedList的区别10.如何保证ArrayList的线程安全?11.String、StringBuffer、StringBuilder的区别12.hashCode和equals13.面向对象和面向过程的区别14.深拷贝和浅拷贝15.多态的作用16.什么是反射?17.Java创建对象得五种方式? 二.Java多线程篇1.进程和线程的区别,进程间如何通信2.什么是线程上下文切换3.什么是死锁4.死锁的必要条件5.Synchrpnized和lock的区别6.什么是AQS锁?7.为什么AQS使用的双向链表?8.有哪些常见的AQS锁9.sleep()和wait()的区别10.yield()和join()区别11.线程池七大参数12.Java内存模型13.保证并发安全的三大特性?14.volatile15.线程使用方式16.ThreadLocal原理17.什么是CAS锁18.Synchronized锁原理和优化19.如何根据 CPU 核心数设计线程池线程数量20.AtomicInteger的使用场景 三.JVM篇1.JVM运行时数据区(内存结构)2.什么情况下会内存溢出?3.JVM有哪些垃圾回收算法?4.GC如何判断对象可以被回收?5.典型垃圾回收器6.类加载器和双亲委派机制7.JVM中有哪些引用?8.类加载过程9.JVM类初始化顺序10..对象的创建过程11.对象头中有哪些信息12.JVM内存参数13.GC的回收机制和原理 四.Mysql篇1.MyIsAm和InnoDB的区别2.mysql事务特性3.事务靠什么保证4.事务的隔离级别5.什么是快照读和当前读6.MVCC是什么7.MySQL有哪些索引8.聚簇索引和非聚簇索引的区别9.MySQL如何做慢SQL优化10.为什么要用内连接而不用外连接?11.MySQL整个查询的过程12.执行计划中有哪些字段?13.哪些情况索引会失效14.B和B+数的区别,为什么使用B+数15.MySQL有哪些锁16.Mysql内连接、左连接、右连接的区别17.sql执行顺序18.如何设计数据库?19.where和having的区别?20.三大范式21.char和varchar的区别22.InnoDB 什么情况下会产生死锁23.MySQL 删除自增 id,随后重启 MySQL 服务,再插入数据,自增 id 会从几开始?24.MySQL插入百万级的数据如何优化? 五.常用开发框架系列1.什么是Spring?2.IOC是什么?3.AOP是什么?4.如何定义一个全局异常处理类?5.如何使用aop自定义日志?6.循环依赖是什么,怎么解决的?7.Bean 的作用域8.Bean 生命周期9.Spring 事务原理?10.spring事务失效场景11.spring事务的隔离级别12.spring事务的传播行为13.Spring IoC12.spring用了哪些设计模式14.SpringMV工作原理15.springboot自动配置原理16.springboot常用注解17.spring的bean是线程安全的吗?18.springcloud主要解决什么问题?19.CAP理论20.为什么不能同时保证一致性和可用性呢?21.熔断限流的理解?22.常用限流算法 六.Redis系列1.redis为什么快?2.redis持久化机制3.Redis如何实现key的过期删除?4.Redis数据类型5.Redis缓存穿透如何解决?6.Redis如何解决缓存击穿?7.Redis如何解决缓存雪崩?8.Redis分布式锁的实现原理9.Redis集群方案10.Redis集群主从同步原理11.Redis缓存一致性解决方案12.Redis内存淘汰策略 七.计算机网络系列1.TCP/IP模型2.浏览器输入地址后做了什么?3.TCP三次握手4.为什么TCP不能两次握手5.TCP四次挥手6.为什么要进入时间等待状态?7.TCP 滑动窗口8.TCP拥塞控制9.TCP超时重传10.TCP可靠传输的实现11.TCP报头有哪些信息12.状态码13.http与https的区别14.socket通信流程 八.linux系列1.linux常用命令2.linux的io模型3.io模型:4.IO多路复用详解5.epoll的LT和ET模式 九.场景题1.Java如何实现统计在线人数的功能?2.电商网站可以分成哪些模块(或订单模块要完成哪些功能)? 十.其他(RabitMQ、数据结构与算法、nginx、git、jwt登录等...)1.RabbitMQ如何保证消息不丢失?2.RabbitMQ如何保证消费顺序3.设计模式六大原则4.设计模式分类5.排序算法的时间复杂度6.大量数据排名,采用什么数据结构7.二叉树和堆之间联系或区别8.平衡二叉树不平衡如何调整?9.hash表冲突的解决方法10.cookie和session的联系11.Nginx反向代理是什么,负载均衡算法有哪些? 十一.秒杀项目相关问题:1.项目流程2.提升qps的操作 微学院相关问题1.如何用springSecurity做的认证授权?2.前后端联调经常遇到的问题: 实习中供应链项目的收获1.熟悉了代码开发规范 一、Java基础篇
1.接口和抽象类的区别
相似点:
(1)接口和抽象类都不能被实例化
(2)实现接口或继承抽象类的普通子类都必须实现这些抽象方法
不同点:
(1)抽象类可以包含普通方法和代码块,接口里只能包含抽象方法,静态方法和默认方法,
(2)抽象类可以有构造方法,而接口没有
(3)抽象类中的成员变量可以是各种类型的,接口的成员变量只能是 public static final 类型的,并且必须赋值
2.重载和重写的区别
重载发生在同一个类中,方法名相同、参数列表、返回类型、权限修饰符可以不同
重写发生在子类中,方法名相、参数列表、返回类型都相同,权限修饰符要大于父类方法,声明异常范围要小于父类方法,但是final和private修饰的方法不可重写
3.==和equals的区别
==比较基本类型,比较的是值,==比较引用类型,比较的是内存地址
equlas是Object类的方法,本质上与==一样,但是有些类重写了equals方法,比如String的equals被重写后,比较的是字符值,另外重写了equlas后,也必须重写ha