[置顶]java(JDK) 2008-09-03 11:43
[置顶]电脑老是重启的原因 2008-04-27 21:15
[置顶]个人简历 2008-03-03 11:04
[置顶]计算机教育;学习能力;思维方式 2007-05-03 09:35
| 最新SAP开课计划 SAP课程介绍 SAP概述 课程内容包括:SAP概述;SAP系统的基本概念,涉及组织机构、主数据、交易等;SAP的后勤管理,关键业务流程包括:销售订单管理、客户关系管理、生产计划和执行、供应链管理、采购、供应商关系管理、产品生命周期管理等;财务会计模块介绍;人力资源管理模块介绍;SAP的分析及战略规划;SAP新一代业务平台-SAP NetWeaver;SAP的行业解决方案;SAP的客户服务网络。 SAP财务会计(FI模块) 课程内容包括:财务管理概述;SAP财务管理模块功能介绍;核心业务流程介绍,日常业务处理,涉及总账会计和核算、应收账款、应付账款、资产管理、公司合并、分类账等流程;系统参数初始配置和主数据处理;与其他模块的信息及数据集成;案例讲解及业务流程模拟实践。 SAP成本控制(CO模块) 课程内容包括:成本控制概览;SAP成本控制模块功能介绍;核心业务流程介绍,日常业务处理,包括:成本要素会计、成本中心会计、收入要素会计、产品成本、目标成本会计、盈利分析、基于业务的成本等流程;系统参数初始配置和主数据处理;与其他模块的信息及数据集成;案例讲解及业务流程模拟实践。 SAP物料管理(MM模块) 课程内容包括:物料管理概述;SAP物料管理模块功能介绍;核心业务流程介绍,日常业务处理,涉及查询采购需求、报价请求、报价、采购订单、货物接收、发票验证、支付、拖欠款项、卖方评估、质量控制等流程;系统参数初始配置和主数据处理;与其他模块的信息及数据集成;案例讲解及业务流程模拟实践。 SAP销售与分销(SD模块) 课程内容包括:企业销售和分销业务概述;SAP销售与分销模块功能介绍,核心业务流程涉及客户RFQ处理和客户查询、客户报价处理、订单条目、交货安排、可获得性检查、定价、信用检查、开票、包装、运输、客户支付、客户未偿结余、客户营销活动、购买清单和购买流程、购买确认、仓库管理流程、运输流程、销售报表生成等流程;系统参数初始配置和主数据处理;与其他模块的信息及数据集成;案例讲解及业务流程模拟实践。 SAP课程主要适用人群: 企业应用群体:企业管理、信息化项目管理、财务、生产、物料控制、物流、采购、仓库、销售等部门人员,高等院校相关专业的教师,希望获得更大发展空间的在职IT技术人员,以及其他一些需要进一步提高就业能力的人员。 高校应用群体:软件工程、ERP、电子商务、会计、工商管理、市场营销、物流、生产管理、管理信息系统、会计信息系统、会计电算化、系统工程、管理科学与工程、IT项目管理等专业学员。 |
| 各行信用卡对比 中国民生银行 优点:积分价值高;分期不占额度;金卡有个律师服务还不错;ID卡很有个性,就是要制卡费;取现无手续费; 缺点:网点少;不支持支付宝;网络银行界面古板; 总结:适合于对积分比较看重的朋友; 兴业银行 优点:以支持“财付通”还款;“金卡”可以享受 机场贵宾厅服务; 缺点:无800 400客服;网点少;歧视农业户口和男性; 总结:适合经常坐飞机,又不想出白金卡年费的朋友; 广东发展银行 优点:用半年后可以百分百提现;56天超长免息期;“样样行”分期起点较低(只要500);有48小时失卡保障;支持支付宝; 缺点:无800 400电话 ,而且95508都是由各地分行设立;网点少; 总结:适合喜欢全额提现和低起点分期的朋友; 中信银行 优点:分期额度比较高(最高能达到5倍)且不占额度;支持支付宝; 缺点:网点少;网络银行非常垃圾;无400电话;积分不是永久有效;打客服电话不是要你输入身份证号,而是要你输入卡号,像我这样拥有几十张卡的人哪里记得住卡号?一点都 不人性;核卡后30天内必须刷一次,不然就要收年费; 总结:适合有需要分期套现的朋友,除此之外无任何作用 深圳发展银行 优点:基本一无是处,就有个“沃尔玛畅想卡”觉得还可以;国际卡和国内卡额度分开; 缺点:网点少;95501半小时能接通人工服务我请你吃饭,沃尔玛畅想卡专线400-688-6888还比较容易接通;800 电话都没有;额度普遍较低; 总结:适合常去沃尔玛购物的朋友 交通银行 优点:56天超长免息期;YP卡可以百分百提现;支持支付宝; 缺点:无400电话;分期操作比较繁琐;各张卡需要分别还款,不会自动统计所有卡的消费总和;积分不是永久有效; 总结:如果经常买家电的话,“苏宁卡”还不错,双倍苏宁积分; 中国银行 优点:信用卡背面有个人照片,减少被冒用的风险;85年开始发卡,是中国最早的信用卡发卡行; 缺点:销户还要去营业网点;额度低(国有银行通病);800只给长城国际卡用;不支持支付宝; 总结:奥运卡适合收藏之用 上海浦东发展银行 优点:金卡可以在境外享受 “花旗银行CITI BANK”的特约商户服务;可以印照片; 缺点:无400电话;要消费一定的金额才能免年费(普卡一年刷满2000,金卡5000);网点少; 总结:感觉浦发每种卡外观都比较时尚, 适合收藏之用 招商银行 优点:除了下面的“缺点”,其他什么都好; 缺点:积分政策非常不人性;免息期所有发卡行中最短,最短是18天; 总结:适合于比较看重服务, 不看重积分的朋友;本人强力推介; 中国建设银行 优点:网络点多;相对其他3家国有银行,申请门槛较低; 缺点:无400电话;额度普遍偏低,提额缓慢;各张卡需要分别还款,不会自动统计所有卡的消费总和; 总结:适合于当地没有股份制商业银行的朋友 中国光大银行 优点:刷3次就可免年费;福卡小卡可以自动分12期(当然要收手续费) 缺点:无800电话;8元积一分,积分目前还不能换礼;网点少;卡多的人(超过6家银行信用卡的)基本不批; 总结:适合做收藏之用 中国农业银行 优点:网络点多;56天超长免息期; 缺点:无400电话;额度普遍偏低;感觉该行不是很重视信用卡业务; 总结:适合于当地没有股份制商业银行的朋友; 中国工商银行 优点:全国有3万多家网点,是目前中国网点最多的银行;支持支付宝,而且可以做到 无限额; 缺点:这么大的银行居然没有800电话,400也不对个人用户开放;服务差;额度低;销户还要去网点; 总结:适合于当地没有股份制商业银行的朋友; |
| 上银行人人需要,但是陷阱也很多,选择银行成本应该是1,2次成本全面的比较,起码应该清楚:1。工本费 2。年费 3。ATM机取款收费 4。异地取现费 5。同城跨行费6。电话银行收费 7。柜台汇款网银电话银汇费 8。到款时间。。 详细请看: 发表时间:2005-12-22 银行名称 开户工本费 年费 挂失 密码挂失 开办或补换新卡 中国银行 10元 10元 10元 不详 5元/卡 工商银行 5元 10元 10元 10元 5元/卡 建设银行 0元 10元 10元 10元 5元/卡 农业银行普卡 5元 10元 10元 — 5元/卡 彩照卡 25元 交通银行 5元 10元 10元 不详 5元/卡 招商银行 0元 0元 10元 不详 ——— 广发行 5元 0元 10元 不详 ——— 深发行 10元 0元 5元 5元 5元/卡 民生银行 0元 0元 10元 10元 10元/卡 浦发银行 0元 0元 0元 不详 ——— 兴业银行 0元 0元 10元 5元 ——— 各大银行异地存款收费标准 银行名称 每笔收费 最低收费 封顶收费 工商银行 百分之一 1元 50元 建设银行 千分之五 1元 50元 中国银行 千分之五 1元 50元 农业银行 千分之五 1元 25元 招商银行 千分之五 5元 没有 广发银行 千分之一 5元 没有 深发展 千分之一 5元 没有 交通银行 万分之五 10元 50元 光大银行 免费 免费 免费 民生银行 免费 免费 免费 浦发银行 免费 免费 免费 各大银行ATM机取款收费标准(每笔收费) 银行名称本行异地取现同城跨行取现异地跨行取现 工商银行交易金额的0.5%,最低1元,最高50元2元/笔交易金额的0.5%+2元/笔 中国银行5元/笔2元/笔7元/笔 农业银行交易金额的1%、最低1元2元/笔交易金额的1%+2元/笔 招商银行交易金额的5‰每月前三笔免,第四笔开始2元/笔2元/笔+交易金额的5‰ 交通银行交易金额的8‰2元/笔交易金额的8‰+2元/笔 民生银行5元/笔免费以ATM机所属银行价格为准 深发展交易金额的5%免费交易金额的5%+2元/笔,最低1元/笔 浦发银行免费免费免费(全国银联标志ATM) 华夏银行1元/笔免费20元/笔 注:兴业银行(在本行ATM上取款暂不收费,在他行ATM上取款(含本地、异地)人民币2元/笔(每月头3笔免费);少数地区(厦门等)按2元/笔收取,北京、南京、深圳分行均不收费。 建设银行(龙卡储蓄卡:跨行ATM取现手续费每笔2元加上交易金额的1%,其中每笔交易金额的1%,最低 为2元。在香港地区ATM取现手续费:每笔10元加上交易金额的1%。) 使用网上银行收年费情况 中国银行:不收费 农业银行:年费50元 工商银行:有证书客户每户12元 建设银行:36元/年 浦东银行:暂时不收费 华夏银行:没开通 深圳发展银行:免收费 中信实业银:免收费 民生银行:免收费 广东发展银行:免收费 注:工商银行理财金账户客户免收 使用电话银行收费情况 中国银行:免收费 农业银行:免收费 工商银行:每张登录卡12元 建设银行:36元/年 浦发银行:暂时不收费 华夏银行:免收费 深圳发展银行:免收费 中信实业银行:免收费 民生银行:免收费 广东发展银行:免收费 注:工商银行理财金账户客户免收 目前,各银行异地汇款通常都有两种方式,一种是直接到银行汇款的柜台式汇款,一种则是通过网上银行或电话银行汇款。 中国工商银行 手续费用:工商银行提供两种汇款方式,一是灵通卡汇款,手续费为汇款金额的1%,最低汇款手续费为1元,最高为50元。二是牡丹卡汇款,没有汇款的手续费用。 网上银行:每笔最低5元,最高为50元。 到账时间:灵通卡汇款24小时内到账,牡丹卡汇款3~5个工作日到账。 中国农业银行 手续费用:分为存款汇款和电子汇款两种,存款汇款最低手续费1元,超过1000元,按0.5%收取费用。电子汇款最低手续费1元,超过l00元按1%收费。 网上银行:与柜台式汇款收费相同。 到账时间:即时到账。 中国银行 手续费用:该行的汇款手续费是汇款金额的0.1%,最低限额为5元,最高限额为500元。即汇款金额在5000元以内的汇款手续费均为5元,5000元以上按汇款金额的0.1%收取手续费。 到账时间:第二天到账。 建设银行 手续费用:最低手续费1元,最高手续费为50元。 网上银行:每笔最低1元,最高不超过30元。 电话银行:每笔最低1元,最高不超过40元。 到账时间:分两种情况,如果汇款的银行是在联网城市,汇款后两小时即可到账;否则,需3~5个工作日才能到账。 交通银行 手续费用:同行之间汇款,收取0.05%手续费,最低10元,最高50元;跨行汇款收1%的手续费,最高收取50元。 到账时间:即时到账。 招商银行 手续费用:分为两种,一种是快速汇款,最低手续费5元,超过1000元,按0.5%收取费用,适合l万元以内汇款金额。另一种是电子汇款,最低手续费10元,汇款手续费为汇款金额的1%,最高为50元,适合1万元以上汇款金额。 网上银行:每笔收费5元,跨行汇款收费10元。 到账时间:快速汇款即时到账,电子汇款到账时间为2~3个工作日。 光大银行 手续费用:手续费为汇款金额的0.5%,最低为2元,最高为20元。 到账时间:即时到账。 华夏银行 手续费用:手续费为汇款金额的0.1% ,最低1元,最高10元。 到账时间:即时到账。 邮政储蓄 手续费用:按汇款金额的0.5%收取费用,最高50元。 到账时间:即时到账,除少数偏远非联网地区。 其中,交通银行跨行汇款与邮政储蓄手续费收取的方式是从本金中直接划扣。 国内银行汇款比较 目前各银行汇款通常都有两种方式,一种是直接到银行汇款的柜台式汇款,一种则是通过网上银行或电话银行汇款。 农业银行 手续费用:分为存款汇款和电子汇款两种,存款汇款最低手续费1元,超过1000元,按0.5%收取费用。由于国内很多地区目前还没开通收费服务,所以还可以暂时享受免手续费的优惠。电子汇款最低手续费1元,超过100元按1%收费。 到款时间:实时到账。 网上银行:与柜台式汇款收费相同。 缺点:分为无卡汇款和汇款两种。无卡汇款即无需办理银行卡,直接用现金汇到指定银行卡上即可。但目前大多数农行网点在使用无卡汇款时,无法确认收款人姓名,所以一旦填错卡号,就可能导致汇到其他人账号上。要将款重新划出,就需要得到收款人的确认,十分麻烦。另外,晚上8点后到第二天早上8点间,无法通过网上汇款。 招商银行 手续费用:分为两种,一种是快速汇款,最低手续费5元,超过1000元,按0.5%收取费用。适合1万元以内汇款金额;另一种是电子汇款,最低手续费10元,汇款手续为汇款金额的1%,最高封顶手续费为50元,适合1万元以上汇款金额。 到款时间:快递汇款可以实时到账;电子汇款到账时间为2-3个工作日。 网上银行:每笔收费5元。跨行汇款收费10元。 缺点:如果低于500元的汇款,与其他银行相比费用最高。通过网上银行汇款时,如接收方为同行汇款,需要点击“同行速汇”,否则统一按10元收费。 建设银行 手续费用:最低手续费1元,最高手续费为50元。 汇款方式:汇款方必须持有银行卡。 到款时间:分为两种情况,如果汇款的银行是在联网城市,汇款后2小时内即可到账;如果汇款的银行不在联网城市,则需要3-5个工作日才能到账。 网上银行:每笔最低1元,最高不超过30元。 电话银行:每笔最低1元,最高不超过40元。 缺点:在建行汇款,汇款方必须持有建行储蓄卡方可汇款。如果没有储蓄卡,需要先花10元手续费办理建行龙卡。尽管汇款最快在2个小时内即可到账,但收款方当天无法查询到账明细。 工商银行 手续费用:工商银行提供两种转账方式,一是灵通卡汇款,手续费为汇款金额的1%,最低汇款手续费为1元,最高为50元。二是牡丹卡汇款,没有汇款的手续费用。 到账时间:灵通卡汇款为24小时内到账,牡丹卡汇款为3-5个工作日内到账。 网上银行:每笔最低5元,最高为50元。 缺点:工商银行通常人比较多,大中城市的工商银行都需要排队,办理时间较长。网上银行周末和节假日无法汇款。 交通银行 手续费用:1000元以内收1%的手续费,1000元以上收10元的手续费。交通银行最大的特点是可以自动在汇款中扣手续费,甚至可以汇款方、收款方分担手续费。 到账时间:实时到账。 缺点:网点少。 中国银行 手续费用:该行的汇款手续费是汇款金额的0.10%,最低限额为5元,最高限额为500元。即汇款金额在5000元以内的汇款手续费均为5元,5000元以上按汇款金额的0.10%收取手续费。 到账时间:第二天到账。 缺点:周末和节假日大多数中行网点都会休息。 光大银行 手续费用:最低手续费限额为2元,最高手续费限额为20元。手续费为汇款金额的0.5%。 到账时间:实时到账。 缺点:光大银行的覆盖区域比较少,许多地区无法汇款。 |
| 中行 至今为止个人觉得打交道最舒服的银行 过去比较牛 现在很专业 总行所有部门领导 全部是海外分行回来 业务素质高 风格大气 零售方面不重视 所以较落后 但是如果你是VIP 你将得到中国最好的个人银行服务 工行 江湖气十足 确实家大业大 但是历史影响太重 不仅仅是包袱 更多的是传统的 江湖范儿行事风格 家大业大不是错 自以为家大业大就是问题了 尤其是家大业大 又不太国际化 虽有家大之实 却无家大之气质 产品服务-- 小里小气 畏畏缩缩 推销自己-- 底气稍欠 就连最传统的业务 都做不好 部门领导业务素质 又相当的差 引进的战略投资者比较土 最庞大的银行 如果再不从根本改变 基本上就是一堆 赘肉 但是由于家大业大 优势太明显 哪怕你再讨厌他们 也无奈人家网点多 农行 过去很土 近几年改革力度极大 在四大中 显得比工建两家专业 农行的可贵 在于知道自己的劣势 加上 巨大的网络覆盖面 未来的发展看好 但是 总行部门领导 职业操守堪忧 分行级领导 太土 太土 太土 农行的发展 一定伴随大量的 案件 建行 四大里面从利润最好 员工收入最高 沦落到现在 最差 建行过去不属于人民银行 有政策优势 划归银行后 定位不清晰 城市网络不如工 乡镇网络不如农 国际贸易不如中 整个一四不像 前几任行长高升 后几任进牢房 可见没有一个是踏实做事的 新来的张建国 我也不看好 此人过去在工行 后来在交行 也无甚建树 看来建行还有的折腾 建行的零售 毫无疑问 世界第一差 交行 本以为上海人管理银行 应该比北京人更专业 实际不是这样 交行给我的感觉 就是要死不活 没有特色业务 没有特色服务 不是凶悍但地位显赫的 大老婆 也不是恃宠而骄的 小老婆 只是中间受气 又没有出息的 二老婆 引进了个战略投资者 是最没文化的人经营的 汇丰 交行的未来 可能只是不断萎缩 中信 国际业务太强 曾经唯一能与中行 抗衡 背景太牛 公司业务也强 新上了个草包行长 陈小宪 新政策是把中信复制成招行 可惜了一家本人看好的银行 不过 中信的信用卡服务 绝对好 人性化程度 绝无仅有 比较搞笑 陈小宪同志 选用 同性恋彩虹旗 作为中信的形象 所以 中国少了一家外汇专业银行 世界多了一家同性恋专业银行 招行 行长马蔚华 绝对是个牛人 作为招行的客户 我非常喜欢 他们的服务 但是在业务上和他们打交道的人 我实在讨厌 这间银行 除了零售部 总行大部分部门负责人 非常缺乏专业素质 却一个比一个喜欢装 貌似一个比一个牛 说来说去 都是 一群在深圳打工的 外来哥外来妹 个个的名片上 赫然印着英文名字 实在受不了用浓重的 湖南口音 四川口音 东北口音 广东口音 互相称呼杰克玛丽詹妮弗 汤姆海伦威廉姆 光大 企业颜色是浅紫色 好像是印刷厂没有完成套色 这就是光大的感觉 买了中国投资银行 资产大了 包袱大了 中高管理层 没有能力了 连续三年不出年报 闻所未闻 民生 敢想 敢做 值得激赏 太敢想 太敢做 实在令人担忧 高层有魄力 中层有胆子 基层像吃了春药 奖励机制过于不严谨 存款决定一切 存款决定收入 完成任务 可拿全国银行业最高薪水 完不成任务 哼哼 民生还不如民工 内部风控机制较国际化 但执行人员太本土化 短期来看 民生牛 长期来看 民生险 华夏 首钢办银行 能专业吗? 加入了红塔 能改观吗? 市场上多一家华夏 不显拥挤 少一家华夏 谁也看不见 高层不是没有想法 只是没有办法 中层不是没有积极性 只是缺乏专业性 华夏唯一的出路 就是和其它行合并 把首钢和红塔 变成巨大的资源 而不是 救命稻草 浦发 又是一家上海人经营的 莫名其妙的银行 从总行到分行 都是工行人马 工行的弊病 无一遗漏 全部拷贝 如果没有上海市的背景 估计和另外两家“发”差不多 换句话说 就是要死不活 没有任何特色产品 还自鸣得意得很 除了在上海 非常之低调 这低调并非自愿 而是没有能力高调 和花旗发行了可笑的信用卡 如果说是中国最差信用卡 那真是褒奖 因为浦发花旗卡 就是一张粪便卡 分明没有个人购汇业务执照 就让用户在柜面用人民币还外币透支 电话申请购汇 却先抵本币 多余部分才能购汇 什么样的弱智和蠢才 才能设计出这样 的信用卡 唯有浦发和花旗 深发 当年牛逼无比的深发展 现在苟延残喘着 深圳市仅存的招牌 撑死也得撑着 怪谁 当然怪人 广东热时涌入深圳的 外来人口 本是体力劳动最佳候选人才 阴差阳错做了金融 后果不言而喻 广发 提起这个名字 我的直觉是同情 中资银行引进外国战略投资者 大家都争破头 唯有广发一家 所有外国银行都 避之不及 广发的人 自己也知道 每次和他们见面 个个羞羞怯怯 讲话都没有底气 唉 我也同情 不过也就如同广东这个地方 只是在发展过程中 扮演一个串场的角色 银行也一样 兴业 过去默默无闻 现在默默无名 不过财务报表 却比很多咋咋呼呼的银行好看 做好不做大的方针 其实很正确 中国市场这么单一 增加经营成本 不如提高个体利润 非常令我担心的是 引进了恒生的战略投资 恒生这家银行 实在有点恐怖 每天上班之前 员工要高喊N字真言 有点像传销 还有点邪教的嫌疑 最为关键的 是经营者是受教育程度不高的 港胞 如果恒生渗透太多 兴业未来堪忧 全国性的银行基本谈完了 除了一家 新开的渤海银行 目前刚刚开始运作 只在天津地区 情况如何 看不出来 城市商业银行 都是小打小闹 不谈也罢 |
| socket编程入门 发布时间:2008.01.23 04:58 来源:赛迪网 Socket提供了两台计算机之间进行通讯的机制,在James Gosling注意Java语言之前就已经很闻名了。Java语言使你更简单有效的使用Socket开发而无需了解操作系统的底层机制。大部分讨论Java编码的书籍都没有涉及这一主题,或者是只是“点到为止”,留给读者大量的想象空间。这份教程就是让你了解在你的Java代码中如何更有效的使用Socket所需的知识。包含以下内容: ?什么是Socket ?它位于你的应用程序的哪些地方 ?能正常运行的最简单的Socket例程――帮助你理解Java Socket的基础知识 ?详细剖析另外两个探讨如何在多线程和具有连接池环境中使用套接字的示例 ?简要讨论在现实世界中的一个Socket应用程序 如果你能够描述如何使用java.net这个包里的类,这份教程对你来说也许基础了一点。尽管它是一份提高技术的好资料,但是如果你已经在PC或者其他平台上有过长期Socket的开发经历,这部分提示也许会让你产生厌烦,但是如果你并不是很理解Socket,并且只想知道“什么是Socket”以及“怎么将Socket应用在自己的Java代码中”的话,这份教程则是一个很好的开始。 大多程序员,无论是否使用Java语言编程,都不希望知道太多关于不同的计算机之间相互通信的底层知识。程序员希望处理更容易理解的高层抽象。程序员更希望用他们熟悉的java的构造,通过直观接口与对象交互。 Socket存在于两个领域--我们宁愿处理抽象层而避免涉及底层细节,这一章所讲解的底层细节仅用于你理解抽象应用所必须的知识。 计算机组网 计算机之间用一种非常简单的方式来进行操作和通信。电脑芯片是一种开关,用1和0来储存和传输数据。当计算机希望共享数据时,它们需要所作的全部就是以相同的速度,相同的顺序,相同的时间等来回传输上百万的数据流。当你想在两个应用程序之间通信时,你怎么想考虑这些细节呢? 为了避免上面提到的事情,我们每次需要一组包协议用同样的方法来完成工作。这将使我们能够处理应用程序级的工作而不需要担心底层网络技术的细节。这样设置的包协议被称作“栈”。TCP/IP是最常见的协议栈。大部分协议栈(包括TCP/IP)都大致遵循ISO国际标准化组织的开放系统互连参考模型(Open Systems Interconnect Reference Model,OSIRM)。OSIRM把计算机网络定义为7个逻辑层 (见下图)很多公司对于这个模型的某些层的构造有过贡献。从产生电子信号()到给应用程序提供数据。TCP/IP映射到OSI模型的两层,如图所示。 我们不必过多的深入这些层的细节,但我们应该知道socket位于模型的什么位置。 Socket存在于哪些地方? Socket大致位于OSI模型的会话层(下图),会话层夹在面向应用的高层(上)的层和实时数据通信层(下)之间。会话层在两台计算机之间为管理和控制数据流提供服务。作为这一层的一部分,socket提供一个隐藏从传输线上获取bytes和bits的复杂性的抽象。换言之,socket允许我们让应用程序表示它想发送bytes。 socket隐藏了完成该工作的具体细节。 当你拿起电话说话时,电话把你的声音转换电信号。电话机是人和电信网络之间的接口。你不必知道你的声音是如何转换的细节,只需知道要你想和谁联系。同样的道理,socket隐藏了复杂的传输二进制数据而扮演高层接口的角色。 向一个应用程序曝光socket 当你在使用socket编写代码时,你的代码工作在表示层。表示层提供一个能让应用层使用的公共信息表示(representation of information)。假如你想把你的应用程序连接到CC银行系统而仅能使用EBCDIC。你的域对象(domain objects)用ASCII格式储存信息。既然这样,你得负责在表示层编写代码把EBCDIC的数据转换成ASCII格式,然后(比如)向应用层提供一个域对象(domain objects)。应用层可以用域对象(domain objects)做它想做的任何事情。 你编写的socket处理代码仅存在于表示层。应用层并不需要知道socket如何工作。 什么是socket? 现在我们知道了socket扮演的角色,那么剩下的问题就是:什么是socket?Bruce Eckel在他的《Java编程思想》一书中是这样描述socket的: socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的"电缆"工作在两台机器之间,“电缆”插在两台机器的socket上。当然,物理硬件和两台机器之间的“电缆”这些连接装置都是未知的,抽象的所有目的就是为了让我们不必了解更多的细节。 简单的说,一台计算机上的socket同另一台计算机通话创建一个通信信道,程序员可以用这个信道在两台机器之间发送数据。当你发送数据时,TCP/IP协议栈的每一层都给你的数据里添加适当的报头。有个好消息是java语言隐藏了所有这些细节,这也是为什么他们有时被叫做“流socket”。 思考一下socket像电话听筒一样在电话的任意一端--你和我通过一个专门的信道来进行通话和接听。会话将一直进行下去直到我们决定挂断电话(除非我们使用蜂窝电话),除非我们挂断电话,否则我们各自的电话线路都会占线。 如果你需要在两台机器之间进行通讯而不使用高级机制像ORBs(以及CORBA, RMI, IIOP等等),socket比较适合你。Socket的底层机制则相当棘手。幸运的是,java平台给我们一些虽然简单但是相当强大的高层抽象以至于我们创建和使用socket更加容易一些。 socket的类型 一般而言,java socket有下面两种类型: ?TCP socket(由Socket类实现,下面的章节我们将对其讨论) ?UDP socket(由DatagramSocket类实现) TCP和UDP扮演同样的角色,但是实现是不同的。两者都接收传输协议数据包并把它们传递到表示层。TCP把信息分解成数据包(datagrams)并在接收端重新组装起来。它还对丢失的数据包进行重新传输的请求。TCP减少了上层的担忧。UDP没有组装和重传请求的功能。它只是传输数据包。更高层的层必须确保信息的完整性以及组合顺序的正确性。 一般而言,UDP使你的应用程序更有效率,但只在你的应用程序并不是立即交流大量数据并且不需要组装大量的数据报而完成一条消息的时候。否则TCP才是最简单和最有效的选择。 因为大部分读者相对于UDP来说更喜欢用TCP一些,我们将我们的讨论限定在java语言中面向TCP类。 |
| 程序人生--送给编程初学者的良言警句 发布时间:2008.01.23 04:57 来源:赛迪网 作者:fang9159 我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看 见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。 而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C++就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。 96,97级的不少大学生都去做Web了。当然我没有任何歧视某一行业的意识。我只是觉得如 果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。 几个误区 初学者对C++风潮的追赶其实也只是学习过程中经常遇到的几个误区之一。我将用一些实际的例子来说明这 些现象,你可以按部就班的看看自己是不是属于其中的一种或者几种: 认为计算机技术等于编程技术: 有些人即使没有这个想法,在潜意识中也有这样的冲动。让我奇怪的是,许多信息学院的学生也有这样的念头。认为计算机专业就是编程专业,与编程无关的,或者不太相关的课程他统统都不管,极端的学生只要书上没带“编程”两个字他就不看。 其实编程只是计算机技术应用过程中一种复杂性最低的劳动,这就是为什么IT业最底层的人是程序员( CODER)。计算机技术包括了多媒体,计算机网络,人工智能,模式识别,管理信息系统等等这些方面。 编程工作只是在这些具体技术在理论研究或者工程实践的过程中表达算法的过程。编程的人不一定对计算机技术的了解就一定很高。而一个有趣的现象是,不少大师级的计算机技术研究者是不懂编程的。网上的炒作和现实中良好的工作待遇把编程这种劳动神秘化了。其实每一个程序员心里都明白,自己这些东西,学的时候并不比其它专业难,所以自然也不会高档到哪里去。 咬文嚼字的孔乙己作风: 我见过一本女生的《计算机网络原理》教材,这个女生象小学生一样在书上划满了横杠杠,笔记做得满满的,打印出来一定比教材还厚。我不明白的是,象计算机网络原理这样的课程有必要做笔记?我们的应试教育的确害了不少学生,在上《原理》这一类课程的时候许多学生象学《马列原理》一样逐字背诵记忆。 这乃是我见过的最愚蠢的行为。所谓《原理》,即是需要掌握它为什么这样做,学习why,而不是how(怎样做)。极端认真的学生背下以太网的网线最大长度,数据帧的长度,每个字段的意义,IP报头的格式等等,但是忘了路由的原则,忘了TCP/IP协议设计的宗旨。总之许多人花了大量的时间把书背得滚瓜烂熟却等于什么也没学。 在学习编程的时候这些学生也是这样,他们确切的记得C++语法的各个细节。看完了C++教程后看《Thinking in C++》(确实是好书),《Inside C++》,《C++ reference》,this C++,thatC++……,然后是网上各种各样的关于C++语法的奇闻逸事,然后发现自己又忘了C++的一些语法,最后回头继续恶补…。有个师弟就跟我说:“C++ 太难了,学了这里忘了那里,学了继承忘了模板。”我的回答道:“你不去学就容易了”。我并没有教坏他,只是告诉他,死抠C++的语法就和孔已己炫耀茴香豆的茴字有几种写法一样毫无意义。你根本不需要对的C++语法太关心,动手编程就是了,有不记得的地方一查MSDN就立马搞定。我有个结论就是,实际的开发过程中对程序语法的了解是最微不足道的知识。这是为什么我在为同学用Basic(我以前从没有学过它)写一个小程序的时候,只花了半个小时看了看语法,然后再用半个小时完成了程序,而一个小时后我又完全忘记了Basic 的所有关键字。 不顾基础,盲目追赶时髦技术: 终于点到题目上来了。大多数的人都希望自己的东西能够马上跑起来,变成钱。这种想法对一个已经进入职业领域的程序员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进就是失业。但是对于初学者来说(尤其是时间充裕的大中专在校生),这种想法是另人费解的。一个并未进入到行业竞争中来的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习why 而不是how。时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能够显著的减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来说甚至是不可或缺的。 一个活生生的例子是我和我的一个同学,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。我把大二的所有时间花在了汇编,计算机体系结构,数据结构,操作系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。大三的时候我开始学习Windows 操作系统原理,学习SDK编程,时间是漫长的,这时我才能够用VC开发出象模象样的应用程序。我曾一度因为同学的程序已经能够运行而自己还在学习如何创建对话框而懊恼不已,但临到毕业才发现自己的选择是何等的正确。和我谈判的公司开出的薪水是他的两倍还多。下面有一个不很恰当的比方:假设学习VB编程需要4个月,学习基础课程和VC的程序设计需要1年。那么如果你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,如果先学习后者,再来学VB,也许你只需要1个星期就能学得非常熟练。 几个重要的基础课程 如果你是学生,或者如果你有充足的时间。我建议你仔细的掌握下面的知识。我的建议是针对那些希望在IT技术上有所成就的初学者。同时我还列出了一些书目,这些书应该都还可以在书店买到。说实在的,我在读其他人的文章时最大的心愿就是希望作者列出一个书单。 大学英语-不要觉得好笑。我极力推荐这门课程是因为没有专业文档的阅读能力是不可想象的。中文的翻译往往在猴年马月才会出来,而现在的许多出版社干脆就直接把E文印刷上去。学习的方法是强迫自己看原版的教材,开始会看不懂,用多了自然熟练。吃得苦下得狠心绝对是任何行业都需要的品质。 计算机体系结构和汇编语言-关于体系结构的书遍地都是,而且也大同小异,倒是汇编有一本非常好的书。《80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)。你需要着重学习386后保护模式的程序设计。否则你在学习现代操作系统底层的一些东西的时候会觉得是在看天书。 计算机操作系统原理-我们的开发总是在特定的操作系统上进行,如果不是,只有一种可能:你在自己实现一个操作系统。无论如何,操作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也很多,我没有发现哪一本书非常出众。只是觉得在看完了这些书后如果有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。关于学习它的必要性,ZDNET上的另一篇文章已经有过论述。 数据结构和算法-这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时)。很多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。 软件工程-这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。 Windows 程序设计-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。 在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在 学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。 上面的几门课程我认为是必学的重要课程(如果你想做Windows 程序员)。 对于其它的课程有这样简单的选择方法:如果你是计算机系的,请学好你所有的专业基础课。如果不是,请参照计算机系的课程表。如果你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。如果一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽可能多的在计算机上实践一种理论或者算法。 你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书。 日三省乎己 每天读的书太多,容易让人迷失方向。一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣,在一本书上花的时间太长还是不够等等。同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。 把最多的时间花在学习上 这是对初学者最后的忠告。把每个星期玩SC或者CS的时间压缩到最少,不玩它们是最好的。同时,如果你的ASP技术已经能够来钱,甚至有公司请你兼职的话,这就证明你的天份能够保证你在努力的学习之后取得更好的收益,你应该去做更复杂的东西。眼光放长远一些,这无论是对谁都是适用的。 相信你已经能够决定是否学习C#或者什么时候去学它了。 |