JAVAOO 14 16章

多线程编程

多任务处理有两种类型

基于进程  特点:允许计算机同时运行两个或更多的程序

基于线程    基于线程的多任务处理环境中,线程是最小的处理单位

进程是指一种“自包容”的运行程序,有自己的地址空间

基于线程所需的开销更少

在多任务中,各个进程需要分配它们自己独立的地址空间

多个线程可共享相同的地址空间并且共同分享同一个进程

创建线程的方式:1.编写一个继承Thread类的类,然后在类中重写Thread类的run()方法

2.编写一个类实现Runnable接口,然后将该类的实例与java.lang.Thread对象联系在一起

优先级: 最低1  最高10  默认5

java图形界面编程

Peers是本地GUI组件,由AWT来操控 Peers对程序开发者是隐而不见的

重量组件:AWT:粗糙,不美观

        平台不一致,“一次编程,到处调试“

        运行效率较低,不适合复杂界面的程序

        开发速度比较快

轻量组件:Swing:更丰富,更方便的用户界面元素集合

     对底层平台的依赖更少,和平台有关的bug也就更少

     给不同平台上的用户一致的感觉

     swing组件大部分是轻量组件,没有对等组件

swing并没有完全代替AWT

组件三要素:1.内容  2.外观显示  3.行为

Swing采用MVC(模型—视图—控制)设计模式

MVC基本思想 将一个GVI组件分成三个部分:

模型部分 -  存储内容

视图部分 -  显示内容

控制部分 -  处理用户事件

BoderLayout:分为5个区域,东 南 西 北 中

时间: 2024-10-27 12:06:52

JAVAOO 14 16章的相关文章

《Cracking the Coding Interview》——第16章:线程与锁——题目5

2014-04-27 20:16 题目:假设一个类Foo有三个公有的成员方法first().second().third().请用锁的方法来控制调用行为,使得他们的执行循序总是遵从first.second.third的顺序. 解法:你应该想到了用lock的方法类阻塞,不过这里面有个概念问题使得直接用ReentrantLock不能通过编译(对于一个锁对象,不同在A线程中锁定,又在B线程中解锁,不允许这样的归属关系),可以用Semaphore来达到相同的目的.请看下面的代码. 代码: 1 // 16

《Cracking the Coding Interview》——第16章:线程与锁——题目3

2014-04-27 19:26 题目:哲学家吃饭问题,死锁问题经典模型(专门用来黑哲学家的?). 解法:死锁四条件:1. 资源互斥.2. 请求保持.3. 非抢占.4. 循环等待.所以,某砖家拿起一只筷子后如果发现没有另一只了,就必须把手里这只筷子放下,这应该是通过破坏"请求保持"原则来防止死锁产生,请求资源失败时,连自己的资源也进一步释放,然后在下一轮里继续请求,直到成功执行. 代码: 1 // This is the class for chopsticks. 2 import j

《Cracking the Coding Interview》——第16章:线程与锁——题目2

2014-04-27 19:14 题目:如何测量上下文切换的时间? 解法:首先,上下文切换是什么,一搜就知道.对于这么一个极短的时间,要测量的话,可以通过放大N倍的方法.比如:有A和B两件事,并且经常一起发生,每件只需要花几纳秒.如果你把A事件连续做几百万次,而B时间只做了几次,这样就能排除B事件对于测量的影响.如果总时间S = mA + nB.当m >> n 时,A≈S / m.下面的测量方法类似于打乒乓球,在主线程和副线程间互相传递一个令牌,这个令牌可以是变量.管道之类的用于通信的工具.与

《Cracking the Coding Interview》——第16章:线程与锁——题目1

2014-04-27 19:09 题目:线程和进程有什么区别? 解法:理论题,操作系统教材上应该有很详细的解释.我回忆了一下,写了如下几点. 代码: 1 // 16.1 What is the difference between process and thread? 2 Answer: 3 Process: 4 1. Basic element of resource allocation in the operating system. 5 2. Possesses independent

4.13日第12次作业,16章外包,17章需求,19章组织级与大型项目

29-高项-田哲琦 16章.外包管理 1.外包的形式有哪五种?什么是利益关系?P346-348 答:企业现行采用的主要外包形式如下: 1).活动外包 2).服务外包 3).内包 4).合包 5).利益关系. 利益关系(benfit-based relationship),这是一种长期合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承担风险,同时共享利益. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求?P348 答:软件外包管理总的目标是用强有力的手

C++ Primer Plus 第六版 第16章 string类和标准模板库

1.string实际上是模板具体化basic_string<char> 的一个typedef,有默认参数,所以省略了初始化参数 2.size_type是一个依赖于实现的整形 string将string::npos定义为字符串的最大长度 3.string类的构造函数P656 4.对于c-风格字符串,3种输入方法:cin>>   cin.getline(),cin.get 对于string   ,2种输入方法:cin>>,getline(cin,string对象) 5.st

《Cracking the Coding Interview》——第16章:线程与锁——题目6

2014-04-27 20:25 题目:关于java中标有synchronized的成员方法? 解法:这代表同一个对象实例的synchronized方法不能被多个线程同时调用.注意有这么多个地方都加粗了,如果这些条件有一个不满足的话,就是可以调用的.另外,如果此方法是静态成员方法, 那么总可以认为是"同一实例"的,因为静态方法就属于一个类,类似于单体. 代码: 1 // 16.6 How do you explain the "synchronized" keywo

第16章 多态性

/** ************重载,重写(覆盖),隐藏的识别************* 重载:如何调用取决于参数 覆盖:如何调用取决于object(有virtual 同名 同参) 隐藏:如何调用取决于pointer a.编译时多态性:通过重载函数实现 b.运行时多态性:通过虚函数实现. 包含纯虚函数(virtual void funtion()=0 )的类称为抽象类.由于抽象类包含了没有定义的纯虚函数,所以不能定义抽象类的对象. 小结:1.有virtual才可能发生多态现象 2.不发生多态(无

4.4日第9次作业,,16章变更,17章安全,高项,29-田哲琦.

4.4日第9次作业,,16章变更,17章安全,高项,29-田哲琦.16章.变更管理 1.变更管理的原则是首先?P419答:变更管理的原则是首先建立项目基准.变更流程和变更控制委员会. 2.国内较多的配置工具有哪些?(3个)P419答:有Rational C1earCase,  VisualSvurceSafe和ConcurrentVersions Systemp. 3.CCB是决策机构还是作业机构?P420答:CCB是决策机构 4.项目经理在变更中的作用是什么?P420  答:项目经理在变更中的