欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2019/11/20

程序员文章站 2022-05-14 15:26:21
...

1.面试之前一定要自信
2.Ctrl+H 查找类的实现类
2019/11/20
ctrl+alt+u查看类的父类关系
2019/11/20

java中  Object -- Throwable-- Exception
 : {
error
各种异常:
  io异常
  数组越界
  线程打断异常
  FileNotFoundException
(1)NullPointerException 当应用程序试图访问空对象时,则抛出该异常。
(2)SQLException 提供关于数据库访问错误或其他错误信息的异常。
(3)IndexOutOfBoundsException指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。 
(4)NumberFormatException当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
(5)FileNotFoundException当试图打开指定路径名表示的文件失败时,抛出此异常。
(6)IOException当发生某种I/O异常时,抛出此异常。此类是失败或中断的I/O操作生成的异常的通用类。
(7)ClassCastException当试图将对象强制转换为不是实例的子类时,抛出该异常。
(8)ArrayStoreException试图将错误类型的对象存储到一个对象数组时抛出的异常。
(9)IllegalArgumentException 抛出的异常表明向方法传递了一个不合法或不正确的参数。
(10)ArithmeticException当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。 
(11)NegativeArraySizeException如果应用程序试图创建大小为负的数组,则抛出该异常。
(12)NoSuchMethodException无法找到某一特定方法时,抛出该异常。
(13)SecurityException由安全管理器抛出的异常,指示存在安全侵犯。
(14)UnsupportedOperationException当不支持请求的操作时,抛出该异常。
(15)RuntimeExceptionRuntimeException 是那些可能在Java虚拟机正常运行期间抛出的异常的超类。
}
一般说出来几个就可以了
200——表明该请求被成功地完成,所请求的资源发送回客户端
302——请求的网页被转移到一个新的地址,但客户访问仍继续通过原始URL地址,重定向,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的Request。
400——客户端请求有语法错误,不能被服务器所理解
401——请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
HTTP 401.1 - 未授权:登录失败
  HTTP 401.2 - 未授权:服务器配置问题导致登录失败
  HTTP 401.3 - ACL 禁止访问资源
  HTTP 401.4 - 未授权:授权被筛选器拒绝
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败
403——禁止访问,服务器收到请求,但是拒绝提供服务
404——一个404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。eg:输入了错误的URL
405——用户在Request-Line字段定义的方法不允许

3.下单过程库存怎么变化的?
状态 虚拟仓 总库存、可销售库存、占用库存
待发货状态 -1 不变 不变 不变
发货未过海关 不变 不变 -1 +1
发货过了海关 不变 -1 不变 -1
取消订单 +1 +1 +1 不变

4.如何保证库存不为0的?
1.
我们这边不管下单的过程的,拿到得只是需要不变的数量。
你这个问题为了防止超卖是可以用悲观锁解决的。查询语句后加上for update,并发操作时,第一个未提交,第二个是无论如何都update不了的。运用场景是大量的写的操作。
2.
前提是先查询一下数量。如果大于0的进行下面的操作

update stock
            
     sale = sale + 1,
    version = version + 1,
        
 
  WHERE id = #{id,jdbcType=INTEGER}
 AND version = #{version,jdbcType=INTEGER}
相关标签: 20191120