初始化

c#继承与派生

耗尽温柔 提交于 2020-03-13 00:45:41
c#继承与派生 继承 一个类可以派生自多个类或接口,这意味着它可以从多个基类或接口继承数据和函数。 protected标识的变量只用于继承给派生类使用 基类的初始化 派生类不能在成员初始化列表中直接初始化基类的成员 派生类继承了基类的成员变量和成员方法。因此父类对象应在子类对象创建之前被创建。您可以在成员初始化列表中进行父类的初始化。 构造函数是不可继承的,因此,派生类的构造函数必须通过调用基类的构造函数初始化基类成员,不能够在派生类初始化列表直接初始化基类的成员,“越级初始化”。 派生类的构造函数的一般格式为: 派生类名(形参表):基类名1(形参表1),基类名2(形参表2)··· {···} 注意 : 在创建派生类对象时,先调用基类的构造函数,然后调用派生类的构造函数;撤销对象时,析构函数被调用的顺序则相反。 若派生类中包含对象成员,则派生类的构造函数初始化成员列表中既要列出基类的构造函数也要列出对象的构造函数。派生类定义对象时,先调用基类的构造函数,再调用对象的构造函数,最后调用派生类的构造函数。 多重继承 c#不支持多重继承,但是可以使用接口实现多重继承。 C# 接口(Interface) 来源: https://www.cnblogs.com/monkey-moon/p/9180500.html

Servlet总结

穿精又带淫゛_ 提交于 2020-03-12 18:53:29
index: 1,什么是Servlet 2,Servlet有什么作用 3,Servlet的生命周期 4,Servlet怎么处理一个请求 5,Servlet与JSP有什么区别 6,Servlet里的cookie技术 7,Servlet里的过滤器 8,Servlet里的监听器 一,什么是Servlet? Servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的(如tomcat), 是按照Servlet规范编写的一个Java类。 二,Servlet有什么作用? 主要是处理客户端的请求并将其结果发送到客户端。 三,Servlet的生命周期? Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。 初始化阶段: 1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。 2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。 3,Servlet容器创建一个servlet对象。 4,Servlet容器调用servlet对象的init方法进行初始化。 运行阶段: 当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。

Servlet初始化及处理HTTP请求

谁说我不能喝 提交于 2020-03-12 18:51:24
上一篇详细介绍了与Servlet相关的几个核心的接口和类,当我们自己写Servlet类时,一般需要继承HttpServlet类,实现init()、doGet()、doPost()等方法。当我们写好Servlet类时,它在什么时候被初始化(init())?什么时候执行doGet()、doPost()等方法?本篇重点介绍这两个问题。 1、Servlet初始化 之前的一篇《web.xml文件配置详解》中已经说过,我们自己写的Servlet类需要配置在<servlet-class>标签之中,同时还要配置<servlet-name>、<load-on-startup>、<servlet-mapping>等几个标签。下图说明了在web.xml文件中关于servlet配置的内容,<servlet-class>标签中的MainServlet类就是我们自己写的类。 当我们用Tomcat启动整个web项目时,当配置了<load-on-startup>标签并且里面的数字>=0时,会加载MainServlet类,创建MainServlet类的实例,调用init()方法初始化。在init()方法里面可以通过getServletConfig()方法获取ServletConfig对象,然后通过此对象的getInitParameter()等方法获取<init-param>标签里面的配置信息,并对配置文件进行解析

关于在Servlet中的Fileter

谁说我不能喝 提交于 2020-03-12 18:18:36
  Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。 最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。   Filter,过滤器,是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。 1.概念    过滤作用,对从客户端向服务器端发送的请求进行过滤,也可以对服务器端返回的响应进行处理。它使用户可以改变一个request和修改一个 response.。Filter 不是一个servlet,它不能产生一个response

Servlet总结

走远了吗. 提交于 2020-03-12 18:17:55
Servlet 总结 index: 1 ,什么是 Servlet 2 , Servlet 有什么作用 3 , Servlet 的生命周期 4 , Servlet 怎么处理一个请求 5 , Servlet 与 JSP 有什么区别 6 , Servlet 里的 cookie 技术 7 , Servlet 里的过滤器 8 , Servlet 里的监听器 一,什么是 Servlet ? Servlet 是一个 Java 编写的程序,此程序是基于 Http 协议的,在服务器端运行的 ( 如 tomcat) , 是按照 Servlet 规范编写的一个 Java 类。 二, Servlet 有什么作用? 主要是处理客户端的请求并将其结果发送到客户端。 三, Servlet 的生命周期? Servlet 的生命周期是由 Servlet 的容器来控制的,它可以分为 3 个阶段 ; 初始化,运行,销毁。 初始化阶段: 1 , Servlet 容器加载 servlet 类,把 servlet 类的 .class 文件中的数据读到内存中。 2 ,然后 Servlet 容器创建一个 ServletConfig 对象。 ServletConfig 对象包含了 Servlet 的初始化配置信息。 3 , Servlet 容器创建一个 servlet 对象。 4 , Servlet 容器调用 servlet

JavaWeb应用和Servlet

ⅰ亾dé卋堺 提交于 2020-03-12 18:17:05
JavaWeb应用的生命周期是由Servlet容器来控制的。包括三个阶段: 1.启动阶段: 加载Web应用的有关数据,创建ServletContest对象,对Filter(过滤器)和一些Servlet进行初始化。启动时会:   (1)把web.xml文件中的数据加载到内存中。   (2)为JavaWeb应用创建一个ServletContext对象。   (3)对所有的Filter进行初始化。   (4)对需要在Web应用启动时就被初始化的Servlet进行初始化。 2.运行阶段: 为客户端提供服务。   JavaWeb应用最主要的声明阶段,此阶段,所有的Servlet都处于待命状态,随时可以响应客户端的特定请求,提供相应的服务。若客户端请求的Servlet不存在,Servlet容器会先初始化Servlet,然后调用它的Service服务方法。 3.终止阶段: 释放Web应用所占用的各种资源。终止时会:   (1)销毁JavaWeb应用中所有处于运行状态的Servlet。   (2)销毁JavaWeb应用中所有处于运行时状态的Filter。     (3)销毁所有与JavaWeb应用相关的对象,如ServlerContext对象等,并且释放Web应用所占用的相关资源。 Servlet的生命周期 Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。 (1)加载

【Java基础】并发

你离开我真会死。 提交于 2020-03-12 16:41:16
Num1:同步访问共享的可变数据 关键字 Synchronized 可以保证在同一时刻,只有一个线程可以执行某一个方法,或者某一个代码块。、 同步不仅仅理解为互斥的方式,如果没有同步,一个线程的变化就不能被其他线程看到。同步不仅可以阻止一个线程看到对象处于不一致的状态中,它还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护之前的所有修改效果。 基本版本: public class StopThread { private static boolean stopRequested; private static synchronized void requestStop() { stopRequested = true; } private static synchronized boolean stopRequested() { return stopRequested; } public static void main(String[] args) throws InterruptedException { Thread backgroundThread = new Thread(new Runnable() { public void run() { int i = 0; while (!stopRequested()) i++; } });

STM32 代码堆栈大小分析

孤者浪人 提交于 2020-03-12 15:34:31
1.RO段包括只读代码段(code段/.text段)和常量段(RO Data段/.constdata段)。 2.RW段(.data段)指已被初始化成非0值的变量段。 3. ZI段(.bss段)指未被初始化或初始化为0的变量段。 一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。 要了解RO,RW和ZI需要首先了解以下知识: ARM程序的组成 此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。 一个ARM程序包含3部分:RO,RW和ZI RO是程序中的指令和常量 RW是程序中的已初始化变量 ZI是程序中的未初始化的变量 由以上3点说明可以理解为: RO就是readonly, RW就是read/write, ZI就是zero ARM映像文件的组成 所谓ARM映像文件就是指烧录到ROM中的bin文件,也成为image文件。以下用Image文件来称呼它。 Image文件包含了RO和RW数据。 之所以Image文件不包含ZI数据,是因为ZI数据都是0,没必要包含

SpringMVC九⼤组件初始化

有些话、适合烂在心里 提交于 2020-03-12 13:38:17
在DispatcherServlet中定义了九个属性,每⼀个属性都对应⼀种组件 九⼤组件都是定义了接⼝,接⼝其实就是定义了该组件的规范,⽐如ViewResolver、HandlerAdapter等都是接⼝ /** MultipartResolver used by this servlet. */ // 多部件解析器 @Nullable private MultipartResolver multipartResolver; /** LocaleResolver used by this servlet. */ // 区域化 国际化解析器 @Nullable private LocaleResolver localeResolver; /** ThemeResolver used by this servlet. */ // 主题解析器 @Nullable private ThemeResolver themeResolver; /** List of HandlerMappings used by this servlet. */ // 处理器映射器组件 @Nullable private List<HandlerMapping> handlerMappings; /** List of HandlerAdapters used by this servlet. */ //

JVM学习(1):类加载机制

狂风中的少年 提交于 2020-03-12 12:58:10
Class文件结构解析: 网上看到几篇文章对Java的Class文件解析写的比较全面: https://www.jianshu.com/p/247e2475fc3a http://tech.dianwoda.com/2018/03/28/jvm-classjie-xi-wen-jian-ge-shi/ https://blog.csdn.net/hywo125/article/details/90770393 类加载机制: 第一步:加载 1.获取二进制字节流 2.静态存储结构转化为方法区的运行时数据结构 运行时数据区有:【方法区,堆】,【虚拟机栈,本地方法栈,程序计数器】 3.在Java堆中生成一个类对象,作为方法区的访问入口 第二步:验证 1.验证Class文件标识:魔术Magic Number:cafebabe 2.验证Class文件版本号 3.验证常量池(常量类型,常量类型数据结构是否正确,UTF-8是否符合标准) 4.Class文件的每个部分(字段表、方法表等)是否正确 5.元数据验证(父类验证、继承验证、final字段验证等) 6.字节码验证,最复杂的步骤(指令验证) 7.符号引用验证(验证通过符号引用是否能够找到字段、方法、类) 在验证期间会报的错: IncompatibleClassChangeError--->Class文件错误 Unsupported major