老大这么初级的问题,是一个星级用户该问的么?
你杂弄到的星啊通常做企业应用,现成用的不是很多
但集合是非常常用的,也是JAVA开发必备的基础
你杂弄到的星啊通常做企业应用,现成用的不是很多
但集合是非常常用的,也是JAVA开发必备的基础
解决方案 »
- 为什么getKeyCode()返回的总是0
- eclipse里启动tomcat出现的问题,请看看
- 请教JAVA程序员的问题!
- 高分回报!!关注:利用poi包怎样实现excel里每一列的数据求和??
- 如何使用皮肤
- tom2005(快乐着) ( ) 大侠请来接分!!!!!!!!!1(真的好谢谢你!)
- 谁给我讲讲,关于多线称使用变量的问题(看看我的理论对不对)!
- I have a question here, give 100marks if you can give me the code in 2 hours, wait online
- 各位高人,救救我,数据库操作问题?
- 请问如何把byte[]数组转换成汉字字符串?
- 请问JAVA的匿名内部类有什么作用啊??
- 什么都不会。怎么学java啊
:(((
不过这两种都是比较耗资源的,尤其是内存方面,所以个人感觉能简单实现的,还是少用的好。
集合,其实就是Java实现的数据结构,当然是有用了,平时在用到数据结构的时候,就可以用到集合。
如果你想再制造第8个甚至更多线程的时候,无非是要基于下面两个方面考虑。
一是功能需要。有些功能迫使你不得不用线程来考虑,也就是要用到线程的本质,进程内的时间片运行,例如动画,声音,定时调度,session等。
二是性能需要。太耗时的程序要用到线程,例如要执行一个算法计算出一个结果,通过网络获取一个大的返回值,加载一个大容量的对象,在短时间内执行多个操作,每个操作从开始到结束都很耗时,典型的例如发送垃圾邮件;太不耗时的程序也会用到线程,比如日志输出,没必要跟主程序争抢CPU,再就是播放个背景音乐,总而言之一切需要在主程序背后默默无闻的进行整理工作的程序,都可能用到线程。
java中很多技术都用到线程的,比如RMI,JMS,EJB,它们都是自己内部进行线程管理的,还有Timer类。虽然线程应用很广,但据很多专家云,目前java中的线程还不是很完美,跟C++比起来性能要差些,因为java中的线程是在java语言中实现的,jdk1.5是全面提升java性能的一个版本,其中线程要革新换代。
组合
 (对象)组合是一种通过创建一个组合了其它对象的对象,从而获得新功能的复用方法。
 将功能委托给所组合的一个对象,从而获得新功能。
 有些时候也称之为“聚合”(aggregation)或“包容”(containment),尽管有些作者对这些术语赋予了专门的含义
 例如:
 聚合:一个对象拥有另一个对象或对另一个对象负责(即一个对象包含另一个对象或是另一个对象的一部分),并且聚合对象和其所有者具有相同的生命周期。(译者注:即所谓的“同生共死”关系,可参见GOF的Design Patterns: Elements of Reusable Object-Oriented Software的引言部分。)
 包容:一种特殊类型的组合,对于其它对象而言,容器中的被包含对象是不可见的,其它对象仅能通过容器对象来访问被包含对象。(Coad) 包含可以通过以下两种方式实现:
 根据引用(By reference)
 根据值(By value)
 C++允许根据值或引用来实现包含。
 但是在Java中,一切皆为对象的引用!
组合的优点和缺点
 优点:
 容器类仅能通过被包含对象的接口来对其进行访问。
 “黑盒”复用,因为被包含对象的内部细节对外是不可见。
 对装性好。
 实现上的相互依赖性比较小。(译者注:被包含对象与容器对象之间的依赖关系比较少)
 每一个类只专注于一项任务。
 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合。 缺点:
 从而导致系统中的对象过多。
 为了能将多个不同的对象作为组合块(composition block)来使用,必须仔细地对接口进行定义。
继承
 (类)继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
 泛化类(超类)可以显式地捕获那些公共的属性和方法。
 特殊类(子类)则通过附加属性和方法来进行实现的扩展。
继承的优点和缺点
 优点:
 容易进行新的实现,因为其大多数可继承而来。
 易于修改或扩展那些被复用的实现。
 缺点:
 破坏了封装性,因为这会将父类的实现细节暴露给子类。
 “白盒”复用,因为父类的内部细节对于子类而言通常是可见的。
 当父类的实现更改时,子类也不得不会随之更改。
 从父类继承来的实现将不能在运行期间进行改变。
┏━★━━◆━━★━┓
♂欢|◢CSDN◣|使♂ ▲自由保存帖子,浏览,关注检测
┃迎|◥论坛助手◤|用┃ ▲完善的CSDN客户端工具
┗━☆━━◇━━━☆┛ ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
http://www.csdn.net/expert/topic/573/573604.xml
http://www.chinaok.net/csdn/csdn.zip
中间件的开发一般都会用到多线程。
我开发过一个负载均衡器.用到多线程。
主要是为了增加负载的。
http://expert.csdn.net/Expert/topic/2506/2506041.xml?temp=.2655146
我也相信多线程是Java的精髓。
有些实现感觉比较难以理解,不如c描述的明白
感觉比c++写的效果还好,
原因可能有3:
java 的线程模型较好
c++ 的哪些程序员的问题和c++的控制难度
数据库查询的差异我还第一次感觉java如此nb,不知道有没有人和我有同感。
(我写的java服务器可接受超过800的线程的并发,而c++的在600个就无法正常运行)
作服务器编程不使用多线程不可能的呃!!多个端口,多客户,当然是多线程处理啦!!
不过JAVA倒确实比较强劲,
我自己测试时,可以开 15300 个线程左右((纯粹是开线程,不处理任何东西))!!
然后系统死机!!现在使用 C#,开 5000多就翘了!!
线程的两种创建方法:继承Thread 或者 实现 Runanable 接口
线程主要是用多线程,可以同时作几件事情
可以解决对资源的访问问题
开这么多线程不用thread pool么?