zoukankan      html  css  js  c++  java
  • 笔记3.10

    1. http2.0 与 1.1相比:

    HTTP/2采用二进制格式而非文本格式
    HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
    使用报头压缩,HTTP/2降低了开销
    HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

    状态码:1xx(临时响应) 2xx(成功) 3xx(已重定向) 4xx(请求错误) 5xx(服务器错误)
    200(成功) 301(永久移动) 302(临时移动)
    400(错误请求)     服务器不理解请求的语法。
    401(未授权)     请求要求进行身份验证。登录后,服务器可能会返回对页面的此响应。   
    403(已禁止)     服务器拒绝请求。
    404(未找到)     服务器找不到请求的网页。
    500(服务器内部错误)
    503(服务不可用)     目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态。

    2.volatie 不保证原子性自己的理解:

    如果线程B读变量i发生在线程A写变量之后,那就保证了i的可见性,B读到的i一定是主存中最新的,符合happens-before规则,此时数据是一致的,不会出问题。
    
    如果线程B读变量i发生在线程A写变量之前,A先读,B再读,此时A还没有写,那双方仍然读到的是主存中的最新值,同样保证了i的可见性。但很有可能产生数据不一致,不是原子性操作。

    另外,对volatile变量的只读或只写,具有原子性;但类似于++的操作(先读后写),不具有原子性。

    3.Servlet单例与多线程:

    servlet单实例多线程处理原理:
    servlet中的init方法只有在启动(例如web容器启动,要看loadOnStartup的设置)的时候调用,也就是只初始化一次,这就是单实例。
    对于用户到达Servlet的请求,Servlet容器会创建特定于这个请求的ServletRequest对象和ServletResponse对象,然后调用对应Servlet单一实例的service方法(需要同步)。service方法从ServletRequest对象获得客户请求信息,处理该请求,并通过ServletResponse对象向客户返回响应信息。
    另外,Struts1是单例的,Struts2为每个请求创建一个对象实例,不存在线程安全问题。

    4.Boolean占几字节

    1)boolean a=true;//这个a在JVM中占4个字节即:32位。
    2)boolean[] b = new boolean[10];//数组时,每一个boolean在JVM中占一个字节。
    理由:
    1)JAVA规范中没有定义boolean类型的大小。
    2)但是:在JVM规范第2版中讲得十分清楚。我上边的结论就是从它当中取出来的。

    5.黑盒测试和白盒测试

    黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
    
    白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查
  • 相关阅读:
    Error Boundaries 错误边界
    判断机型
    iframe
    C#中静态方法和非静态方法的区别
    C#制作ActiveX控件中调用海康SDK的问题
    C# 程序集
    web deploy 部署网站
    C# 提取PPT文本和图片的实现方案
    C#调用webservice
    C#中四步轻松使用log4net记录本地日志
  • 原文地址:https://www.cnblogs.com/protected/p/6530335.html
Copyright © 2011-2022 走看看