• 每日五问(java)


    一.为什么要使用 Spring 框架?
    Spring 是一个轻量级应用框架,它提供了 IoC 和 AOP 这两个核心的功能。它的核心目的是为了简化企业级应用程序的开发,使得开发者只需要关心业务需求,不需要关心 Bean 的管理,以及通过切面增强功能减少代码的侵入性。从 Spring 本身的特性来看,我认为有几个关键点是我们选择 Spring 框架的原因。轻量:Spring 是轻量的,基本的版本大约 2MB。
    IOC/DI:Spring 通过 IOC 容器实现了 Bean 的生命周期的管理,以及通过 DI 实
    现依赖注入,从而实现了对象依赖的松耦合管理。
    面向切面的编程(AOP):Spring 支持面向切面的编程,从而把应用业务逻辑和系
    统服务分开。
    MVC 框架:Spring MVC 提供了功能更加强大且更加灵活的 Web 框架支持
    事务管理:Spring 通过 AOP 实现了事务的统一管理,对应用开发中的事务处理
    提供了非常灵活的支持
    最后,Spring 从第一个版本发布到现在,它的生态已经非常庞大了。在业务开
    发领域,Spring 生态几乎提供了
    二.为什么 Redis 需要把所有数据放到内存中?
    Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以 redis 具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘 I/O 速度为严重影响 redis的性能。在内存越来越便宜的今天,redis 将会越来越受欢迎,如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。
    三.HTTP 响应码有哪些?分别代表什么含义?
    200:成功,Web 服务器成功处理了客户端的请求。
    301:永久重定向,当客户端请求一个网址的时候,Web 服务器会将当前请求重定向到另一个
    网址,搜索引擎会抓取重定向后网页的内容并且将旧的网址替换为重定向后的网址。
    302:临时重定向,搜索引擎会抓取重定向后网页的内容而保留旧的网址,因为搜索引擎认为
    重定向后的网址是暂时的。
    400:客户端请求错误,多为参数不合法导致 Web 服务器验参失败。
    404:未找到,Web 服务器找不到资源。
    500:Web 服务器错误,服务器处理客户端请求的时候发生错误。
    503:服务不可用,服务器停机。
    504:网关超时。
    四.springboot中自动装配的原理是什么
    自动装配简单来说就是自动把第三方组件bean自动装载到IOC容器中不需要开发人员再去写bean的一个配制,springboot只需要在启动类上加上@SpringbootApplication注解就可以去实现自动装配@SpringbootApplication是一个复合注解真正去实现的是@EnableAutoConfiguration自动装配主要依赖于三个核心技术
    (1)引入Starter启动依赖主键的时候里面必须包含一个@Configuration配置类而这个配置类里面我们需要@Bean这个注解去声明要装配到IOC容器中的Bean对象
    (2)配置类是放到第三方的jar包中然后通过springboot约定优于配制的这一个理念去吧这个类的全路径放在 classpath:META-INF/spring.factories文件里面这样的话spring就可以知道第三方jar包里面配置类的位置
    (3)springboot拿到所有第三方声明的配置类之后通过spring提供的importSelector这样一个接口来实现对这些配置类的动态加载从而完成自动装配这一个动作
    五.HAVNG 子句 和 WHERE 的异同点?

    1. 语法上:where 用表中列名,having 用 select 结果别名
    2. 影响结果范围:where 从表读出数据的行数,having 返回客户端的行
    3. 索引:where 可以使用索引,having 不能使用索引,只能在临时结果
      集操作
    4. where 后面不能使用聚集函数,having 是专门使用聚集函数的。
  • 相关阅读:
    如何使用 React 和 Docusaurus 编写的一些自定义钩子(Hook)
    【C++ STL】-- priority_queue底层原理、使用、模拟实现
    4.2 实现注册与登录模块
    Windows 桌面窗口管理器
    使用Python制作内马尔的胜利之舞代码版
    跨行转做产品经理岗位,怎么入门?
    2023年CNVD漏洞周报16期
    【Java】常用API——String类、Math类
    信号发送与处理
    JavaSE——字符串常量池(StringTable)
  • 原文地址:https://blog.csdn.net/Nicholas_giao/article/details/127579899