关于SPU与SKU

电商平台中最核心的2个概念 是SPU(Standard Product Unit)和SKU(Stock Keeping Unit)

  • SPU有点像一种分类,但又具有一定的商品特征,它的具体表现就 像“华为手机Mate 40”,它具有颜色、尺寸、重量、内存容量等属性, 却没有值,所以,它像一个商品又不是商品,由于各属性都没有值,你甚 至无法确定它的价格
  • SKU就是具体的每一件实际的商品,例如你可以购买并握在手上的一部“价值5500元的华为手机Mate 40 黑色 256GB”。
  • SPU和SKU最大的区别就在于SPU约定了有哪些属性,而SKU为这些属性赋值。

JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

内存溢出和内存泄漏的区别

  • 内存泄漏:分配出去的内存无法将回收,造成的现象叫做内存泄漏
  • 内存溢出:内存中剩余的内存不足以分配给新的内存请求就会内存溢出
  • 关系:内存泄漏累积到一定程度就会造成内存溢出。
  • 内存溢出并不一定是由内存泄漏引起的,还可能是因为创建了过大的对象

Spring Bean

Spring Bean 有哪些作用域,它们之间有什么区别?

  • singleton :这种 bean 范围是默认的,这种范围确保不管接受到多少个请求,每个容器中只有一个bean 的实例,单例的模式由 bean factory 自身来维护 。
  • prototype :原形范围与单例范围相反,为每一个 bean 请求提供一个实例 。
  • request :在请求 bean 范围内会为每一个来自客户端的网络请求创建一个实例,在请求完成以后, bean会失效并被垃圾回收器回收 。
  • session :与请求范围类似,确保每个 session 中有一个 bean 的实例,在 session 过期后, bean 会随之失效 。
  • global-session : global-session 和 Portlet 应用相关 。 当你的应用部署在 Portlet 容器中工作时,它包含很多 portlet。 如果你想要声明让所有的 portlet 共用全局的存储变量的话,那么这全局变量需要存储在 global-session 中

JSP与Servlet

什么是JSP?

JSP的全称是Java Server Pages,即Java的服务器页面
JSP的主要作用是代替Servlet程序回传HTML页面的数据,JSP页面本质上是一个Servlet程序

什么是Servlet?

servlet是Server Applet的简称,翻译过来就是服务程序.简单的讲,这个servlet是运行在服务器上的一个小程序,用来处理服务器请求的.servlet是对请求作出处理的组件,运行于支持Java的应用服务器中.

Jsp 和 Servlet 的区别?

相同点

  • jsp 经编译后就变成了 servlet,jsp 本质就是 servlet,jvm 只能识别 java 的类,不能识别jsp 代码,web 容器将 jsp 的代码编译成 jvm 能够识别的 java 类。
  • 其实就是当你通过 http 请求一个 JSP 页面是,首先 Tomcat 会调用 service()方法将 JSP 编译成为 Servlet,然 后执行 Servlet。

不同点

  • JSP 侧重视图,Sevlet 主要用于控制逻辑。
  • Servlet 中没有内置对象 。JSP 中的内置对象都是必须通过 HttpServletRequest 对象,HttpServletResponse 对象以及 HttpServlet 对象得到

Servlet 的生命周期

  1. servlet 对象创建时,调用此方法
public void init(ServletConfig servletConfig);
  1. 用户访问 servlet 时,调用此方法
public void service(ServletRequest servletRequest, ServletResponse servletResponse);
  1. servlet 对象销毁时,调用此方法
public void destroy();

JSP 九大内置对象

  • out 对象:用于向客户端、浏览器输出数据。
  • request 对象:封装了来自客户端、浏览器的各种信息。
  • response 对象:封装了服务器的响应信息。
  • exception 对象:封装了 jsp 程序执行过程中发生的异常和错误信息。
  • config 对象:封装了应用程序的配置信息。
  • page 对象:指向了当前 jsp 程序本身。
  • session 对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
  • application 对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
  • pageContext 对象:提供了对 jsp 页面所有对象以及命名空间的访问

说一下 JSP 的 4 种作用域?

  1. page:代表与一个页面相关的对象和属性。
  2. request:代表与客户端发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web组件;需要在页面显示的临时数据可以置于此作用域。
  3. session:代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的 session 中。
  4. application:代表与整个 Web 应用程序相关的对象和属性,它实质上是跨越整个 Web
    应用程序,包括多个页面、请求和会话的一个全局作用域。