当前位置: 首页 > news >正文

网站建设安全方案热狗网站排名优化外包

网站建设安全方案,热狗网站排名优化外包,做网站需要用到技术,项目网评pptQ:介绍一下MySQL的三种日志(redo,undo,bin) Redo Log 和 Undo Log 是存储引擎 InnoDB 层面实现的,Bin Log 是 MySQL 层面实现的。 下面是三种日志的简要介绍: Redo Log:保证事务的…

Q:介绍一下MySQL的三种日志(redo,undo,bin)

Redo Log 和 Undo Log 是存储引擎 InnoDB 层面实现的,Bin Log 是 MySQL 层面实现的。

下面是三种日志的简要介绍:

  1. Redo Log:保证事务的持久性(Durability)。Redo Log 记录了已提交事务的所有更改,以便在发生故障时可以恢复数据。

    • Redo Log 是一种顺序写入的日志,写入速度比随机写入要快。
    • 当事务对数据库进行修改时,首先将更改写入 Redo Log,而不是直接写入数据文件。这样,即使系统崩溃,也可以使用 Redo Log 中的记录来恢复数据。
    • Redo Log 在 MySQL 中以“日志组”的形式存在,通常在 InnoDB 存储引擎中使用。

    特点:

    • Redo Log 是物理日志,记录的是数据页的物理变化。
    • 在数据库崩溃后进行恢复时非常重要,确保已提交事务的数据不会丢失。
  2. Undo Log:支持事务的原子性(Atomicity)和一致性(Consistency),以及实现 MVCC(多版本并发控制)。

    • Undo Log 记录了事务对数据的所有修改的反向操作,以便在事务回滚时能够恢复到事务开始前的状态。
    • 当一个事务执行更新操作时,系统会在 Undo Log 中记录下修改前的值,这样在需要回滚时就可以使用这些信息恢复数据。
    • Undo Log 是逻辑日志,记录的是对数据的逻辑变化。

    特点:

    • Undo Log 使得 MySQL 能够实现事务的回滚,确保在发生错误时能够恢复到一致性状态
    • 在实现 MVCC 时,Undo Log 允许读取未提交数据的事务在特定条件下读取数据的历史版本
  3. Bin Log:用于数据的复制和恢复。Binlog 记录了所有对数据库的更改操作(包括 DDL 和 DML 语句),而不是数据的实际内容

    • 当执行任何更新操作时,MySQL 会将该操作以事件的形式记录在 Binlog 中。这样可以将这些操作应用到其他数据库实例,实现数据复制。
    • Binlog 可以配置为不同的格式,如 Statement、Row 和 Mixed 模式,决定了日志中记录的信息类型。
    • Binlog 是主从复制的基础,主库会将 Binlog 发送给从库

    特点:

    • Binlog 是逻辑日志,记录的是 SQL 语句及其变更,而不是具体的物理数据
    • 在数据恢复中,Binlog 可以用来重放操作,将数据库恢复到某个特定时间点
    • Binlog 的存在使得 MySQL 支持数据的备份和恢复,以及高可用性集群的实现

Q:介绍一下Spring 中的 @Autowired和@Resource

**@Resource@Autowired**的对比:

  • 都是用来自动装配的,都可以作用在属性字段或方法上

  • @Autowired

    • 默认通过**类型(byType)**进行注入。
    • 如果找到多个同类型的 bean,会抛出 NoUniqueBeanDefinitionException
    • 如果使用了 @Qualifier@Primary 注解,可以明确指定要注入的具体 bean,从而帮助解决歧义。@Qualifier 可以用来基于名称选择特定 bean,但不会在 byType 后尝试 byName
  • @Resource

    • 默认先通过**名称(byName)**查找对应的 bean。

    • 如果找不到匹配的名称,则根据**类型(byType)**进行查找。

    • 如果 byType 找到多个同类型的 bean,会抛出 NoUniqueBeanDefinitionException

    • 如果在名称和类型查找后都没有找到 bean,抛出 NoSuchBeanDefinitionException

Q:Spring 中用到了那些设计模式?

  1. 工厂模式:如 BeanFactoryAppicationContext,通过工厂模式创建和管理Bean对象
  2. 单例模式:Bean的默认作用域。
  3. 代理模式:AOP 和 一些动态代理的实现,如JDK接口实现动态代理,CIGLIB继承实现动态代理,以及@Transcational也会使用代理模式创建代理对象。
  4. 模板方法:如JdbcTemplateRedisTemplate以及Mybaytis - Spring 整合的sqlSessionTemplate
  5. 观察者模式:Spring的事件驱动模型
  6. 策略模式:Spring的Resource接口的实现,允许根据不同的资源类型(系统、url、类路径)来加载
  7. 适配器模式:Spring MVC的HandlerAdapter允许不同类型的处理器(如 ControllerHttpRequestHandler)能够处理 HTTP 请求
  8. 装饰器模式:Spring 的 BeanPostProcessor 允许在Bean初始化前后进行一些额外的逻辑处理

Q:你了解java是怎么实现代理模式的吗?(jdk原生和cglib)

对于动态代理, JDK 动态代理 vs CGLIB 动态代理

特性JDK 动态代理CGLIB 动态代理
代理对象只能代理实现了InvocationHandler接口的类可以代理没有实现接口的类
实现方式基于反射和接口基于继承和字节码生成
性能对于接口的代理,性能较好生成代理类需要更多资源,但一次生成后性能更优
使用场景适用于接口代理适用于没有接口的类的代理
限制只能代理接口目标类不能是 final,方法不能是 final

CGLIB动态代理 原理:通过继承生成代理类,使用字节码生成库(如 ASM)来动态生成目标类的子类,并在子类中覆盖目标类的方法。代理对象实际上是目标对象的子类,所有对代理对象方法的调用都会被重定向到代理逻辑。

JDK原生动态代理原理:通过接口代理对象,当通过代理对象调用方法时,JDK 实际上会执行 InvocationHandler 中的 invoke() 方法。在该方法中,您可以添加自定义逻辑(如记录日志、权限检查等),并最终调用目标对象的方法。代理对象会在执行目标方法时调用该方法。

http://www.yayakq.cn/news/741911/

相关文章:

  • 昌平区网站建设公司一条龙建站多少钱
  • 国外html模板网站网站盈利方法
  • 温州 网站开发要多少钱
  • 手机在线网站建设济南网站制作培训班
  • 微信网站链接怎么做制作网页的工具有哪些
  • 深圳免费模板建站shopify建站最全教程
  • 台州网站推广标签怎么删除wordpress
  • 华为荣耀官网入口网站优化有哪些方法
  • 班级网站建设首页报告免费的网站后台
  • 简述商业网站建设的流程广州南沙建设和交通局网站
  • 承接网站开发服务器搭建虚拟主机
  • 海南省住房和城乡建设局网站网页游戏开服表源码
  • 长沙百度网站制作seo专业培训班
  • 北京网站制作培训班中国做外贸的网站有哪些内容
  • 做网站没有成本费用如何做账线上教育
  • 网站推广手段有哪些wordpress config.php
  • 小说网站设计模板做业务员找数据的网站
  • 建站哪家好论坛新手怎样推销自己的产品
  • 资源企业网站排名优化价格传奇游戏网页
  • 国外的优秀网站软件网站排行榜
  • 建大型网站分类信息网站发布标题
  • 网页游戏网站打不开自己做网站 为什么出现403
  • 峨眉山网站建设东莞seo建站优化收费
  • 学习网站建设建议调查问卷网络活动策划方案
  • 聊城网站建设电话wordpress如何编辑网页加代码
  • 如何查询网站的建站工具二次网站开发平台
  • 郑州手机网站建设推广赚钱的app
  • 电商网站建设的意义防控措施持续优化
  • wordpress页内跳转链接seo网站的优化方案
  • 网站建设费放什么科目营销型网站建设 合肥