做网站开发工资怎样,怎样做网站海报,连云港seo优化公司,企业网站推广联系方式java基础复习(二)
1.抽象的#xff08;abstract#xff09;方法是否可同时是静态的#xff08;static#xff09;#xff0c;是否可同时是本地方法#xff08;native#xff09;#xff0c;是否可同时被 synchronized修饰#xff1f;
都不能。 抽象方法需要子类重写…java基础复习(二)
1.抽象的abstract方法是否可同时是静态的static是否可同时是本地方法native是否可同时被 synchronized修饰
都不能。 抽象方法需要子类重写而静态的方法是无法被重写的。二者是矛盾的 本地方法是由本地代码如 C 代码实现的方法而抽象方法是没有实现的。二者也是矛盾的 synchronized 和方法的实现细节有关节抽象方法不涉及实现细节因此也是相互矛盾的
2.阐述静态变量和实例变量的区别
静态变量是被 static 修饰符修饰的变量也称为类变量它属于类不属于类的任何一个对象一个类不管创建多少个对象静态变量在内存中只有一个拷贝实例变量必须依存于某一实例需要先创建对象然后通过对象才能访问到它。
静态变量可以实现让多个对象共享内存
3.是否可以从一个静态static 方法内部发出对非静态non-static方法的调用
不可以静态方法只能访问静态成员因为非静态方法的调用要先创建对象在调用静态方法时可能对象并没有被初始化
4.Spring 的 IoC 支持那些功能
Spring 的 IoC控制反转是Spring 框架的核心功能之一,它支持以下功能:
1.依赖注入DI通过依赖注入Spring 可以从配置文件、注解等方式自动将对象的依赖关系注入到目标对象中大大降低了代码的藕合度
2.AOP面向切面编程Spring IoC 支持 AOP技术可以在不修改原有代码的情况下实现对代码的增强例如事务管理、日志记录等
3.生命周期Spring IoC 容器可以管理对象的生命周期在对象创建、初始化、销毁等阶段执行不同的回调方法提供了非常方便的资源管理能力
4.条件化配置Spring IoC 支持条件化配置可以根据不同的条件进行选择性地加载和处理对象
5.嵌套容器Spring IoC 支持嵌套容器可以创建多个容器并相互嵌套每个容器独立运行且相互隔离
6.配置文件Spring IoC 支持 XML、YAML、Properties 等多种格式的配置文件也支持注解方式的配置
7.多环境配置Spring IoC 支持多环境配置可以根据不同的环境选择不同的配置例如开发环境、测试环境、生产环境等
总结
Spring IoC 为 java 开发者提供了一个强大的热情以便他们创建松藕合的应用程序。这使得应用程序的组件例如服务和数据访问对象能够相互协作以实现更复杂的业务逻辑
5.乐观锁和悲观锁的实现是怎么样的
悲观锁一般是通过加锁的方式来解决一般加 synchronized 关键字方式实现
而 乐观锁的底层实现是CAS也就是比较并替换定义一个期望值其他线程每次进行操作时先和期望值进行比较如果相同就修改原来的时间如果不同就直接返回操作失败
一般版本号控制
6.Redis如何与MySQL保持数据同步
1.缓存延时双删
先删除缓存再更新数据库休眠一会比如1秒再删除缓存
2.删除缓存重试机制
因为延时双删可能会存在第二步的删除缓存失败导致的数据不一致问题。可以使用这个方案优化删除失败就多删除多几次保证删除缓存成功就可以了
所以可以引入删除缓存重试机制
写请求更新数据库
缓存因为某些原因删除失败
把删除失败的 key 放到消息队列
消费信息队列的消息获取要删除的 key
重试删除缓存操作
3.读取 biglog 异步删除缓存
7.TCP 和 UDP 区别是什么
TCP 是有连接的可靠的字节流速度慢
UDP是不需要连接速度很快不可靠、数据可能丢失
8.this 与 super 之间有什么区别
this子类引用super父类引用
子类与父类的调用优先级的区别
9.请简述你对 MVC 模式的理解
MVC 全称 model view controller
模型视图控制器 将业务数据模型 视图页面分开来控制而且才用mvc三层架构可以降低模块之间的耦合性提高代码的复用性。
缺点简单系统太过于追求mvc模式的话会增加系统业务
10.什么情况下MySQL 数据库索引失效
条件不符合的索引使用如果查询条件不符合索引的定义数据库无法使用索引进行定位会导致索引失效。例如我们在一个整类字段建立索引查询条件使用了 字符串比较索引就无法发挥作用使用函数或运算符在查询条件中使用函数或运算符可能导致索引失效。因为数据库无法再索引树中执行这些函数或运算符操作所以无法使用索引进行定位数据分布不均匀如果数据分布不均匀即有些值重复率非常高索引的选择性就会降低导致索引失败。这种情况数据库可能选择的是全表扫描不是索引索引列参与计算比如加减乘除运算索引就会失效。