1.asp.net服务控件生命周期

11个生命阶段

(1)初始化:

初始化在传入Web请求生命周期内所需的设置,、跟踪视图状态。页面框架通过默认方式引发Init事件,并调用OnInit()方法,控件开发人员可以重写该方法为控件提供初始化逻辑。

此后,页面框架将调用TrackViewState方法来跟踪视图状态。
(2)加载视图状态:

主要任务是检查ASP.NET服务器控件是否存在,以及是否需要将其状态恢复到它在处理之前的请求结束的状态。

因此该过程发生在页面回传过程中,而不是初始化请求过程。在此阶段,页面框架将自动恢复ViewState字典。如果服务器控件不维持其状态,或者它有能力通过默认方式保存其所有状态而使用ViewState字典,那么开发人员则不必实现任何逻辑。针对那些无法在 ViewState字典中存储的数据类型或者需要自定义状态管理的情况,开发人员可以通过重写LoadViewState方法来自定义状态的恢复和管理。

(3)处理回发数据:

处理回发数据的控件参与此阶段。

若要使控件能够检查客户端发回的窗体数据,那么必须实现System.Web.UI.IPostBackDataHandler接口的 LoadPostData()方法。
(4)加载:

ASP.NET服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。

此时,开发人员可以通过重写OnLoad()方法来实现每个请求共同的逻辑。

(5)发送回发更改通知:

ASP.NET服务器控件通过引发事件作为一种信号,表明由于回发而发生的控件状态变化

为了建立这种信号,开发人员必须再次使用System.Web.UI.IPostBackDataHandler接口,并实现另一方法- RaisePostBackChangedEvent()。其判断过程为:如果控件状态因回发而更改,则LoadPostData()返回true;否则返回false。页面框架跟踪所有返回true的控件并在这些控件上调用RaisePostDataChangedEvent()。

(6)处理回发事件:

该阶段处理引起回发的客户端事件。

为了便于将客户端事件映射到服务器端事件上进行处理,开发人员在此阶段可以通过实现 System.Web.UI.IPostBackEventHandler接口的RaisePostBackEvent()方法来实现该逻辑。由此途径,服务器控件将成功捕获回发的客户端事件进行服务器端的相应处理。

(7)预呈现:

该阶段完成在生成控件之前所需要的任何工作。

通常情况下是通过重写OnPreRender()方法完成该工作。

需要注意的是:在该阶段,可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段进行的更改则会丢失。

(8)保存状态:

如果ASP.NET服务器控件不维持状态,或者它有能力通过默认方式保存其所有状态而使用ViewState字典,那么开发人员不必在该阶段实现任何逻辑。因为这个保存状态的过程是自动的。如果ASP.NET服务器控件需要自定义状态保存,或者控件无法在ViewState字典中存储特殊的数据类型,则需要通过重写SaveViewState()方法来实现状态保存。

(9)呈现:

表示向HTTP输出流中写入标记文本的过程。

开发人员通过重写Render()方法使其在输出流上自定义标记文本。

(10)处置:

在此阶段中,通过重写Dispose ()方法完成释放对昂贵资源的引用,如数据库链接等。

(11)卸载:

完成的工作与"处置"阶段相同,但是,开发人员通常在Dispose()方法中执行清除,而不处理Unload事件。

2.冒泡.排序算法 ,对比性能区别就是时间复杂度

int [] array = new int
        ;
        int temp = 0 ;
        for (int i = 0 ; i < array.Length - 1 ; i++)
        {
        for (int j = i + 1 ; j < array.Length ; j++)
        {
        if (array[j] < array[i])
        {
        temp = array[i] ;
        array[i] = array[j] ;
        array[j] = temp ;
        }
        }
        }
3.设计模式熟悉的2种

如果一个类始终只能创建一个实例,则这个类被称为单例类,这种模式就被称为单例模式。

单例模式的方法命名为:getInstance(),这个方法的返回类型肯定是单例类的类型了。getInstance方法可以有参数,这些参数可能是创建类实例所需要的参数,当然,大多数情况下是不需要的。

单例模式主要有如下两个优势:

1)      减少创建Java实例所带来的系统开销

2)      便于系统跟踪单个Java实例的生命周期、实例状态等。

简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

优势:

让对象的调用者和对象创建过程分离,当对象调用者需要对象时,直接向工厂请求即可。

从而避免了对象的调用者与对象的实现类以硬编码方式耦合,以提高系统的可维护性、可扩展性。

工厂模式的缺陷:当产品修改时,工厂类也要做相应的修改。

工厂方法

我们不想在工厂类中进行逻辑判断,程序可以为不同产品类提供不同的工厂,不同的工厂类和产不同的产品。

当使用工厂方法设计模式时,对象调用者需要与具体的工厂类耦合。

使用简单工厂类,需要在工厂类里做逻辑判断。而工厂类虽然不用在工厂类做判断。但是带来了另一种耦合:客户端代码与不同的工厂类耦合。

在工厂类的基础上再增加一个工厂类,该工厂类不制造具体的被调用对象,而是制造不同工厂对象。

代理模式(Proxy)

当客户端代码需要调用某个对象时,客户端实际上不关心是否准确得到该对象,它只要一个能提供该功能的对象即可,此时我们就可返回该对象的代理(Proxy)

4.新的技术你最近再研究哪些
5.页面间传值方式
6.数据库性能优化方面
优化查询语句,使用存储过程;sql语句的执行计划是否正常;
减少应用和数据库的交互次数、同一个sql语句的执行次数;
数据库实体的碎片的整理(特别是对某些表经常进行insert和delete动作,尤其注意,索引字段为系列字段、自增长字段、时间字段,对于业务比较频繁的系统,最好一个月重建一次);
减少表之间的关联,尽量单表查询数据,统一在内存中进行逻辑处理,减少数据库压力;
对访问频繁的数据,充分利用数据库cache和应用的缓存

数据量比较大的,在设计过程中,为了减少其他表的关联,增加一些冗余字段,提高查询性能;
7.结构和类的区别
8.抽象类和接口区别

9.WebSocket 的使用

10.闭包

11.最近做项目遇到的问题

12.支付

13.为什么离职

14.点击出现行的内容

$(document).ready(function () {
        $('#ulClick li').click(function () {
           // alert($(this).index('#ulClick li') + 1);
            alert($(this).html())
        });
    });

15.每个文本赋值:123

var inputs = document.getElementsByTagName("input");
        var ls = [];
        for (var i = 0; i < inputs.length; i++) {
            var type = inputs[i].getAttribute("type")
            if (!type || type == "" || type == "text") {
                inputs[i].value = "123";
            }
        }
16.获取字符串中出现最多的数和它一共出现多少次

var str = 'asdfssaaasasasasaa'; //定义字符串
var json = {}; //定义数组用来存储每个字符元素所对应的个数
for (var i = 0; i < str.length; i++) { //遍历字符串中所有的元素
if (!json[str.charAt(i)]) { //判断当前元素是否已经在数组中存在 str.charAt(i)//当前元素
json[str.charAt(i)] = 1; //给对应数组元素中个数赋值
}
else
{
     json[str.charAt(i)]++; //给数组中元素个数赋值
}
};
var iMax = 0;//出现次数
var iIndex = '';//元素名称
for(var i in json){ //重新赋值出现最多的数据和个数
if(json[i]>iMax){
iMax = json[i];
iIndex = i;
}
}

Y-C的更多相关文章

  1. ThinkPHP 汉字转成多种形式拼音

    模型: <?php namespace Admin\Model; use Think\Model; /** * 汉字转拼音 * @author huangguojin */ class ZHMo ...

  2. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  3. Android立体旋转动画实现与封装(支持以X、Y、Z三个轴为轴心旋转)

    本文主要介绍Android立体旋转动画,或者3D旋转,下图是我自己实现的一个界面 立体旋转分为以下三种: 1. 以X轴为轴心旋转 2. 以Y轴为轴心旋转 3. 以Z轴为轴心旋转--这种等价于andro ...

  4. $x^2+y^2=c^2$

    $x^2+y^2=c^2$ 每一个实数都能用有理数去逼近到任意精确的程度,这就是有理数的稠密性.The rational points are dense on the number axis. 每一 ...

  5. android3D动画,绕y轴旋转

    原文地址:http://blog.csdn.net/x_i_a_o_h_a_i/article/details/40449847 其实网上的3D旋转的例子很多,在这里我只是想把其代码做一个解释. 先上 ...

  6. DFS序+线段树 hihoCoder 1381 Little Y's Tree(树的连通块的直径和)

    题目链接 #1381 : Little Y's Tree 时间限制:24000ms 单点时限:4000ms 内存限制:512MB 描述 小Y有一棵n个节点的树,每条边都有正的边权. 小J有q个询问,每 ...

  7. ((uchar*)(Img1->imageData + Img1->widthStep*pt.y))[pt.x] 的 具体含义

    widthstep是指图像每行所占的字节数. 主要要和width区别: width是表示图像的每行像素数,widthStep指表示存储一行像素需要的字节数. 在OpenCV里边,widthStep必须 ...

  8. CAST function should support INT synonym for SIGNED. i.e. CAST(y AS INT)

      Login / Register Developer Zone Bugs Home Report a bug Statistics Advanced search Saved searches T ...

  9. 在数组中找出x+y+z=0的组合

    就是找x+y=-z的组合 转化为找出值为-z满足x+y=-z的组合 解法一: 为了查找,首先想到排序,为了后面的二分,nlogn, 然后x+y的组合得n^2的复杂度,加上查找是否为-z,复杂度为nlo ...

  10. 微信 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]"}

    {"errcode":,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]" ...

随机推荐

  1. HDU 4416 (后缀自动机)

    HDU 4416 Good Article Good sentence Problem : 给一个串S,和一些串T,询问S中有多少个子串没有在T中出现. Solution :首先对所有的T串建立后缀自 ...

  2. 移动端click事件延迟300ms该如何解决

    window.addEventListener( "load", function() {     FastClick.attach( document.body ); }, fa ...

  3. EditText实时监测内容

    editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequ ...

  4. Codeforces Round #414

    A =w= B qvq C(贪心) 题意: Alice和Bob分别有长度为n(n<=1e5)的字符串,Alice先手,每次从自己的字符串中抽出一个字母放到新字符串的某个位置,一共轮流n次,也就是 ...

  5. 【CV知识学习】early stop、regularation、fine-tuning and some other trick to be known

    深度学习有不少的trick,而且这些trick有时还挺管用的,所以,了解一些trick还是必要的.上篇说的normalization.initialization就是trick的一种,下面再总结一下自 ...

  6. 002 static and default route

    r2(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1 r1(config)#ip route 192.168.3.0 255.255.25 ...

  7. Eclipse插件开发中的选择监听机制(Selection Provider-Listener)

    Eclipse插件开发中的选择监听机制(Selection Provider-Listener) 监听机制是eclipse插件开发或rcp应用开发中经常使用的技术,比方点击TableViewer或Tr ...

  8. 1.1 Spring概述

        Spring是分层的Java SE/EE应用一站式的轻量开源框架,以 反转控制(Inverse of Control,IoC).面向切面编程(Aspect Oriented Programmi ...

  9. IE6\7\8 :last-child 和 :first-chlid 兼容

    IE9以下不支持last-child ,只支持first-child,边框尽量用上边框.

  10. the largest value you actually can transmit between the client and server is determined by the amount of available memory and the size of the communications buffers.

    the largest value you actually can transmit between the client and server is determined by the amoun ...