一. 802.11协议-WIFI-对比
二. 802.11n物理层技术 OFDM-MIMO
三. MIMO技术
四.工程实践
802.11a,b,g,n,物理层基带matlab仿真已经完成,性能优异
DSP工程实践了
五.如需要协议相应的物理层仿真代码,matlab仿真链路代码,及DSP之C语言...
分类:
编程语言 时间:
2014-12-03 00:28:51
阅读次数:
232
1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确...
分类:
编程语言 时间:
2014-12-03 00:25:35
阅读次数:
187
IOC(DI):其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩。java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现...
分类:
编程语言 时间:
2014-12-03 00:22:04
阅读次数:
200
一、一个C++编译的程序占用的内存分为以下几个部分1、栈区:由编译器自动分配 存放函数的参数值,局部变量的值等,操作方式类似于数据结构中的栈。2、堆区:一般由程序员分配释放,若程序员不释放,程序结束时 可能 有系统收回。它与数据结构中的堆是两回事。分配方式类似于链表。3、全局区(静态区):全局变量和...
分类:
编程语言 时间:
2014-12-03 00:20:31
阅读次数:
205
性能与伸缩性使用线程的一种说法是为了提高性能。多线程可以使程序充分利用闲置的资源,提高资源的利用率,同时能够并行处理任务,提高系统的响应性。 但是很显然,引入线程的同时也引入了系统的复杂性。另外系统的性能并不是总是随着线程数的增加而总是提高。性能与伸缩性性能的提升通常意味着可以用更少的资源做更多的事...
分类:
编程语言 时间:
2014-12-03 00:20:20
阅读次数:
192
JSP的内置对象什么是JSP的内置对象呢?在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候...
分类:
编程语言 时间:
2014-12-03 00:19:11
阅读次数:
234
常见的并发陷阱volatilevolatile只能强调数据的可见性,并不能保证原子操作和线程安全,因此volatile不是万能的。参考指令重排序volatile最常见于下面两种场景。a. 循环检测机制volatilebooleandone=false;while(!done){dosomething...
分类:
编程语言 时间:
2014-12-03 00:19:55
阅读次数:
319
最近工作中遇到使用脚本处理问题并发送结果邮件,使用python的smtp模块很简单的完成了实现。今天遇到一个问题,根据脚本的测试结果需要群发邮件,但是发送邮件的py文件只有首个地址收到了邮件。仔细排查发现个有意思的地方:发送邮件的py大致如下:1 def sendmail(message,to_ad...
分类:
编程语言 时间:
2014-12-03 00:19:07
阅读次数:
183
一、print 和 import 信息>>> print 'age:',22 # 用逗号隔开打印多个表达式age: 22import somemodule # 从模块导入函数>>> import math as foobar>>> foobar.sqrt(4)2.0fro...
分类:
编程语言 时间:
2014-12-03 00:16:10
阅读次数:
218
从这一节开始正式进入线程池的部分。其实整个体系已经拖了很长的时间,因此后面的章节会加快速度,甚至只是一个半成品或者简单化,以后有时间的慢慢补充、完善。其实线程池是并发包里面很重要的一部分,在实际情况中也是使用很多的一个重要组件。下图描述的是线程池API的一部分。广义上的完整线程池可能还包括Threa...
分类:
编程语言 时间:
2014-12-03 00:16:52
阅读次数:
194
Message,信息的载体,用来传递数据给Handler。Handler (Handler处理者,是 Message 的主要处理者,负责 Message 的发送,Message 内容的执行处理)发送和处理Message和Runable对象,这些对象和一个线程的MessageQueue相关联。每一个线...
分类:
编程语言 时间:
2014-12-03 00:14:19
阅读次数:
205
线程池任务执行流程我们从一个API开始接触Executor是如何处理任务队列的。java.util.concurrent.Executor.execute(Runnable)Executes the given task sometime in the future. The task may ex...
分类:
编程语言 时间:
2014-12-03 00:13:19
阅读次数:
175
主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是《Java Concurrency in Practice》,结合自己的理解和实际应用对锁机制进行一个小小的总结。首先需要强调的一点是:所有锁(包括内置锁和高级锁)都是有性能消耗的,也就是说在高并发的情况下,由于锁机制带来的上下文切换、资源同步等...
分类:
编程语言 时间:
2014-12-03 00:15:48
阅读次数:
122
我们知道线程是有多种执行状态的,同样管理线程的线程池也有多种状态。JVM会在所有线程(非后台daemon线程)全部终止后才退出,为了节省资源和有效释放资源关闭一个线程池就显得很重要。有时候无法正确的关闭线程池,将会阻止JVM的结束。线程池Executor是异步的执行任务,因此任何时刻不能够直接获取提...
分类:
编程语言 时间:
2014-12-03 00:13:27
阅读次数:
199
常见的并发场景线程池并发最常见用于线程池,显然使用线程池可以有效的提高吞吐量。最常见、比较复杂一个场景是Web容器的线程池。Web容器使用线程池同步或者异步处理HTTP请求,同时这也可以有效的复用HTTP连接,降低资源申请的开销。通常我们认为HTTP请求时非常昂贵的,并且也是比较耗费资源和性能的,所...
分类:
编程语言 时间:
2014-12-03 00:14:02
阅读次数:
124
1、概述2、对象已死吗?引用计数器 给对象添加一个引用计数器,每当有引用时,计数器加1,引用失效时,计数器减1;任何时刻计数器为0的对象就是不可能再被使用的。 若对象是循环引用,则无法处理。JVM不使用。可达性分析算法 通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜...
分类:
编程语言 时间:
2014-12-03 00:12:31
阅读次数:
181
Java 5泛型自动装箱/拆箱增强的for类型安全的枚举可变参数静态导入AnnotationConcurrent PackageJava 6Web Service 支持Annotaion脚本语言支持JTable 的排序和过滤JAX-WS2.0轻量级的Http Server嵌入式数据库, DerbyJ...
分类:
编程语言 时间:
2014-12-03 00:12:36
阅读次数:
269