当前位置:文档之家› Ch09

Ch09

3G Evolution
Chapter:
9
High-Speed Downlink Packet Access
Deepak Dasalukunte Department of Electrical and Information Technology
16-Apr-2009 3G Evolution - HSPA and LTE for Mobile Broadband 1

Outline
? Overview
– – – – Shared channel transmission Channel dependent scheduling Rate control Hybrid ARQ and soft combining
? Details/Finer details of HSPA
– Channels – downlink/uplink, data/control... – MAC-hs and physical layer processing
? Scheduling ? Rate control ? Hybrid ARQ with soft combining ? In-sequence delivery to higher layers from MAC ? CQI/ downlink quality ? Uplink and Downlink control signalling
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
2

Part I : Overview
? Major extension of WCDMA radio interface ? Enhancing WCDMA packet data performance and capabilities
– Higher peak data rates – Reduced latency – Increased capacity
? Achieved through
– – – – Channel dependent scheduling Higher order modulation Rate conrol Hybrid ARQ and soft combining
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
3

Shared channel transmission
? Resources in a cell are common to user and shared dynamically
– Downlink radio resources – Channelization codes
? Configurable: 1-15 ? Remaining: control and other purposes
– Transmit power
? Allocation depending on requirement. ? Power remaining after serving other channels is allocated to HS-DSCH ? 2ms TTI (transmit time interval):
– reduces overall latency – also exploited by rate control – and channel dependent scheduling
? More SCHs and CCHs later
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
4

Recap from chapter 7
? Channel dependent scheduling
– Scheduler decides which user at a given time instance gets the resource – effective channel variations as seen by NodeB is better. – Larger gains with larger channel variations and larger number of users
? Rate control and higher order modulation
– QPSK, 16QAM – Higher bandwidth utilization in better channels – Data rate varies every TTI (2ms)
? Hybrid ARQ and soft combining
– Incremental redundancy – Chase combining
? Discussed in this chapter:
– Parameters to be used
? Channelization codes, modulation schemes, coding rates, transport block sizes etc.
– when and what to use in a particular situation – Implementation details: specifications, actual numbers and examples
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
5

Architecture
? HSDPA techniques: adaptation to variations in radio conditions
– Should be placed close to the radio interface ? NodeB
? Minimize architectural changes
– Simplifies HSPA introduction in already deployed networks – Cells not upgraded to HSPA can co-exist
? A new MAC sub layer in NodeB: MAC-hs ? At network side HSDPA introduction implies
– Enhancements to RNC – MAC-hs layer in NodeB
? UE can move out of the cell supporting HSDPA and vice versa.
– Uninterrupted service to user (lower data rate) – Switch user to deidcated channel in non-HSDPA cell – To enter HSDPA cell: UE should be HSDPA-capable
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
6

Part II: Details/Finer details of HSDPA
? ? ? ? Channels – downlink/uplink, data/control... MAC-hs and physical layer processing Scheduling, rate control Hybrid ARQ with soft combining
? Finer details:
– In-sequence delivery to higher layers – CQI/ downlink quality – Uplink and Downlink control signaling
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
7

Channels: Shared/Dedicated, Uplink/Downlink, …
? HS-DSCH: transport channel, supports
? ? ? ? Shared channel transmission Channel dependent scheduling Rate control Hybrid-ARQ with soft combining
NodeB
? Other channels
? Control signaling ? Circuit switched services
UE
? Resource sharing mainly in time domain
? Exploit channel dependent scheduling advantages ? Code domain also possible with channelization codes
? Constant Tx power with HS-DSCH ? 2ms TTI result of tradeoff between
? Obtaining small end user delay ? Reduce control signaling overhead
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
8

Channels: Shared/Dedicated, Uplink/Downlink, … (2)
? HS-SCCH(Shared Control CH): control signaling for DSCH
– Notifies
? code tree used ? Modulation scheme ? Block size
– All users receive this, to find out if they have been scheduled or not.
? HS-DPDCH: uplink user data. ? HS-DPCCH (Dedicated Physical Control CH): Uplink control signaling
– ACK/NAK – CQI: Downlink channel conditions fed back to NodeB
? for channel dependent scheduling and rate control
? DPCH (Dedicated Physical CH): power control commands (NodeB?UE)
– Can also be used for user data – f-DPCH (fractional): reduce consumption of downlink channelization codes.
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
9

MACMAC-hs and PHY layer processing
? Changes in MAC-hs, reflects some changes in PHY layer ? MAC-hs
? ? ? ? Scheduling Priority handling Transport-format selection (block size) Hybrid-ARQ mechanism MAC PHY
? PHY layer
? Rate 1/3 turbo coding ? Rate matching (RM) – to obtain code rate selected by rate control mechanism
– Puncturing/repetition
? RM as a part of hybrid-ARQ
– Generate different redundancy versions -IR
? Constellation rearrangement if 16-QAM is used.
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
10

MACMAC-hs: Scheduling
? Implementation is not specified ? Information required for scheduling
– Instantaneous channel conditions at UE – Buffer status and priorities of data flow
? Channel Quality Indicator(CQI) – 5 bits of information fed back to nodeBs (HS-DPCCH)
– Calculated at UE using the received pilot symbols – Converted to transport block size, also accounting Rx performance
? For same channel, a more advanced UE receiver reports higher CQI
? Important signals are put on higher priority level in the scheduler
– Radio resource control signaling information about change of cell. – Streaming services also can tolerate only a marginal delay
? For this a priority queue is included which the scheduler makes use of.
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
11

MACMAC-hs: Rate control
? Adjusting data rate to match channel conditions
? Modulation ? Channel coding rate
? MAC-hs sets transport format independently ? Transport block:
– 254 different possibilities – 63 values per channelization code and modulation scheme – 13 – 27952 bits – coding rate: 1/3 to 1
? The block size also depends on the traffic situation
– Better channel conditions implies larger block size – Relatively smaller block size enough at low traffic conditions
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
12

HybridHybrid-ARQ with soft combining
? ? ? ? Faster compared to RLC based retransmissions No signaling between nodeB and RNC RLC (higher layer within MAC) configured with infrequent status reports 1 transport block per TTI and entire block re-transmitted
– Lesser uplink signalling
? Short TTI ensures static channel during transmission of one transport block ? Incremental redundancy during re-transmissions is achieved through the rate matching block in PHY ? Soft combining happens through new data indicator for the same transmitted block
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
13

HybridHybrid-ARQ with soft combining (2)
? One hybrid-ARQ entity with multiple hybrid-ARQ processes
– – – – To allow continuous transmission No. of processes is configurable Configured according to roundtrip time b/w nodeB and UE Up to 8 processes configurable, typical is 6 as it provides 2.8ms of processing time for nodeB – Each process has its own soft buffer in UE – Soft buffer in UE configured by nodeB by downlink signaling – Transport blocks out of sequence:
? reordering before passing it to RLC
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
14

MACChanges in PHY layer due to MAC-hs
? MAC-hs
? Scheduling ? Rate control – modulation scheme selection ? Transport-format selection – block size using no. of channelization codes and modulation scheme ? Hybrid-ARQ mechanism – multiple Hybrid-ARQ processes
? PHY layer
? Rate matching (RM) – to obtain code rate selected by rate control mechanism
– Puncturing/repetition
? RM as a part of hybrid-ARQ
– Generate different redundancy versions -IR
? Constellation rearrangement if 16-QAM is used.
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
15

HybridHybrid-ARQ : PHY layer processing
? Rate matching:
? Corresponds rate control and hybrid-ARQ in MAC
? Rate chosen by MAC-hs layer independently ? Output bits from Turbo coder different ? RM works in 2 stages
– 1st stage: limits to match soft buffer in UE – 2nd stage: to match physical channel block size
? Depends on modulation and channelization code ? Help in generating different sets of coded bits (r,s)
– s: systematic bits, r: retransmission
Rate matching block
(size=7000) (size=3840)
? Example:
? MAC-hs configures block size = 3840 (QPSK, 4 channelization codes) ? Transport block to be transmitter = 2404 ? UE soft buffer size for one hybrid-ARQ process is 7000
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et . al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
16

HybridHybrid-ARQ : PHY layer processing (2)
? Constraints on r and s in 2nd stage of RM – more details
– – – – – Initial transmission: s=1 and code rate<1 for good performance s=1 and r=0 for all re-transmission attempts Same set of bits in re-transmission: chase combining s=1 and r=0 initial Tx; s=0 and r>0 in re-Tx: incremental redundancy More possibilities using s and r
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
17

Interleaving and constellation rearrangement
? Systematic bits more important than parity bits in Turbo decoding ? While using 16QAM
– Systematic bits mapped to more reliable positions in 16 QAM symbol – Two interleaver scheme
? QPSK
– Single interleaver
? 16QAM with hybrid-ARQ with chase combining
– Performance gain with constellation rearrangement + re-transmissions – Gains not significant with incremental redundancy
? Constellation rearrangement:
– bit manipulations/reordering – Essentially selecting one out of 4 constellations for 16QAM – ?? Which is which is not evident (supposedly color coded)
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
18

Mobility
? Change of serving cell
? RRC signaling
? ? ? ?
Measurements from UE reported to RNC RNC reassigns the UE to corresponding NodeBs Several measurement mechanisms Measurement event 1D is one such
? Common pilot strength from neighboring cell is reported to be stronger than current cell
? Reconfiguration of UE
– Synchronous
? Pre-defined activation time, all nodes involved switch at this time ? Packet losses during handover, taken care of by RLC protocol
– Asynchronous
? Involved nodes reconfigure as soon as they receive the message ? Can result in data loss, due to delays in one of the nodes not updating quickly
Figure courtesy: 3G evolution: HSPA and LTE for mobile broadband by Erik Dahlman, Stefan Parkvall et. al
16-Apr-2009
3G Evolution - HSPA and LTE for Mobile Broadband
19

Downlink control signaling: HS-SCCH; F-DPCH HSF? UE to properly despread, demodulate, and decode HS-DSCH data ? Every HS-DSCH TTI, one HS-SCCH carries PHY layer signaling ? Several SCCHs in parallel can exist
? UE should be able to decode 4 HS-SCCHs in parallel
? HS-SCCH carries
? Transport format
– Channelization code – Modulation scheme – Transport block size info
? Hybrid ARQ
– Hybrid ARQ process # – Redundancy version – New data indicator
? UE ID that identifies which UE the HS-SCCH is intended
? Power control commands for UE
? Adjust uplink transmission power ? When UE is moving towards/away from the NodeB
16-Apr-2009 3G Evolution - HSPA and LTE for Mobile Broadband 20

C#里的委托和事件实现Observer

C#里的委托和事件实现Observer 一、委托的简介 1、委托的声明: delegate HandlerName ([parameters]) 例如: public delegate void PrintHandler(string str); 委托声明定义了一种类型,它用一组特定的参数以及返回类型来封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。 2、委托的使用: using System; public class MyClass { public static void Main() { PrintStr myPrinter = new PrintStr(); PrintHandler myHandler = null; myHandler += new PrintHandler(myPrinter.CallPrint); // 将委托链接到方法,来实例化委托 if(myHandler!=null) myHandler("Hello

World!"); // 调用委托,相当于匿名调用委托所链接的方法 Console.Read(); } } public delegate void PrintHandler(string str); // 声明委托类型 public class PrintStr { public void CallPrint(string input) { Console.WriteLine(input); } } 在C#中使用委托方法: ·创建委托所使用的方法必须和委托声明相一致(参数列表、返回值都一致) ·利用 +=、-=来进行委托的链接、取消链接或直接使用https://www.doczj.com/doc/cf17108431.html,bine和Delegate.Remove方法来实现 ·可以使用MulticastDelegate的实例方法GetInvocationList()来获取委托链中所有的委托

自测题8(面向对象一)(答案)

C/C++测试题 面向对象 选择题: C++概述 1、以下C++新增的关键字为。 A break B continue C stuct D inline //答案:D 2、面向对象程序设计将数据与______放在一起,作为相互依存、不可分割的整体来处理。A对数据的操作B信息C数据隐藏D数据抽象 //答案:A 3、面向对象程序设计优于传统的结构化程序设计,其优越性主要表现在,它有希望解决软件工程的两个主要问题:软件复杂性和______。 A 软件生产率的提高 B 精化已有的代码 C 共享代码 D 编写可重用代码 //答案:A 4、面向对象系统的______是一种信息隐藏技术,目的在与将对象的使用者与设计者分开,使用者不必知道对象行为实现的细节,只需用设计者提供的协议命令对象去做即可。 A多态性B封装性C继承性D复用性 //答案:B 5、______不是面向对象系统所包含的要素 A重载B对象C类D继承 //答案:A 6、关于C++与C语言的关系的描述中,______是错误的。 A C语言是C++的一个子集 B C++与C语言是兼容的 C C++对C语言进行了一些改进 D C++与C语言都是面向对象的 //答案:D 7、下面关于对象概念的表述中,______是错误的。 A 对象就是C语言中的结构变量 B 对象代表着正在创建的系统中的一个实体 C 对象是一个状态和操作(或方法)的封装体 D 对象之间的信息传递是通过信息进行的 //答案:A 8、下面关于类概念的表述中,______是错误的。 A 类是抽象数据类型的实现 B 类是具有共同行为的若干对象的统一描述体 C 类是创建对象的样板 D 类就是C语言中的结构类型

C#委托及事件

C#委托及事件 在C#中,委托(delegate)是一种引用类型,在其他语言中,与委托最接近的是函数指针,但委托不仅存储对方法入口点的引用,还存储对用于调用方法的对象实例的引用。 简单的讲委托(delegate)是一种类型安全的函数指针,首先,看下面的示例程序,在C++中使用函数指针。 首先,存在两个方法:分别用于求两个数的最大值和最小值。 int Max(int x,int y) { return x>yx:y; } int Min(int x,int y) { return x } 上面两个函数的特点是:函数的返回值类型及参数列表都一样。那么,我们可以使用函数指针来指代这两个函数,并且可以将具体的指代过程交给用户,这样,可以减少用户判断的次数。 下面我们可以建立一个函数指针,将指向任意一个方法,代码如下所示: 建立一个委托类型,并声明该委托可以指向的方法的签名(函数原型)delegate void MyDelegate(int a,int b); 2.建立一个委托类的实例,并指向要调用的方法 用委托类实例调用所指向的方法 int c=md(4,5); 下面通过实例来演示C#中委托的使用。

案例操作020601:利用委托实现方法的 动态调用 首先,添加如下控件: 两个RadioButton,分别用来让用户选 择求最大值以及求最小值 二个TextBox,用来输入两个操作数 一个TextBox,用来显示运算结果 一个Button,用来执行运算 界面如下图所示: 下一步,在窗口中添加两个方法:Max,Min,这两方法的代码如下: int Max(int x,int y) { return x>yx:y; } int Min(int x,int y) { return x } 窗口中的代码,如下图所示:

优秀广告作品欣赏

c:\iknow\docshare\data\cur_work\xxxx\ 瑞士关于酒后驾车的公益广告 文案:Alcohol created new realities. xRoadCross.ch 酒精作用下的现实体验 没有血腥和惨痛的场面,却很好的传达出本广告的主旨,不错。诺基亚(Nokia)手机广告创意 文案:有冇韮菜? 买Nokia手机送储值通话咭?! 有没有搞错?买诺基亚手机送储值通话卡?!

文案:VLCC's anti-cellulite cream and gel, helps the user tone up in just 14 days. VLCC瘦身啫哩膏,十四天内给您变化 AGENCY: M&C Saatchi, Delhi ART DIRECTOR: Sudip Bhattacharya COPYWRITER: Sourabh Mookherjee Bridgestone(普利司通轮胎)文案:Premium tyres c:\iknow\docshare\data\cur_work\xpp.sohux\photoview-1一三287233.html

备胎 每一款普利司通轮胎都如同宝石一般,好创意! Advertising Agency: Dentsu, Brussels, Belgium Creative Director: Wain Choi Art Director: Eric Jamez Copywriter: Geoffrey Phillips Photographer: Bertrand Castais Published: 2005

字节跳动面试经验分享(非常详细)

字节跳动面试官一招差点KO我,一共面试了3轮(5年经验),艰难拿下2-2职级offer! 前言 我从大学毕业开始做Android开发,现在已经五年时间了,现在在山东老家济南做Android开发。这三年里面,也只是一心在做Android开发,其他语言接触的并不多,了解点JS之类的。现在感觉Android开始不像以前那样好做了,也可能是现在年纪慢慢大了,要考虑的事情变多了的缘故吧。 不知道以后应该何去何从,总是感觉做Android或者说做程序员一直处在一种不稳定之中,在一些中小公司里面,可能工作一年两年就因为各种各样的原因而离职。马上就要结婚了,该买房了。济南的房价一直在涨,而自己的收入还是这么不温不火的,加上这不稳定的工作,让人对于前途实在是乐观不起来。 再加上今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次字节的面试真的太难为我了,可以说是和面试官大战了3个回合,不过好在最后给了offer。 我个人情况是5年Android开发经验,字节跳动定级2-2(年薪是50-100w左右含加班费和股票折现,不含车餐房补)的样子,我是拿到了年薪60w+,13薪。下面是我的面试经历,与学习经验分享,希望能带来一些不一样的启发和帮助。 我与字节跳动面试官“大战”3回合,胜! 我的学习经验 1—4年大学 ?Java

无论什么级别的Android从业者,Java作为Android开发基础语言。不管是工作还是面试中,Java都是必考题。如果不懂Java的话,薪酬会非常吃亏(美团尤为重视Java基础) 详细介绍了Java泛型、注解、并发编程、数据传输与序列化、高效IO、容器集合、反射与类加载以及JVM重点知识线程、内存模型、JVM运行时内存、垃圾回收与算法、Java中四种引用类型、GC 分代收集算法 VS 分区收集算法、GC 垃圾收集器、JAVA IO/NIO 、JVM 类加载机制的各大知识点。 ?筑基必备 Android架构师筑基包括哪些内容呢: 1.深入 Java 泛型. 2.解深入浅出 3.并发编程 4.数据传输与序列化 5.Java 虚拟机原理 6.反射与类加载 7.高效 IO 8.Kotlin项目实战 大学1-4年架构师筑基必备 ?学习笔记整理 架构师筑基必备目录 架构师筑基必备第一章

C#委托事件详解

C# 中的委托和事件 引言 委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。 将方法作为方法的参数 我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问候的话语: public void GreetPeople(string name) { // 做某些额外的事情,比如初始化之类,此处略 EnglishGreeting(name); } public void EnglishGreeting(string name) { Console.WriteLine("Morning, " + name); } 暂且不管这两个方法有没有什么实际意义。GreetPeople用于向某人问好,当我们传递代表某人姓名的name参数,比如说“Jimmy”,进去的时候,在这个方法中,将调用EnglishGreeting方法,再次传递name参数,EnglishGreeting则用于向屏幕输出“Morning, Jimmy”。

现在假设这个程序需要进行全球化,哎呀,不好了,我是中国人,我不明白“Morning”是什么意思,怎么办呢?好吧,我们再加个中文版的问候方法: public void ChineseGreeting(string name){ Console.WriteLine("早上好, " + name); } 这时候,GreetPeople也需要改一改了,不然如何判断到底用哪个版本的Greeting问候方法合适呢?在进行这个之前,我们最好再定义一个枚举作为判断的依据: public enum Language{ English, Chinese } public void GreetPeople(string name, Language lang){ //做某些额外的事情,比如初始化之类,此处略 swith(lang){ case Language.English: EnglishGreeting(name); break; case Language.Chinese: ChineseGreeting(name); break; } } OK,尽管这样解决了问题,但我不说大家也很容易想到,这个解决方案的可扩展性很差,如果日后我们需要再添加韩文版、日文版,就不得不反复修改枚举和GreetPeople()方法,以适应新的需求。 在考虑新的解决方案之前,我们先看看 GreetPeople的方法签名:

唯一看明白额委托与事件讲解

一、在控制台下使用委托和事件 我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。 我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具体方法的时候,我们不直接调用这个方法,而是去调用这个委托。当然,我们必须在具体方法和委托之间建立某种关联。 下面我们来看例子。 首先,我们定义一个委托: public delegate void SaySomething(string name); 这跟抽象方法的语法格式很相似,只是多了一个关键字delegate。既然是对方法的一种抽象,那么我们最关注的当然就是方法的返回值以及方法的参数了。所以上面红色的部分就是我们定义出来的一个规矩,如果某个方法想委托我去做事,那么请你遵循我的规矩,就是返回值为void,参数为一个字符串。我们这个委托的含义是,当某个人来了,就向他说点东西。 好,既然我们已经定义了这个规矩,下面我们就定义具体的方法了。 public void SayHello(string name) { Console.WriteLine("Hello," + name + "!"); } public void SayNiceToMeetYou(string name) { Console.WriteLine("Nice to meet you," + name + "!"); } 我们这里一共定义了两个方法,一个是向某人说Hello,另一个是向某人说Nice to meet you。我们看到,这里定义的两个方法的返回值和参数跟我们前面定义的“委托”是一致的。 接下来,我们来看事件。 public event SaySomething come;

HullOFOD8eSolutionsCh09

CHAPTER 9 Mechanics of Options Markets Practice Questions Problem 9.1. An investor buys a European put on a share for $3. The stock price is $42 and the strike price is $40. Under what circumstances does the investor make a profit? Under what circumstances will the option be exercised? Draw a diagram showing the variation of the investor’s profit with the stock price at the maturity of the option. The investor makes a profit if the price of the stock on the expiration date is less than $37. In these circumstances the gain from exercising the option is greater than $3. The option will be exercised if the stock price is less than $40 at the maturity of the option. The variation of the investor’s profit with the stock price in Figure S9.1. Figure S9.1 Investor’s profit in Problem 9.1 Problem 9.2. An investor sells a European call on a share for $4. The stock price is $47 and the strike price is $50. Under what circumstances does the investor make a profit? Under what circumstances will the option be exercised? Draw a diagram showing the variation of the investor’s profit with the stock price at the maturity of the option. The investor makes a profit if the price of the stock is below $54 on the expiration date. If the stock price is below $50, the option will not be exercised, and the investor makes a profit of $4. If the stock price is between $50 and $54, the option is exercised and the investor makes a profit between $0 and $4. The variation of the investor’s profit with the stock price is as

Ch09_单线图

第9章 单线图全图形用户界面 (One-Line Diagram GUI) ETAP 提供了一种完全图形化的用户界面(GUI),用于构建您的单线图。在这里,您可以图形 化地进行添加、删除、重定位、联接设备、放大缩小、显示或隐藏网格、更改设备规格(大小)、更改设备方向、更改符号、显示或隐藏保护设备、输入(电气)属性值、设置工作状态等操作。

当您创建了一个新的单线图时,您将被置于编辑模式下(配置状态设为默认,也称正常配置),同时隐藏网格且关闭连接状态检查。当您打开(激活)一个现有的单线图时,该显示图最后一次保存的属性也会一并打开,这些属性为:模式(编辑、潮流、短路、电机起动等),配置状态、显示选项、视图规格和视图位置。 当您创建一个新项目时,将会自动创建一个单线图图形显示,其标识与默认单线图的标识相同,且其标识后还附有一个具有唯一性的数字,以便于区别。为在一个现有的项目中创建一个新的单线图图形显示,请在项目视图中的单线图上点击鼠标右键,如下所示。 单线图的名称可以从项目视图中进行更改(展开图形显示树状图,在单线图上点击右键,然后选择属性),也可以在单线图的背景上双击以进行更改。 ETAP的单线图是一个对称三相系统的单线图表示。单线图是进行所有分析的起点。您可以任意顺序地用单线图的编辑工具条图形化地联接母线、支路、电机、发电机和保护设备,从而构造您的电气系统。您既可以图形化地联接母线,又可以在设备编辑器内把设备联接到母线上。您在设备上双击即可打开设备编辑器,以输入编辑设备的项目参数属性,包括额定值、设定值、负荷和联接等等。各设备的默认值可在将设备放入单线图之前进行修改,以将数据输入量降为最少。

java类加载机制

Java类加载机制(一) 译:ayi 第一次翻译,翻译得不是很好,请多多指点 我的邮箱:nonopo12345@https://www.doczj.com/doc/cf17108431.html, 原文:https://www.doczj.com/doc/cf17108431.html,/pub/a/onjava/2005/01/26/classloading.html 类加载是java特性的一个重量级的组成部分。尽管,java中“advanced topics”的发展,使java的类加载机制的地位有所下降。但每位编程着都应该知道这部分的工作机制,以及怎样去更好与其配合。这可以使我们节省很多时间,二不必要浪费在调试ClassNotFoundException, ClassCastException, 等。 这篇文章将从最基本的开始,比如代码和数据的关系和区别,以及他们怎么样关系起来形成一个实例或者对象。然后将会说到,java中怎样通过类加载器把代码加载到JVM中,以及java中实现的主要的几种类型的类加载器。然后在这篇文章中我们将会了解到java类加载机制的内幕,我们将使用最基本的代码来描述,这些代码执行与类加载器之后,但在加载一个类之前。在接下来的部分将使用一些例子来强调,对于开发者继承和开发自己的类加载器的必要性。接着将告诉你们怎样编写自己的类加载器,以及怎样使用它们去创建一个一般的能加载包括远程客户端辅助代码的类加载器引擎,以及怎样把它在JVM中定义,实例化,然后执行。习惯上,把J2EE-specific components 中说明的作为java类加载的规范,这篇文章正是从这本手册总结来的。 类和数据 一个类代表一段要执行的代码,然而数据则代表与这些代码相关联的某种状态。状态可以改变,代码不能改变。我们把一种特定状态与一个类关联起来时,就得到了这个类的一个实例。所以同一个类的不同实例有不同的状态,但都参照相同的代码。在java中,一个类通常它的代码就包含在一个 .class 文件中,虽然其中也包括异常。然而,在java运行时,每个类都会构造一个超类对象(first-class object),它们其实是https://www.doczj.com/doc/cf17108431.html,ng.Class的实例。不论何时编译一个java文件,编译器都会在编译后的字节码中嵌入一个public, static, final型的字段class,这个字段表示的就是一个https://www.doczj.com/doc/cf17108431.html,ng.Class型的实例。因为它是public类型的,我们可以通过标识符来访问它,像这样: https://www.doczj.com/doc/cf17108431.html,ng.Class klass = Myclass.class; 只要一个类被加载到JVM,相同的类(强调:相同的类)将不会被重复加载。这将产生一个问题,什么才是相同的类?一个对象有一种特定状态和标识,对象总是与它所属类联系在一起,与这种状况相似,一个被加载到JVM中类也有特定的标识,接下来我们就阐述: 在java中,一个类通过认证的类全名来唯一标识。认证的类全名是由包名和类名两部分组

C#委托与事件以及应用

这些很重要在MVC EF4.1 里都会有很多拉姆达表达式的影子在做组件开发用户控件开发事件的运用一定也是少不了的稍微深入点儿的说用于两个对象之间的通讯用来解耦用委托事件是很不错的选择而设计模式里的观察者模式也是基于委托事件的应用还有做winform 开发的里的线程WPF SL 的异步调用等都是有这委托的影子的所以这个还是很重要的。也是一定要掌握的~ 希望通过这篇文章能让大家更加了解委托以及如何运用~ 一.委托以及延伸 先看下MSDN 的介绍吧~------ delegate 通俗的说委托就是可以实现把方法做为变量来传递 1.先写个最简单的委托的用法 静态的和非静态方法的 结果会输出 您好wlf

Hello wlf 这是最原始的委托 2. 进化为匿名方法 声明完委托后还要声明方法是不是很麻烦如果不声明方法用匿名方法可以帮我们看 代码减少了很多吧~ 3.再进化为拉姆达表达式 上面的虽然简单了不少但是还能更简单的用拉姆达表达式~ 看这就是拉姆达表达式的演变一定要会这个~ 因为在EF LINQ 等有很多用拉姆达表达式的~ 4.用Action 和Func继续简化 上面的代码以及很简单了但是还有个很不爽的一点~ 要声明委托!可以不声明么?当然可以~ 先看MSDN介绍Action和Func 通俗的讲这两个都是用来帮你声明委托 Action 用于帮你声明没用返回值的委托Func则是有返回值的最后一个参数为返回值

看~ 以前的版本总是要声明一个HelloWorld 的委托现在只有两行代码就可以了下面顺便掩饰了有返回值的func 的例子。第一个参数是传递 参数的类型第二个是返回值的类型~ 这里说下这俩函数都有16个重载~ 所以多个参数是没问题的~ 5.说说委托的好处 委托的好处应用文章开始已经说了很多了这里就拿文章开头的例子体会下委托的好处 当我们再多一种语言来问好时只需增加一种Action 即可而不需要改动sayHello 方法否则这里将充满了if else 的判断 6.工作里的应用 再LINQ 或EF 里都有个很重要的数据刷选的功能WHERE 它的参数就是Func 直接上代码自己看注释~

教育心理学各章练习题5-9章

第五章学习的迁移 一、单项选择题 1.一种学习对另一种学习起到积极的促进作用的迁移称为:()。 A.正迁移B.负迁移 C.横向迁移D.纵向迁移 2.两种学习之间发生相互干扰、阻碍的迁移称为:()。 A.正迁移B.负迁移 C.横向迁移D.纵向迁移 3.由于处于同一概括水平的经验之间的相互影响而发生的迁移称为:()。 A.顺向迁移B.逆向迁移 C.水平迁移D.垂直迁移 4.由于具有较高的概括水平的上位经验与具有较低的概括水平的下位经验之问的相互影响而发生的迁移称为:()。 A.顺向迁移B.逆向迁移 C.水平迁移D.垂直迁移 5.由于先前活动而形成的心理的一种特殊准备状态称为:()。 A.迁移B.变式

C.定势D.原型启发 二、填空题 1.一种学习对另一种活动的影响,在教育心理学上称之为____。 2.日常教学中所谓的“举一反三”、“触类旁通”、“闻一知十”等现象,在教育心理学上称之为____。 3.垂直迁移表现在____和____两个方面。 4.早期的迁移理论主要包括形式训练说、相同要素说、____与____。 5.现代迁移理论的主要观点有两种:一种是强调____在迁移中的作用;一种是强调____对迁移的影响。 6.定势对迁移的影响表现为____和____两种。 7.从迁移的角度看,合理编排教学内容的标准就是使教材达到____、一体化、____。 参考答案 一、单项选择题 1.A2.B3.C4.D5.C 二、填空题 1.学习迁移2.迁移 3.自下而上的迁移自上而下的迁移4.经验类化说关系转换说 5.认知结构外界环境与主体的相互作用6.促进阻碍

7.结构化网络化 第六章知识的学习 一、单项选择题 1.反映活动的外表特征和外部联系的知识称为:()。 A.感性知识B.理性知识 C.描述性知识D.程序性知识 2.反映活动的本质特征与内在联系的知识称为:()。 A.感性知识B.理性知识 C.描述性知识D.程序性知识 3.个人能用语言进行直接陈述的知识,主要用来回答事物是什么、为什么和怎么样的问题,用来区别和辨别事物的知识称为:()。 A.感性知识B.理|生知识 C.描述性知识D.程序性知识 4.个体难以清楚陈述、只能借助于某种作业形式间接推测其存在的,主要用来解决“做什么”和“怎么做”问题的知识称为:()。 A.感性知识B.理性知识 C.描述性知识D.程序性知识 5.掌握同类事物的共同的关键特征和本质属性的学习称为:()。

Spring中ApplicationContext加载机制

Spring中ApplicationContext加载机制。 加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。 这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。 配置非常简单,在web.xml中增加: org.springframework.web.context.ContextLoaderListener 或: context org.springframework.web.context.ContextLoaderServlet 1 通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化ApplicationContext实例,如果需要指定配置文件位置,可通过context-param加以指定: contextConfigLocation /WEB-INF/myApplicationContext.xml 配置完成之后,即可通过 WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。 如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(); LoginAction action=(LoginAction)ctx.getBean("action"); ============================= Spring中WebApplicationContext的研究 ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了,Spring把Bean 放在这个容器中,在需要的时候,用getBean方法取出,虽然我没有看过这一部分的源代码,但我想它应该是一个类似Map的结构。 在Web应用中,我们会用到WebApplicationContext,WebApplicationContext继承自ApplicationContext,先让我们看看在Web应用中,怎么初始化WebApplicationContext,

Ch09 竞争性营销战略共25页

第九章竞争性营销战略 学习目标: 掌握竞争者分析的内容。 了解竞争者的特点,明确如何确定竞争对象和竞争战略。 理解竞争性地位的分析思路,了解市场领导者、市场挑战者、市场跟随者及市场利基者的战略。 第一节竞争者分析 一、识别竞争者 (一)从产品的替代性分析竞争者(We can distinguish four levels of competition , based on the degree of product of substitutability.)(1)品牌竞争者(Brand competition)——指满足同一需要的同种形式产品不同品牌之间的竞争。如:顾客可能在长虹、海尔、康佳、TCL 等品牌之间做出选择。 (2)属类竞争者(Industry competition,业内竞争者)——指行业内提供不同产品以满足同一种需求的竞争者。如单门与双门冰箱的竞争,黑白与彩色TV的竞争等。 (3)形式竞争者(Form competition)——指满足同一需要的产品的各种形式间的竞争。如:家用小汽车、摩托车和自行车的竞争。 (4)愿望竞争者(Generic competition)——指提供不同产品以满足不同需求的竞争者。旅游与购买电脑的竞争。

(二)从行业角度识别竞争者 1、影响行业竞争的因素 在同行业竞争中要特别重视以下3个因素: ●卖方密度。指同一行业或同类产品生产经营者的数目,直接影响企 业市场份额的大小和竞争的激烈程度。 ●产品差异:指不同企业生产同类产品的差异程度,这种差异使产品 各具特色而互相区别。 ●进入难度:指企业试图进入某行业时所遇困难的程度。 2、决定行业结构的主要因素 (1)销售商数量及产品差异程度 图9-1 依据销售商数量及产品差异程度对行业结构的划分完全垄断——指在一定地理范围内某一行业只有一家公司供应产品或服务。 寡头垄断——指某一行业内少数几家大公司提供的产品或服务占据绝大部分并相互竞争,分为: A.完全寡头垄断也称为无差别寡头垄断,指某一行业内少数几家大公

ch09

International Economics, 8e (Krugman) Chapter 9 The Political Economy of Trade Policy 9.1 The Case for Free Trade 1) The efficiency case made for free trade is that as trade distortions such as tariffs are dismantled and removed, A) government tariff revenue will decrease, and therefore national economic welfare will decrease. B) government tariff revenue will decrease, and therefore national economic welfare will increase. C) deadweight losses for producers and consumers will decrease, hence increasing national economic welfare. D) deadweight losses for producers and consumers will decrease, hence decreasing national economic welfare. E) None of the above. Answer: C Question Status: Previous Edition 2) The opportunity to exploit economies of scale is one of the gains to be made from removing tariffs and other trade distortions. These gains will be found by a decrease in A) world prices of imports. B) the consumption distortion loss triangle. C) the production distortion loss triangle. D) Both B and C. E) None of the above. Answer: E Question Status: Previous Edition 3) Judging by the changes in the height of tariff rates in major trading countries, the world has been experiencing a great A) trade liberalization. B) surge of protectionism. C) lack of progress in the trade-policy area. D) move towards regional integration. E) None of the above. Answer: A Question Status: Previous Edition 4) The World Trade Organization (WTO) was organized as a successor to the A) IMF. B) UN. C) UNCTAD. D) GATT. E) the World Bank. Answer: D Question Status: Previous Edition 5) The WTO was established by the ________ of multilateral trade negotiations. A) Kennedy Round B) Tokyo Round C) Uruguay Round D) Dillon Round E) None of the above. Answer: C Question Status: Previous Edition

WebLogic类加载过程简述

WebLogic类加载过程 王明杰 20061012 19:28-21:59 英文水平有限,翻译的肯定有不对的地方,欢迎指正。 希望能够各位同事在使用weblogic的过程中带来帮助。 小注: 2006-10-12 下午,在weblogic中部署一个启动类,部署了近2个小时,weblogic总是提示“找不到类的异常”。心情很是郁闷。

“大事问老婆,小事问goole”,一个字“搜”。 终于找到了WebLogic的官方文档,摘录下来,进行了翻译,终于对WebLogic的类的加载过程有了比较系统的了解。 希望该文档能够帮助和我有同样疑惑的人走出困境,共同进步!!! V ersion 0.1 msn:wangmingjie_2002@https://www.doczj.com/doc/cf17108431.html,

官方原版 (19:30开始)20061012开始 WebLogic Server Application Classloading The following sections provide an overview of Java classloaders, followed by details about WebLogic Server J2EE application classloading. 下面的部分概况的介绍了java的类装载器,接着详细的介绍了WebLogicJ2EE 应用服务器(WebLogic Server J2EE application )的类装载过程。 ?Java Classloader Overview java类转载器综述 ?WebLogic Server Application Classloader Overview WebLogic 应用服务器类装载器介绍。 ?Resolving Class References Between Modules and Applications Java Classloader Overview Classloaders are a fundamental module of the Java language. A classloader is a part of the Java virtual machine (JVM) that loads classes into memory; a classloader is responsible for finding and loading class files at run time. Every successful Java programmer needs to understand classloaders and their behavior. This section provides an overview of Java classloaders. 类装载器是java语言的一个基本模块,类装载器是java虚拟机的一部分,把相应的类装载到内存中,类装载器负责在运行期间找到类并载入类 。每个成功的java程序员都需要理解java类装载器及其行为。本部分综述了java类装载器。

JVM加载class文件的原理机制

1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中 2.java中的类大致分为三种: 1.系统类 2.扩展类 3.由程序员自定义的类 3.类装载方式,有两种 1.隐式装载,程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中, 2.显式装载,通过class.forname()等方法,显式加载需要的类 隐式加载与显式加载的区别?两者本质是一样? 4.类加载的动态性体现 一个应用程序总是由n多个类组成,Java程序启动时,并不是一次把所有的类全部加载后再运行,它总是先把保证程序运行的基础类一次性加载到jvm中,其它类等到jvm用到的时候再加载,这样的好处是节省了内存的开销,因为java最早就是为嵌入式系统而设计的,内存宝贵,这是一种可以理解的机制,而用到时再加载这也是java动态性的一种体现 5.java类装载器 Java中的类装载器实质上也是类,功能是把类载入jvm中,值得注意的是jvm的类装载器并不是一个,而是三个,层次结构如下: Bootstrap Loader - 负责加载系统类 | - - ExtClassLoader - 负责加载扩展类 | - - AppClassLoader - 负责加载应用类 为什么要有三个类加载器,一方面是分工,各自负责各自的区块,另一方面为了实现委托模型,下面会谈到该模型 6. 类加载器之间是如何协调工作的 前面说了,java中有三个类加载器,问题就来了,碰到一个类需要加载时,它们之间是如何协调工作的,即java是如何区分一个类该由哪个类加载器来完成呢。 在这里java采用了委托模型机制,这个机制简单来讲,就是“类装载器有载入类的需求时,会先请示其Parent使用其搜索路径帮忙载入,如果Parent 找不到,那么才由自己依照自己的搜索路径搜索类”,注意喔,这句话具有递归性 下面举一个例子来说明,为了更好的理解,先弄清楚几行代码: Public class Test{ Public static void main(String[] arg){ ClassLoader c = Test.class.getClassLoader(); //获取Test类的类加载器 System.out.println(c); ClassLoader c1 = c.getParent(); //获取c这个类加载器的父类加载器

相关主题
文本预览
相关文档 最新文档