当前位置:  编程技术>移动开发
本页文章导读:
    ▪Java Socket通信实际操作手册        Java Socket通讯实际操作手册 Java Socket通讯在我们实际使用的时候有很多我们需要注意的。那么首先我们就来看看在实际操作中Java Socket通讯如何进行准备和如何建立连接的。希望大家有所收获.........
    ▪ 一段语句        一段话语 •在任何一个学校,平庸的大学生是相似的,不平庸的大学生各有各的辉煌。 •一个人能走多远,要看他与谁同行;一个人有多优秀,要看他有谁指点;一个人有多成功,要看他与.........
    ▪ 软件开发中的11个系统思想定律       软件开发中的11个系统思维定律 彼得·圣吉在其著作《第五项修炼》中提到的系统思维定律同样适用于软件开发。 1. 今日的问题源于昨日的 (Today’s problems come from yesterday’s solutions) 当解.........

[1]Java Socket通信实际操作手册
    来源: 互联网  发布时间: 2014-02-18
Java Socket通讯实际操作手册

Java Socket通讯在我们实际使用的时候有很多我们需要注意的。那么首先我们就来看看在实际操作中Java Socket通讯如何进行准备和如何建立连接的。希望大家有所收获。

  一、准备:

  服务端:JDK1.5 (这个不用介绍了吧?)

  服务端IDE:eclipse (它的主页)

  客户端:FLEX 3 (Adobe® Flex® 3 是用于构建和维护在所有主要浏览器、桌面和操作系统一致地部署的极具表现力的 Web 应用程序的高效率的开放源码框架。)

  客户端IDE:Flex Builder 3 (它的官方摘要页)

  二、缘分的相遇(建立连接):

  既然是通信,当然第一步就是要建立连接啦。我们还是用最简单的看代码的方式来开始我们的连接。

  服务端代码:Jserver1.java

  Java代码

  1.import java.net.*;

  2.import java.io.*;

  3.public class Jserver1 {

  4.public static void main(String[] args) {

  5.ServerSocket server=null;

  6.try{

  7.server=new ServerSocket(719);//在端口719建立一个服务器套接字对象

  8.System.out.println("服务端等待");

  9.while(true){

  10.System.out.println("等待客户机");

  11.Socket newSocket=server.accept();//客户端向我们建立的服务器套接字发送连接请求,则向下执行

  12.System.out.println("已与客户机连接");

  13.}

  14.}catch(IOException ie)

  15.{

  16.System.out.println(ie);

  17.}finally{

  18.try

  19.{

  20.if(server!=null) server.close();//关闭服务器套接字。为什么要用finally关键字来做这个事呢?HOHO thinking in java里大师已经说得很清楚了,就是无论出现什么异常,都保证我们的服务端套接字能被关闭。

  21.}catch(IOException ie){}

  22.}

  23.}

  以上就是对Java Socket通讯的相关代码介绍。

1 楼 jxb1016 2011-01-21  
code="java"]if(server!=null) server.close();[server关了,下一句柄怎么监听啊?

    
[2] 一段语句
    来源: 互联网  发布时间: 2014-02-18
一段话语
•在任何一个学校,平庸的大学生是相似的,不平庸的大学生各有各的辉煌。
•一个人能走多远,要看他与谁同行;一个人有多优秀,要看他有谁指点;一个人有多成功,要看他与谁相伴
•我可以选择放弃,但不能放弃选择
•一道幸福之门关闭时,另一道门就会打开。我们经常盯着关闭的门,对开启的门却视若无睹
  咖啡的苦与甜,不在于怎么搅拌,而在于是否放糖;一段伤痛,不在于怎么忘记,而在于是否有勇气重新开始
•力求上进的人,不要总想着靠谁谁,人都是自私的,自己才是最靠得住的人
•要学会控制自己的情绪--这是成熟的一个最重要的标志
•谁不是在伤害中成长?谁不是在被欺骗后才学会算计?彼此彼此。
•凡是处心积虑做某件事情,就都会或多或少牺牲掉自己的某种东西。
•生活中一半麻烦是由于你说yes得太快,说no也太慢
•成长的过程就是破茧为蝶,挣扎着褪掉所有的青涩和丑陋,在阳光下抖动轻盈美丽的翅膀,闪闪的,微微的,幸福的颤抖。
•成长,就是不断的面对一些悲凉的事情,直到知道什么叫世事沧桑。
•服天不服人。若是天的安排,我承受;若是人的践踏,我抗争。
•嫉妒一个人,就是承认她比你强。
•人与人的心从来都是有距离的,就如在两个陡峭的山头,我们遥遥相望,以为彼此只有一伸手就能触即的距离,其实要走在一起,贴近在一起,脚下还有千山万水,沟沟壑壑。无论谁与谁。
•一个一向张扬的人,如果遇到一件事情忽然变得低调起来,那这种低调就是更高层次的张扬了。
•一个女生若是有很多男生追,要么她特别有魅力,各方面条件都非常优越;要么她深谙男人的心理,能够做到知己知彼,百战不殆。
•不上进的男生,才是最没有安全感的男孩。因为我们不需要一个高大强壮的身体天天帮我们打架,然而我们需要一种有保障的生活,现在是这样,未来更是如此。可惜,大学里有太多的男生都不明白这个道理。
•女生惧怕时光腐蚀,男生却需要年龄的修饰。
•二十岁后的我们,真正的朋友还是那班人。还是从小玩耍的玩伴,同窗的好友。我们会越长大越觉得孤单,而知心的朋友能有几个?才发现,社会上的所谓朋友只是利益相趋,酒桌上好客的“朋友”而已。
•真正的朋友是能够在困难时候帮助你的人,朋友是在你高兴时候想到的人。君子之交 “淡”如水。
•我想,那是自信,这种自信是经过挫折和压力无情的摧残后重新发芽长成的参天大树,不会再被轻易摧断的东西。
•想象5年后你在做什么,你那个时候的生活是一个什么样子,然后再往前推,你的第4年,第3年等等要做些什么,慢慢确立一个个目标
•你发怒一分钟,便失去60秒的幸福。
•生活就像“呼吸”,“呼”是为了出一口气,“吸”是为了争一口气。
•探索的旅程不在于发现新大陆,而在于培养新视角
•不是人人都能活的低调,可以低调的基础是随时都能高调
•孤单是一个人的狂欢,狂欢是一群人的孤单
•幽默是一个人想哭的时候还有笑的兴致
•人之所以活的累,是因为放不下架子、撕不开面子、解不开情结
•人生最精彩的不是实现梦想的瞬间,而是坚持梦想的过程,其他亦然
•学会承受痛苦。有些话,适合烂在心里,有些痛苦,适合无声无息的忘记。当经历过,你成长了,自己知道就好,不需要你说出来,别人会看得到
•痛苦常来自比较,而幸福多源于感恩
•好东西是相对的,你所谓的好东西别人也许不以为然,但别人的好东西你或许也觉得不值一提。我们大多数人穷其一生在追寻别人眼中的垃圾
•知深浅、明尊卑、懂高低、识轻重
•有的时候,该认真就认真,该糊涂就应糊涂
•时间可以改变很多人或事,所谓的沧海桑田其实不过是弹指一挥间
•外面惊涛骇浪...告诉自己...要冷静....要坚强
•空闲的时候,读点文学作品,学习一些经营流程,管理规范,国际时事,法律常识,这能保证你在任何时候都有谈资
•要做一件事,成功之前,没必要告诉其他人
•面对失败,不要太计较,天降大任于斯人也,必先苦其心志,....但要学会自责,找到原因,且改掉坏习惯
•用“吃亏就是占便宜”的心态做人做事,那样你就可以迅速成长
•不要在失意者面前谈论你的得意,那样伤害你的人际关系
•不要小看守时这件事,守时是对别人的尊重
•用时间来看人,时间能检验一切
•建立一个朋友档案,以免人到用时方恨少
•毛遂自荐,好处多多,既让别人看到你,知道你的存在,知道你的能力
•小心突然升温的友情,对待这种友情的正确态度是:不推不迎,礼尚往来
•做人要中规中矩,这样才能赢得他人的尊重和信赖
•不要独享荣誉,今天的独享荣誉,明天就可能独吃苦果
•找一位对手来跟,跟住他,最终超越他
• 用耐心把冷板凳坐热,冷板凳都坐过了,还有什么好怕的呢?
•不要满足眼前的小成就,问问自己:我这辈子就这样了吗?
•不要有怀才不遇的想法,怀才不遇多半是自己造成的
•跌倒了,一定要爬起来;不爬起来,别人会看不起你,你自己也会失去机会
•不要为失败找借口,应该直面失败,并迅速找出失败的原因
•改变环境或改变自己--与其改变环境,不如改变自己
•不打没有把握的仗--生命是经不起一次次的浪费的
•把反省自己当成每日的功课--因为你不是完美的,会说错话,也会做错事
•碰到低潮时,自己鼓励自己--千万别休息
•依靠别人的智能做事--一个人的能力是有限的
•先做小事,先赚小钱--为做大事和赚大钱积累经验
•别让过去的失败捆住你的手脚,否则永远难成大事
•靠实力,不靠派系--派系不是永远的,实力才是你能依靠一生的东西
•逢山开路,遇水搭桥--要学会投其所好
•永远泡在下属的前面--权力领导、情义领导都不如才能领导
•多赞美别人--不用花钱就能使人快乐,何乐而不为呢?
•尊重别人的领土范围--别因为疏忽而引起不必要的麻烦
•不要轻易吐露你的失意--以免别人认为你的软弱无能
•人际关系的原则是,有舍才有得--你满足了对方,对方才会满足你
•不要忽略面子问题--不给面子的行为做容易引起是非
•妥善处理与小人的关系--不要依附他,也不要得罪他
•用低姿态化解别人的嫉妒--嫉妒是烈火,会烧毁一个人
•做人做事不必面面俱到--总会有人不满意你
•顺着捋,他就会听你--脾气再大、城府再深、个性再强的人也吃不消这招
•幸福是自己去争取的,不管是友情或爱情很多事情,错过了就没有了

    
[3] 软件开发中的11个系统思想定律
    来源: 互联网  发布时间: 2014-02-18
软件开发中的11个系统思维定律

彼得·圣吉在其著作《第五项修炼》中提到的系统思维定律同样适用于软件开发。

1. 今日的问题源于昨日的 (Today’s problems come from yesterday’s solutions)

当解决问题时,我们会感到很高兴。我们经常不考虑后果。令人感到意外的是,我们提出的可能会产生反作用,并带来新问题。

    作为对取得巨大成功的团队的奖励,公司决定为团队中的少数骨干成员发放奖金并晋升职位。团队中的其他成员会感到不公平,并且会丧失积极性。最终使团队成员之间的关系更加紧张,后续项目也就很难再取得成功。

    项目经理频繁要求开发者修复一个新的软件Bug,或者处理客户的紧急需求,而开发者尽力满足这些要求。但是,过于频繁地分散精力会妨碍他们完成迭代过程中的主要任务。因此,项目进展很慢。

2. 用力越大,系统的反作用力也越大 (The harder you push, the harder the system pushes back)

当事情的进展结果并非如我们所愿时,我们会固执地坚持自己的方法。我们没有时间来停下来思维并寻找更好的替代方案,而是“义无反顾”地向前冲。有时候虽然解决了问题,但往往又发现深陷于其他问题之中。

    当一个系统远未完成时,经理通常会不断催促员工加班加点地工作,并且要求按时完成。系统bug数量的持续增加及整体质量的急剧下降,导致更多的延误。因此,需要做更多的工作来部署软件系统。

    为了满足新系统的要求,开发者勇敢的对原有的系统架构进行扩展,但死板陈旧的方法已经不能满足这些新需求。他们忙于做这件事,以至于没有时间停下来仔细分析并且改变方法,从而导致系统质量下降。

3. 福兮祸之所伏 (Behavior grows better before it grows worse)

短期的,会给我们带来短暂的休息和状况的暂时改善,但是不会从根本上解决问题。这些问题终究会使情况变得更糟。

    公司为顾客提供丰厚的优惠并投入巨资宣传,让很多人购买软件 。但是,顾客购买之后很不满意,因为软件无法使用也不可靠。

    如果开发小组能够按时完成系统开发,管理层承诺,如果开发团队能够按时完成系统开发,公司会提供巨额的奖金。一个团队开始努力的工作,但很快他们就意识到这是不可能实现的。于是开发者变得悲观并丧失动力。

4. 最容易出去的方法往往会导致返回来 (The easy way out usually leads back in)

在生活中学到的一些能够帮助我们轻易地并且更早的地获得成功。我们总是试图把它们强加到任何情形上,而忽略了特殊的背景以及相关人员。

    开发者还没有准备好接受结对编程或者测试驱动开发这样的实践时,敏捷教练强行实现完全的极限编程。这会给任何敏捷方法带来压力、冲突以及负面影响。

    开发者把设计模式应用到任何地方,这是徒劳的,而且这会让系统变得复杂。

5. 治疗带来的结果可能会比疾病导致后果更严重 (The cure can be worse than the disease)

有些熟知的方法可能会更危险,比如在编程的时候喝啤酒,来减轻不切实际的任务期限带来的压力。

    由于不信任全职开发者,一家公司雇佣了大量的承包商来开发核心功能。结果,系统不具有概念完整性,自己公司的开发者看不懂,并且无法做出修改。所以,公司员工也不了解相关领域的知识、解释以及概念。

    开发者会走捷径,拷贝相似功能的代码来赶进度,并且争取尽快发行第一个版本。他们一开始进展迅速,但是代码最终会变成大泥球(比喻系统结构不清晰)。

6. 欲速则不达 (Faster is slower)

当我们看到成功的曙光,我们会全力以赴,不再小心谨慎。然而,最优增长速率通常会比可能的最快增长速率要慢得多。

    经理们往往为已经成功的项目增加很多人手,但总体进展就会变慢,因为交流所用的花费增加,以及团队成员之间失去默契。

    在没有对代码进行合理重构及改善的情况下,开发者快速的为系统添加新的功能,会使系统变得难懂,而且难以修改。

7. 在时间和空间上,因果并不密切相关 (Cause and effect are not closely related in time and space)

我们善于为出现的困难寻找原因,即使这些原因很牵强,并且远非是真正的根本原因。

    为了按时完成系统,开发团队不再接受来自客户的需求改变。因此,客户对发行的软件不满意。

    实时系统历经坎坷之后,管理层迫使开发者同意,并且在给系统做出任何修改之前撰写详细的技术说明。结果开发者失去了为系统做出任何改进的动力,并且开始拖延。

8. 微小的改变可以产生明显的效果,但这种杠杆效应最大的地方往往也最不明显 (Small changes can produce big results-but the areas of highest leverage are often the least obvious)

像改变公司政策、愿景或者广告用语这样显而易见并且关系重大的往往不起作用。相反,小而普通,但持续的改变却会带来大不相同的效果。

    发者每天都与客户进行交流,并且做出大部分决定。因此,能够更好地理解客户的需求、做出更好的决定并且给出最优的。

    开发者为系统的每项功能设计自动化单元测试。因此,设计更灵活、人们更自信、系统在每此修改之后都能得到完全的测试。

9. 鱼与熊掌可以兼得,但不是同时兼得 (You can have your cake and eat it too – but not at once)

我们经常会面对刻板的“非此即彼”选择。如果我们改变一下自己的观点及系统规则,这些选择有时并不会使我们进退两难。

    经验丰富的项目经理知道增加系统特性的数量与削减时间和开支不可兼得。然而,如果我们完善一下想法、寻找合适的人才并且避免过度开发,这也是可能做到的。

    开发者认为他们应该要么采用事务脚本,要么采用域模型体系架构模式。然而,复合域中的高性能可以将两者结合,以得到最佳性能。

10. 把一头大象分两半不会得到两头大象 (Dividing an elephant in half does not produce two small elephants)

无法整体了解系统,往往会做出次优决定。

    项目经理往往通过生成的代码量和迭代过程中实现的功能数来评估开发者。而开发者往往会生成大量无用代码。

    管理层承诺,每发现一处系统bug,测试者将得到5美元。测试者对跟开发者合作不再感兴趣,并且不再试图消除产生bug的根本因素。团队之间良好而且高效的关系不复存在。

11. 无可非议 (There is no blame)

我们喜欢归咎于客观条件,或对别人指指点点,甚至对此深信不疑。但是,我们自己以及问题的原因都是系统的一部分。

    今天早上团队没有发布系统完全是乔的过错。即使项目经理亲切地为其提供了免费的啤酒、T恤以及披萨,他也没能在一晚上的时间内修复所有的缺陷。

    人们不会使用一个公司优秀的Web 2.0社会化应用,用户喜欢简单实用的东西,并且不会感激你辛勤工作的成果。

以上11条系统思维定律表明,我们提出的所有都会产生一定的后果,有时非常严重并出乎意料。我们周围的系统本就那样,我们不应苛责它们,而是要从中学习。要掌握系统思维方式并控制这些系统,我们需要做到如下几点:

    1. 要明白我们是在跟什么样的系统打交道,是人或是软件;

    2. 有意识地学习相互关系、因果链;

    3. 把系统看做一个整体,并且视其为其他系统的一部分。

系统思维方面有很多挑战,通过获取并且利用有关系统工作方式的知识,我们可以战胜其中的很多挑战。但是,大部分严峻挑战是我们人类与之相冲突的本性。我们的激情、感情以及本能可以轻易改变我们理智、条理分明的思维方式。掌握系统思维方式的第一步就是要学习如何跟自己合作。

后话

在软件开发过程中,你有(或缺乏)哪些系统思维的使用经验?

编者注:原文作者Andriy Solovey从事软件开发已有15年,做过开发人员、软件经理和系统架构师。关注构建优质、可靠和可用的软件


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3