10 2011 档案
摘要:作者: 阮一峰日期: 2010年2月27日1.让我从一件新闻讲起。2009年,计算机业界发生了一件大事:甲骨文公司以74亿美元收购SUN公司。消息宣布后,有一个人坚决反对这笔交易。他叫Michael Widenius,是数据库软件MySQL的主要创始人。他为什么要反对呢?因为MySQL现在归SUN公司所有,一旦收购成功,就将属于甲骨文公司所有。但是,后者的主要产品是Oracle数据库,与MySQL是竞争关系。所以,甲骨文公司不可能扶持MySQL的后继开发,甚至有可能杀死MySQL。Michael Widenius不能接受这个事实,他发起万人签名,提交请愿书,要求欧盟委员会否决这项交易。具体情况
阅读全文
摘要:作者: 阮一峰日期: 2010年2月20日写前一篇网志时,我参考了Ryan Paul的文章。他是资深Linux程序员和评论者。他对Android许可证的评论,是我见到的最准确、最通俗易懂的介绍。当时,我翻译了一些片段,打算在自己的文章中引用,但是后来没用上。我觉得不甘心,于是今天就把全文译出,贴在下面,希望让更多的朋友看到。如果你对GPL、ASL、BSD这一类的许可证名字,只有一些模模糊糊的概念,搞不清楚它们之间的区别。那么,我强烈推荐你阅读此文,读完后,你就会对开源软件的许可证,有一个基本的认识了。值得指出的是,此文写于2007年,当时Google刚刚宣布Android项目,代码还没有完成,
阅读全文
摘要:作者: 阮一峰日期: 2010年2月 4日满大街都在谈论Android。它是当红炸子鸡。许多人觉得,iPhone将受到它的强力挑战。我也曾经对它充满了期待,但是后来的事态发展,令我改变了看法。前几天,我就在网志上写了自己的担忧:“首先,Android应用程序只能用java语言开发,莫非所有的应用程序都运行在一个巨大的虚拟机上?(【更正】网友留言指出,2009年6月Android发布NDK工具包,支持C/C++语言编程,不过性能不如SKD工具包中的Java语言。 )其次,Google对Android采用了一种全面霸权式的管理,完全不是其他开源软件的开发方式,一切都由Google说了算,很多地方是
阅读全文
摘要:最近看了下关于广播方面的东西,加深了理解,也纠正了自己以前的不正确的看法。 关于广播有2中注册方式,一种是在代码中注册,也叫动态注册,另一种是在AndroidManifest里面注册,也叫静态注册。 不管在哪个里面注册,都需要发送广播sendBroadcast()。广播发送的是一个Intent,intent里面一般是action。 如果是在代码里面注册,一般在onResume()方法里面注册。 1 @Override 2 protectedvoid onResume() { 3 // TODO Auto-generated method stub 4 5 ...
阅读全文
摘要:Android超过iPhone不是一种偶然,而是Android战胜iPhone的一种必然。1、Android价格占优 价廉性能并不低消费者选择产品,价格是必然要考虑的一大因素,iphone虽好,但是价格让一般人望而却步。苹果就像是宝马、奔驰,虽然大家都认为它很好,但是一 般人消费不起,只有看的份。而Android,如同大众,满大街跑的都是,不仅如此,还有一些型号是可以与宝马、奔驰相媲美的。虽然Android平台的手机价廉,但是其性能却一点也不低廉,触摸效果并不比苹果差到哪里去。Android平台简单实用,无论是功能还是外观设 计,都可以与苹果一决高下。当消费者考虑价格因素之后,在数量众多的an
阅读全文
摘要:本文版权归飞雪无情 所有,转载请注明出处, 永久链接: http://flysnow.iteye.com/blog/812375一: Android 项目的目录结构 Android 项目结构概览。其实 Android 项目的目录结构和 Java 的差不多,没有太大变化,如下图: 可以看到 src 文件夹里的是源文件, Android2.2 是引用的类库,这些和 java 的都一样,那么下面的这个 gen 是什么呢?这个里面的类就是 ADT 自动生成的啦,一般只有一个 R.java 文件,是不能修改的,那么他是怎么生成的呢,看到下面的 res 文件夹了吗? R.java 就是根据资源文件夹 re
阅读全文
摘要:1、ANDROID系统现在有多个版本分别是1.5、1.6、2.0.1、2.1 2.22.3软件基本上是通用的,现在比较主流的系统版本为2.2或2.1,最新的是2.3系统,不过不加以购买1.5或1.6系统的android 手机,这些系统版本太早软件兼容性较差。google是android系统的出品公司,谷歌也通过贴牌的方式出过两台自由品牌手机,分别是由HTC代工的 Nexus One和三星代工的Nexus S 2、ANDROID手机现在有四种分辨率,低端是240*320、主流分辨率是320*480、高端机的分辨率为480*854或480×800,其中 QVGA分辨率软件兼容性最差,不过
阅读全文
摘要:1、eoe Android开发者论坛 目前国内最早的Android开发者社区,人气非常旺聚集了不少Android开发方面的高手,开发中遇到的问题大都能在这里获得解决,网站最大的特色是定期发布《eoe特刊》,问答频道和资料分享做的也不错。访问地址:http://www.eoeandroid.com2、 AndDev 国外非常好的一个Android开发者论坛,论坛版块划分完全面向开发者,从入门到进阶话题很全面,版主的水平也非常高,经常会出一些教程。访问地址:http://www.anddev.org/3、 helloAndroid以教程为最大特色的国外网站对大家系统学习Android知识非常有帮.
阅读全文
摘要:在Android的应用程序开发中,通常使用的是Java语言,除了要熟悉Java语言的基础外,还需要了解Android提供的Java扩展功能。一、重要包描述Android.app:提供高层的程序模型、提供基本的运行环境。Android.content:包含对各种的设备上的数据进行访问和发布的类。Android.database:通过内容提供者浏览和操作数据库。Android.graphics:底层的图形库,包含画布、颜色过滤、点、矩形,可以将它们直接绘制到屏幕上。Android.location:定位和服务的相关类。Android.media:提供了一些管理音频视频的媒体接口的相关类。Andro
阅读全文
摘要:一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)二、AndroidManifest.xml结构<?xmlversion="1.0&qu
阅读全文
摘要:每个Android的application都必须包含一个 AndroidManifest.xml,且文件名是固定的,不能修改。应用程序需要通过它向Android系统提供一些必需的信息,且需要在 application运行前提供给系统,如下图所示: AndroidManifest.xml的功能介绍AndroidManifest.xml主要包含以下功能:说明application的java 数据包,数据包名是application的唯一标识;描述application的component;说明application的component运行在哪个process下;声明application所必须具备
阅读全文
摘要:程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下:android.permission.ACCESS_CHECKIN_PROPERTIES 允 许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)android.permission.ACCESS_COARSE_LOCATION 允许一个程
阅读全文
摘要:一,重要性AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件 (activities, services, 等等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。 因此,该文件提供了Android系统所需要的关于该应用程序的必要信息,即在该应用程序的任何代码运行之前系统所必须拥有的信息。一个典型的Android应用程序的结构如下图所示: 二,主要功能它指定了该应用程序的.
阅读全文
摘要:Linux下建议的命名规则如下。(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。(3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名
阅读全文
摘要:Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过<service>来声明。可以通过contect.startservice和contect.bindserverice来启动。 Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。 service的两种模式(startService()/bindService()不是完全分离的):本地服务 Local Service 用于应用程序内部。 它可以启动并运行,直至有人停止了它或它自己停止。在这
阅读全文
摘要:Service 简介何谓“Service”?“Service” 意思即“服务”的意思, 像 Windows 上面的服务一样,有些服务是在后台上运行,干着静悄悄的勾当不让人知道 。与 Activity 不同,Service 是并不直接与用户交互的运行于后台的一类组件。 Google对Service的解释一个服务不是一个单独的进程。服务对象本身并不意味着它是在自己的进程中运行,除非另有规定,否则它与运行程序是同在一个进程中。一个服务不是一个单独的线程。它是一种手段,本身做着主线的工作 (以避免应用程序没有响应的错误)。 Service 与 Activity 的相同点与不同点不同点:Activi..
阅读全文
摘要:Android组件横看成岭侧成峰,远近高低各不同。 -- 《题西林壁》组件(Component),在谈及所谓架构和重用的时候,是一个重要的事情。很多时候都会说基于组件的软件架构,指的是期望把程序做乐高似的,有一堆接口标准封装完整的组件放在哪里,想用的时候取上几个一搭配,整个程序就构建完成了。在开篇的 时候就在说,Android是一个为组件化而搭建的平台,它引入所谓Mash-Up的概念,这使得你在应用的最上层,想做的不组件化都是很困难的一件事情 (底层逻辑,好吧,管不了...)。具体说来,Android有四大组件四喜丸子:Activity、Service、Broadcast Receiver、C
阅读全文
摘要:Service是Androd系统提供的四种组件之一,它的地位和Activity是并列的,只不过没有Activity的使用频率高。顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面。下面我们演示一下如何创建一个Service:1:我们通过布局文件layout/main.xml创建一个启动、停止、及绑定一个Service<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.andro
阅读全文
摘要:l转自: android 的Activity和Service之间的通信在 android中Activity负责前台界面展示,service负责后台的需要长期运行的任务。Activity和Service之间的通信主要由 IBinder负责。在需要和Service通信的Activity中实现ServiceConnection接口,并且实现其中的 onServiceConnected和onServiceDisconnected方法。然后在这个Activity中还要通过如下代码绑定服务:Java代码Intentintent=newIntent().setClass(this,IHRService.cl
阅读全文
摘要:通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在android平台中,一个进程通常不能访问其他进程中的内存区域。所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问。编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事。AIDL(android接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例
阅读全文
摘要:Service是android系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。使用context.startService() 启动Service是会会经历:context.startService() ->onCreate()- >onStart()->Service runningcontext.stopService() | ->onDestroy() ->Servic
阅读全文
摘要:把service的一些特性总结一下,基本知识就不介绍了.1、主要在后台运行。2、分两种类型: remote和location(远程和本地) 区别:远程的可以用在不同进程间访问,通过aidl实现(aidl以后介绍),当访问的进程结束掉后,还可以在后台继续进行。 本地的是在同一个进程间访问,当访问的进程结束后一起关掉。3、打开service的方法有两种: 一种:直接打开法: 通过startservice(Intent)这个方法打开,与之对应的是stopservice(Intent)这个方法关闭。 二种:通过bind的方法: 通过bindservice这个方法打开连接上service,与之对应该的是
阅读全文
摘要:Android的基本组件 1.Activity Activity 是最基本的模块,一般称之为“活动”,在应用程序中一般一个Activity就是一个单独的屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继 承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应。Activity利用View来实现应用中的GUI(用户直接通过GUI和应用程序 做交互)。Activity窗口内的可见内容通过基类View提供。使用Activity.setContentView()方法设置当前 Activity中的View对象。 每个View对象控制着窗口内的一个矩形空间; View是一种层次化结构,P
阅读全文
摘要:IP选路的必要性由于Internet是由许多不同的物理网络连接而成的,加入Internet的计算机在与其他入网计算机通信时,发送信息的源计算机可能与接收信息的目的计算机在同一个物理网络中;也可能不在同一个物理网络(如以太网)中。为了实现IP数据包从源地址到目的地址的传送,需要针对不同情况进行IP数据报转发路径的选择。什么是IP选路?在TCP/IP系统中,选路(Routing)是指在网络中选择一条用于传送IP数据包路径的过程。路由器(Router)是承担选路任务的网络设备。用于决策选路的信息称为IP选路信息(IP routing information)。路由器使用IP选路信息,对所传输的IP数
阅读全文
摘要:什么是IGMP?IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。IGMP主要功能当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员。利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表。IGMP报文格式和分类一个完整的IGMP数据报:正如ICMP一样, IGMP 也被当作IP 层的一部分。 IGMP报文的基本格
阅读全文
摘要:TCP 协议为终端设备提供了面向连接的、可靠的网络服务;UDP 协议为终端设备提供了无连接的、不可靠的数据报服务。从上图我们可以看出,TCP 协议为了保证数据传输的可靠性,相对于UDP 报文,TCP 报文头部有更多的字段选项。 首先让我们来看一下 TCP 的报文头部主要字段:1.源端口号(source port)和目的端口号(destination port):用于标识和区分源端设备和目的端设备的应用进程。在TCP/IP 协议栈中,源端口号和目的端口号分别与源IP 地址和目的IP 地址组成套接字(socket),唯一的确定一条TCP 连接。 2.序列号(Sequence number):用来标
阅读全文
摘要:以太网数据过滤过程1.首先,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。另外,多数接口均被设置为混合模式,这种模式能接收每个帧的一个复制。作为一个例子,tcpdump使用这种模式。目前,大多数的网卡经过配置都能接收目的地址为多播地址或某些子网多播地址的帧。对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为01:00:00:00:00:00(以太网广播地址ff:ff:ff:ff:ff:ff可看作是以太网多播地址的特例)。2.如果网卡收到一个帧,这个帧将被传送给设备驱动
阅读全文
摘要:TCP连接的建立 TCP使用三次握手( three-way handshake )协议来建立连接。三次握手协议可以完成两个重要功能:它确保连接双方做好传输准备,并使双方统一了初始顺序号。这三次握手为: 1.请求端(通常称为客户)发送一个 SYN 报文段( SYN 为 1 )指明客户打算连接的服务器的端口,以及初始顺序号( ISN )。 2.服务器发回包含服务器的初始顺序号的 SYN 报文段( SYN 为 1 )作为应答。同时,将确认号设置为客户的 ISN 加 1 以对客户的 SYN 报文段进行确认( ACK 也为 1 )。 3.客户必须将确认号设置为服务器的 ISN 加 1 以对服务器的 S.
阅读全文
摘要:TCP数据流分类基于TCP的各类解决方案,可以根据数据吞吐量来大致分成两大类: (1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。 (2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率。针对这两种情况,TCP给出了两种不同的策略来进行数据传输。TCP的交互数据流通常,在网络速度很快的情况下,比如用lo接口进行telnet通信,当按下字母键并要求回显的时候,客户端和服务器将经历 发送按键数据->服务器发送按键数据的ack -> 服务器端发
阅读全文
摘要:通过前面两篇:Android 开发之旅:环境搭建及HelloWorldAndroid 开发之旅:HelloWorld项目的目录结构我 们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪 些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来 学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。 本文的主题如下:1、架构图直
阅读全文
摘要:UNIX Programming FAQ 中文版 v0.1.0 http://www.linuxforum.net/books/upfaq/book1.htm
阅读全文
摘要:应一些朋友的要求,我把我电脑上的源代码全部张贴到这里。当然稍微做些说明。这样有个好处就是我自己可以通过google随时搜索源代码例子,比如我想找udp编程的例子时,我就在google里输入:udp site:zhoulifa.bokee.com搜索,能看到我自己的源代码例子。下面这个例子用fnmatch函数进行字符通配,比如匹配*、?等字符。/************关于本文档*********************************************filename: fnmatch.c*purpose: 说明用fnmatch进行字符匹配的方法*wrote by: zhouli
阅读全文
摘要:引言前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下:1、HelloWorld项目的目录结构 1.1、src文件夹1.2、gen文件夹1.3、Android 2.1文件夹1.4、assets1.5、res文件夹1.6、AndroidManifest.xml1.7、default.properties1、HelloWorld项目的目录结构(这个HelloWorld项目是基于Android 2.1的)在Eclipse.
阅读全文
摘要:前言 这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助 :)声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140/正文 一、 环境配置和安装(Android2.2) 参考文章:这里 1.1 JDK 1.2 SDK 下载地址:http://dl.google.com/android/android-sdk_r06-windows.zip 1.3 Eclip...
阅读全文
摘要:Copyright © 2001 by Eric S. Raymond翻译:Barret翻译水平有限,欢迎来信指教,我的Email是barret(a)ynmail.com,但请勿问电脑技术问题(反正也不懂)。允许未经作者及译者的同意进行非商业目的的转载,但必须保持原文的完整性。内容一览为什么会有这份文档?什么是黑客?黑客应有的态度黑客的基本技能黑客文化中的地位黑客和书呆子(Nerd)的联系风格的意义其它资源FAQ(常问问题解答)为什么会有这份文档?作为 Jargon File 的编辑和一些其他有名的类似性质文章的作者,我经常收到充满热情的网络新手的email提问(确实如此)“我如何才
阅读全文
摘要:[命令详解] Netstat命令用法Netstat命令用法?Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一用于检验本机各端口的网络连接情况。如果你的计算机有时候接受 到的数据报会导致出错数据删除或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收 的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。Netstat的一些常用选项: netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如We...
阅读全文
摘要:它主要的用法和详解!(netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态。netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -nr1.netstat命令详解其实我常用的是 netstat -tnl | grep 443 (查看443端口是否被占用),如果有当前是root用户,我喜欢用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID)。netstat功能说明:显示网络状态。语 法:netstat [-acCeFghilMnNoprstuvVwx].
阅读全文
摘要:首先简要阐述关于gcc、glibc和 binutils模块之间的关系一、关于gcc、glibc和binutils模块之间的关系1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如 libgcc_s.so、libstdc++.so等。2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编 (objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常,binutil
阅读全文
摘要:没找到objdump的输出格式解释的文档,只能自己猜测了。objdump打印符号表的格式:shenyan@ubuntu:~/Temp$ objdump -t a.oa.o: file format elf32-i386SYMBOL TABLE:00000000l df *ABS*00000000 a.c00000000l d .text00000000 .text00000000 l d .data00000000 .data00000000 l d .bss00000000 .bss00000000 l d .note.GNU-stack00000000 .note.GNU-stack000
阅读全文
摘要:自我界限是指在人际关系中,个体清楚地知道自己和他人的责任和权力范围,既保护自己的个人空间不受侵犯,也不侵犯他人的个人空间。 从心理发展上看,自我界限是逐渐形成的。胎儿在母亲体内,他感觉到他和母亲是一体的,母亲就是他,他就是母亲的一部分。出生以后,虽然在肉体上与母亲已经分开,但在心理上仍然是连在一起。没有母亲或母亲的替代者,他一天也活不下去。 随着孩子慢慢长大,与母亲的心理距离也就越来越远。成长的过程,也就是与母亲在心理上分离的过程。分得越开,也就意味着成长得越好。遗憾的是,好多人在成长的过程中会形成一种与母亲一部分分开、另一部分还连在一起的状况,这是一种不完全的成长。换一种说法,就是:处于这.
阅读全文
摘要:【IT168 专稿】20年的发展历程使得路由器无论在技术含量还是制作工艺上,都有了显著的提高。在经历了从无到有,最初的网桥不能够满足大规模网络的需求,发展到第一台路由器CISCO AGS的诞生,从第一台多协议路由器的问世,到现在的大型路由器服务组;从以前的小型有线路由器,到如今大中型企业搭建无线路由设备;从以前为数不多的单独网络协议,到如今的涵盖多网络协议技术的推出……一个崭新的网络时代逐渐浮出网络界。 图为:联网共享 各种类型的网络之间可以实现相互访问,扩大了联网范围,各种网络执法者也为互联网的安全性提高了砝码。这一切使得以前单一的网络急速的开始膨胀,并最终导 致了全球互联网的实现。可以说路
阅读全文
摘要:随着宽带路由器应用的普及,用户对宽带路由器产品越来越重视。宽带路由器已经得到越来越广泛的应用,衍生并发展了宽带路由器市场,各厂家纷纷推出功 能各异、名目众多的路由器产品。从路由技术的诞生,到如今各种琳琅满目的产品,这期间技术的飞速发展,市场的迅速扩大不得不可谓是网络界的奇迹。如今如果有人需要将几台电脑连接到互联网,并在内部组成局域网络,应该是十分容易的事情了,只要通过宽带路由器来进行连接,并通过简单的一些设置便 可以实现这样的功能。而在宽带路由器没有诞生之前人们又是怎么做的呢?普通的用户要想实现这样的功能,必须通过一台电脑安装网关软件后作为服务器,再插双 网卡来实现。其中,一张用于连接外网,另
阅读全文
摘要:前言:在上篇中阿楠主要介绍了路由器的由来以及早期路由器的技术水平。近几年在大规模的逐步完善的网络技术支持 和覆盖下,企业的发展如日中天,个人宽带逐渐走入家庭后,家庭办公的SOHO族也日益增多,但我们是否想过网络技术带给我们巨大的收益背后,又是谁给我们 搭起这座通往财富的桥梁呢?不错,是路由器,它在其中发挥着不容小看,更不能忽视的作用。本章阿楠将为您讲述近20年来路由器的发展历程以及代表性产品的 问世。 80年代 初生牛犊,自立门户 自1984年, Leonard Bosack和Sandy Lerner教师夫妇在美国硅谷的圣何塞成立了一家名为思科(Cisco)的电子公司并成功生产销售了第一款名为
阅读全文
摘要:1.电路交换技术 网络交换技术共经历了四个发展阶段,电路交换技术、报文交换技术、分组交换技术和ATM技术。公众电话网(PSTN网)和移动网(包括GSM网和CDMA网)采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定带宽的通信电路,通信双方在通信过程中将一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带宽,并且实时性强,时延小,交换设备成本较低,但同时带来的缺点是网络的带宽利用率不高,一旦电路被建立不管通信双方是否处于通话状态,分配的电路都一.
阅读全文
摘要:路由器硬件结构上可以分为接口(IN、OUT),cpu bootrom、NVRAM、内存以及flash。 接口负责数据的流入流出,以及数CPU在路由器中负责配置管理和数据包的转发工作,维护路由器所需的各种表格以及路由运算等等。路由器对数据包的处理速度很大程度上都要取决于CPU的类型和性能。据链路层协议的封装等。 CPU用来计算、维护更新路由等。CPU在路由器中负责配置管理和数据包的转发工作,维护路由器所需的各种表格以及路由运算等等。路由器对数据包的处理速度很大程度上都要取决于CPU的类型和性能。 bootrom一般用来寻找操作系统文件,检测硬件,运行引导程序等。 内存中存在一些系统运行的...
阅读全文
摘要:一是实现基本的互联网协议,包括IP、ICMP以及其它相关的协议。 二是对每个所连接的网络,路由器必须实现该网络所要求的功能。这些功能通 常包括:IP数据包的封装/解封装。根据该网络所支持的最大数据包大小发送或接收IP数据包。该最大数据包大小是网络最大传输单元(MTU)。将IP地址 与相应网络的链路层地址相互转换。例如将IP地址转换成以太网硬件地址。响应网络支持的流量控制和差错指示。 三是接收及转发数据包,并负责缓冲区管理,拥 塞控制以及转发的公平性,包括应能辨认差错状态,并按要求产生ICMP差错消息;丢弃生存时间(TTL)域为0的数据包;当下一网络MTU较小时将数据包 分段等。 ...
阅读全文
摘要:当到达一个网络有多条路径的时候,路由器会根据甚么来选择最优路径,一般来讲路由器会根据以下几种度量值来选择最佳路由。 1、跳数 它可以简单的记录经过路由器的个数。例如,数据从路由器A发出,经过路由器B到达其他网络,那么其跳数为1,如果经过C到达其他网络,它经过的路由器为2,那么其跳数为2。在RIP中,跳数是衡量路径的主要标准,其最大跳数16,超过16即为不可达。 2、带宽 一般会选择带宽高的路径,但是不是主要标准,如果在T1线路上,链路带宽占用过多,那么它就可能不会选择这个链路了。 3、负载 负载反映了沿途链路的流量大小。最优路径应该是负载最低的路径。负载不会像带宽或者跳数那样,路径上的负载变化
阅读全文
摘要:宽 带上网已经不是什么新鲜事情,人们对相关的网络器件已经不再陌生,比如说常见的路由器。对于一般的网络用户,他们能知道怎样使用路由器来上网、玩游戏等就 已经感到很满足了,通常情况下对路由器的深层技术很少去过问研究,但做为兴趣广泛的技术爱好者,对这方面的知识是非常感兴趣的。但限于各种条件的制约,这 些爱好者都非开发者,很大程度上无法深入了解真正的技术实现过程以及相关的核心内幕。正是基于此点,笔者凭借自身的知识沉淀,尽最大努力为爱好技术的读者 架设一坐能通向深层核心的桥梁,为大家揭开路由器的神秘面纱,剖开其核心内脏。为使读者能清晰明白的理解掌握,笔者尽量将专业的技术内容转化为容易接受的 知识讲解,其
阅读全文
摘要:本文中十二个步骤可以完成IP路由选择的全部过程,再复杂的网络,也只是中间多了几个节点,多重复了几个步骤而已。网络管理员了解了这个IP路由选择的过程,那么在日后网络故障的排查中,会更加的得心应手。 如下图,现在这么一个网络。主机甲与主机乙分别在两个不同的网段上,中间通过路由器进行连接。现在假设主机甲要跟主机乙进行通信,那么主机甲如何才能够找到主机乙的位置呢? 假设现在主机甲的用户利用Ping命令,来确认主机乙的连通性问题。这个网络架构虽然比较简单,但是其路由选择过程的步骤则是一步不缺的。主要通过如下步骤: 第一步:当用户在主机甲上输入PING 172.168.80.8之后,主机甲中有一个因特网控
阅读全文
摘要:路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。路由器由硬件和软件组成。硬件主要由中央处理器、内存、接口、控制端口等物理硬件和电路组成;软件主要由路由器的IOS操作系统组成。我们以当前普遍应用的Cisco路由器为例给大家介绍一下路由器的硬件组成及其工作情况。让大家在使用它们的同时,对它们的组成也有所了解。中央处理器(CPU)与计算机一样,路由器也包含了一个中央处理器(CPU)。不同系列和型号的路由器,其中的CPU也不尽相同。Cisco路由器一般采用Motorola 68030和Orion/R4
阅读全文
摘要:路由器系统是硬件和软件的结合体,硬件用的可以是ARM内核或者MIPS内核,或者是PPC,或者是Intel的 CPU。这个核心部分相当于我们使用的PC的CPU。一台PC一般只要一个网卡,但是路由器需要多个网卡。现在大部分PC的网卡是通过PCI总线连接到 CPU的总线的,所有的数据交换都需要通过CPU的处理。而路由器的设计,网卡一般直接连接到数据总线上,比PC的PCI连接效率要高很多,一些高级的路 由器的网卡采用了专用的芯片,芯片上有数据处理器,网卡和网卡之间的数据传送不需要CPU参与太多。路由器系统除了CPU,网卡以外,还有flash,和内存。Flash相当于PC的硬盘,内存当然是相当于PC的内
阅读全文
摘要:IP层转发分组的流程 如图是一个路由表的简单例子。有4个A类网络通过3个路由器连接在一起。每一个网络上都可能又成千上万个主机。可以想象,若按查找目的主机号来制作路由表,则所得出的路由表就会过于庞大。但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含4个项目。具体分组转发算法如下 1)从数据报的首部提取目的站的ip地址D,得出目的网络地址为N。 2)若N就是与此路由器直接相连的某个网络地址,则这种交付为直接交付,即不需要再经过其它的路由器。这时就直接通过该网络将数据报交付给目的站D(这里包括将目的主机地址D转换为具体的硬件地址,将数据报封装为MAC帧,再发送此帧);...
阅读全文
摘要:1、什么时候使用多路由协议? 当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。下列情况不必使用多路由协议: 从老版本的内部网关协议( Interior Gateway Protocol,I G P)升级到新版本的I G P。 你想使用另一种路由协议但又必须保留原来的协议。 你想终止内部路由,以免受到其他没有严格过滤监管功能的路由器的干扰。 你在一个由多个厂家的路由器构成的环境下。 什么是距离向量路由协议? 距离向量路由协议是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流...
阅读全文
摘要:转自:http://studyccie.blog.163.com/blog/static/161868056201041385432830/第四章距离矢量路由协议:RIP(路由信息协议)最初在 RFC 1058 中定义。主要有以下特点:l 使用跳数作为选择路径的度量。l 如果某网络的跳数超过 15,RIP 便无法提供到达该网络的路由。l 默认情况下,每 30 秒通过广播或组播发送一次路由更新。IGRP(内部网关路由协议)是由 Cisco 开发的专有协议。IGRP 的主要设计特点如下:l 使用基于带宽、延迟、负载和可靠性的复合度量。l 默认情况下,每 90 秒通过广播发送一次路由更新。l IGR
阅读全文
摘要:看到园子里很多的前辈在发表自己的文章和想法的时候,文章后面都有一个版权信息的声明,感觉上很是讲究,很想也做一个和前辈们一样的东西,今天也仿着他们的签名做了一个,没有什么突出的地方,效果图如下: 这样博客看起来很是新颖,有两种做法:通过博客的签名来设置,你所有的文章后边都会跟上你的签名;通过自己写好的HTML代码在维护你的签名; 第一种步骤如下: 1.在后台管理界面写随笔的地方,点击左侧的维护签名,起个名字,在“内容”的文本框输入如下信息; 代码<div id="AllanboltSignature"> <div>作者:<a href="
阅读全文
摘要:什么是路由环路?路由环路是指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。当两台或多台路由器的路由信息中存在错误地指向不可达目的网络的有效路径时,就可能发生路由环路。造成环路的可能原因有:.静态路由配置错误.路由重分布配置错误.发生了改变的网络中收敛速度缓慢,不一致的路由表未能得到更新.错误配置或添加了丢弃的路由距离矢量路由协议的工作方式比较简单。其简单性导致它容易存在诸如路由环路之类的缺陷。在链路状态路由协议中,路由环路较为少见,但在某些情况下也会发生。注:IP 协议自身包含防止数据包在网络中无休止传输的机制。IP 设置了生存时间 (TTL) 字段,每经过一台路由器
阅读全文
摘要:距离矢量路由协议(二)----路由更新当路由器冷启动或通电开机时,它完全不了解网络拓扑结构。它甚至不知道在其链路的另一端是否存在其它设备。路由器唯一了解的信息来自自身 NVRAM 中存储的配置文件中的信息。当路由器成功启动后,它将应用所保存的配置。如第 1 章和第 2 章所述,如果正确配置了 IP 地址,则路由器将首先发现与其自身直连的网络。初次网络发现在上图所示的范例中,当路由器冷启动后,在开始交换路由信息之前,路由器将首先发现与其自身直连的网络以及子网掩码。以下信息会添加到路由器的路由表中:R110.1.0.0 available through interface FastEtherne
阅读全文
摘要:距离矢量路由协议(一)---相关概念简介距离矢量路由协议包括 RIP、IGRP 和 EIGRP。RIPRIP(路由信息协议)最初在 RFC 1058 中定义。主要有以下特点: .使用跳数作为选择路径的度量。 .如果某网络的跳数超过 15,RIP 便无法提供到达该网络的路由。 .默认情况下,每 30 秒通过广播或组播发送一次路由更新。IGRPIGRP(内部网关路由协议)是由 Cisco 开发的专有协议。IGRP 的主要设计特点如下: .使用基于带宽、延迟、负载和可靠性的复合度量。. 默认情况下,每 90 秒通过广播发送一次路由更新。 .IGRP 是 EIGRP 的前身,现在已不再使用。EIGRP
阅读全文
摘要:RIP 的历史影响RIP 是最早的距离矢量路由协议。尽管 RIP 缺少许多更为高级的路由协议所具备的复杂功能,但其简单性和使用的广泛性使其具有很强的生命力。RIP 不是“即将被淘汰”的协议。实际上,现在已经出现了一种支持 IPv6 的 RIP,称为 RIPng(ng 是 next generation 的缩写,意为“下一代”)。RIP 从 Xerox 开发的早期协议 - 网关信息协议 (GWINFO) 演变而来。随着 Xerox 网络系统 (XNS) 的发展,GWINFO 逐渐演变成 RIP。此后,由于 Berkeley 软件分发 (BSD) 的 routed(读作“route-dee”,而不
阅读全文
摘要:前面我们分析并且总结了一些RIP路由协议的特点。其中我们发现有一些现象并不利于网络的组建和使用。所以我们为了提高RIP路由协议性能而提出了两项措施。1. 水平分割在RIP路由协议的"计数到无穷大"现象中,产生的原因是A、B之间互相传送了"欺骗信息",那么针对这种情况,我们自然会想到如果能将这些"欺骗信息"去掉,那么不就可以在一定程度上避免"计数到无穷大"了吗.水平分割正是这样一种解决手段."普通的水平分割"是:如果一条路由信息是从X端口学习到的,那么从该端口发出的路由更新报文中将不再包含该条路由
阅读全文
摘要:静态路由 静态路由是指由网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。下面是两个适合使用静态路由的实例。 在图1中,假设Network 1之外的其他网络访问Network 1时必须经过路由器A和路由器B,网管员则可以在路由器A中设置一条指向路由器B的静态路由信息。这样做的好处...
阅读全文
摘要:导读:作者Jean Hsu现就职于Pulse,是一名Android工程师。她近日写了一篇文章《It’s Not Too Late toLearn How to Code》。文中提到了她自己在学习代码的过程中虽然艰辛但却很有收获。她强调,心动不如行动,要将想法实现化。她还为大家推荐了一个Stanford的学习课程,希望对大家能所帮助。现将文章摘译,以下是内容:编程就如一种超能力。通过它,你可以创造出成千上万的人们可以看到的东西;你可以改变人们的行为方式、思想方式及与他人交互的方式。这棒极了,但是,我也见过好多人,他们认为这是一种他们力所不能及的能力。我也见过很多非技术出身的人,他们似乎以为这种超
阅读全文
摘要:1.启动ssh服务root@linuck:/#/etc/init.d/ssh start 2.生成密钥KEY root@linuck:/#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key root@linuck:/#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key root@linuck:/#sshd-generate 本文出自 “ynhu33” 博客,请务必保留此出处http://ynhu33.blog.51cto.com/412835/638834
阅读全文
摘要:source url:http://book.51cto.com/art/200904/121953.htm经过多年的发展,Internet路由选择架构已成为互联网络的分布式系统。如今的Internet规模巨大,涉及众多网络,任何一个组织都无法管理前往全球每个目的地所需的全部路由选择信息。因此,Internet被划分为很多由不同组织和公司单独控制的网络组,这被称为自主系统(AS)。AS是由单个管理机构使用相同的内部路由选择策略控制的一组网络,每个AS都用唯一的AS号(ASN)标识。ASN在Internet机构控制和注册。如图6.15所示,是一组位于同一个AS中的路由器。最常见的AS是ISP。大
阅读全文
摘要:先运行服务器,再运行客户端时得到服务器发送到的hello world!信息.服务器代码:import java.io.*;import java.net.*;public class HelloServer{ public static void main(String args[]) throws IOException { ServerSocket serverSocket = null; PrintWriter out = null; try{ serverSocket = new ServerSocket(99...
阅读全文
摘要:网络并不新鲜。在计算机时代早期,众所周知的巨型机时代,计算机世界被称为分时系统的大系统所统治。分时系统允许你通过只含显示器和键盘的哑终端来使用主机。哑终端很像PC,但没有它自己的CPU、内存和硬盘。靠哑终端,成百上千的用户可以同时访问主机。这是如何工作的?是由于分时系统的威力,它将主机时间分成片,给用户分配时间片。片很短,会使用户产生错觉,以为主机完全为他所用。 在七十年代,大的分时系统被更小的微机系统所取代。微机系统在小规模上采用了分时系统。所以说,并不是直到七十年代PC发明后,才想出了今天的网络。 远程终端计算机系统是在分时计算机系统基础上,通过Modem(调制解调器)和PSTN(公用..
阅读全文
摘要:有图片版本,链接:http://itbbs.pconline.com.cn/network/11361655.html本文纯属本人记录设置过程使用,以免将来需要重新设置的时候给忘记了。。。最近迷上了脱机bt,说实话,现在主流的脱机bt方式无非以下几种:1、自己拼装台bt机,成本大约几百块,优点是方便管理,缺点是麻烦,占地方,耗电,发热量大。。。总体来说还是多台小主机比较占地方。2、买smc那种网络下载机,优点是比较简单实用,缺点是据说下载速度超慢,2m的带宽据说下载速度只有几十kb,满足不了我脱机bt的目的。3、带usb口的支持脱机bt的无线路由,这种貌似比较好,例如刷了dd的或者tomato
阅读全文
摘要:前言:路由器和无线路由器虽然普及得很快,大伙用得也很方便,但还是有很多刚接触路由器的朋友,不懂得如何设置路由器,毕竟它不是跟非网管交换机一样,插上即可用。而厂商一般都配有说明书,有些却不够简明,过于复杂,有些虽然提供了傻瓜化的安装向导,但在设置的定制化方面显然无法体现。今天,我们就用最浅显易懂的图文并茂的方式表达出来,希望对菜鸟朋友们有点帮助。1.将TP-LINK无线路由器通过有线方式连接好后,在IE输入192.168.1.1,用户名和密码默认为admin,确定之后进入以上设置界面。 打开界面以后通常都会弹出一个设置向导的小页面,如果有一定经验的用户都会勾上“下次登录不再自动弹出向导”来直接.
阅读全文
摘要:@Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1>可以当注释用,方便阅读 2>编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错 比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法) 使用该标记是为了增强程序在编译时候的检查,如果该方法并不是一个覆盖父类的方法,在编译时编译器就会报告错
阅读全文
摘要:转自:http://network.51cto.com/art/200511/11042_2.htm近十年来,随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最 重要的网络设备。用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型 的网络资源。而在目前的情况下,任何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以大网技术、FDDI技术,还是 ATM技术,都离不开路由器,否则就无法正常运作和管理。 1.网络互
阅读全文
摘要:新闻来源:雷锋网我们大家都熟知的UNIX之父,同时也是C语言支之父丹尼斯·里奇(Dennis MacAlistair Ritchie)在上周离开了大家。但是,他对计算机科学及相关领域的的影响之大,甚至可与计算机之父图灵以及最近去世的乔布斯齐名(虽然会有一些争议,但历史告诉我们的确就是这样。 UNIX ,是一个强大的多用户、多任务操作系统,支持多种处理器架构。UNXI是这样发展而来的,当时UNIX开发者之一的Ken Thompson开发了一个叫Space Travel的游戏,在MULTICS上运行后他发现这个游戏速度很慢,价格昂贵,当时要花75美金来运行,那时候的75美金是一笔不小的数
阅读全文
摘要:source url:http://www.pmwiki.org/wiki/PmWikiZhCn/BasicEditing这个网站上的页面是WikiWikiWeb网页,意味着(几乎)任何人都可以任意建立和编辑页面。 想要编辑正在浏览的页面,只需点一下页首或页尾的「编辑」的连结。 有些页面可能有password(en)密码保护,网站管理员如何来设定系统,但是许多 WikiWikiWeb 系统允许任何人「开放共同编辑」所有的页面。进入编辑画面後,会见到描述本页面内容的 markup text。编辑页面的基本规则非常简单:段落之间以空行分隔.编辑列表:#为有序列表,*为无序列表.标题字体:在行前面加
阅读全文
摘要:Andrew Huangbluedrum@163.com 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程。TCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立
阅读全文
摘要:Pmwikihttp://www.pmwiki.org/wiki/PmWikiZhTw/PmWikiZhTw幾個我喜歡的模板QUOTE:http://www.pmwiki.org/wiki/Cookbook/ABitModernSkinhttp://www.pmwiki.org/wiki/Cookbook/AlalikeSkinhttp://www.pmwiki.org/wiki/Cookbook/LeanSkinhttp://www.pmwiki.org/wiki/Cookbook/NotSoSimpleSkinhttp://www.pmwiki.org/wiki/Cookbook/Simp
阅读全文
摘要:文件传送协议FTP: File Transfer Protocol 是因特网上使用得最广泛的文件传送协议。提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。FTP屏蔽了各计算机系统的细节,可在异构网络中任意计算机之间传送文件。 FTP基于TCP,TFTP基于UDP,是文件共享协议的一大类,即复制整个文件。其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。若要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回原节点。 文件共享协议的另一大类是联机访问。联机访问意味着允许多
阅读全文
摘要:域名系统DNS: Domain Name System 一种分布式的网络目录服务,主要用于域名与IP地址的要互转换。 使用UDP协议35端口进行通信。工作方式:为了将一个域名映射到一个IP地址,应用程序调用一个称为解析器的程序,将域名作为参数传送给该程序;解析器将域名封装到一个UDP包中,发送给本地域名服务器;域名服务器将域名映射到IP地址,将IP地址封装到一个UDP包中,发回给解析器,解析器再将IP地址返回给调用者。有了这个IP地址,应用程序就可以与目的方建立一个TCP连接或者发送一个UDP包。DNS的域名解析服务有两种:正向域名解析和逆向域名解析。域名解析的方式有两种:递归解析、反复解析。
阅读全文
摘要:UDP User Datagram Protocol 用户数据报协议TCP Transmission Control Protocol 传输控制协议UDP:向应用层提供无连接的、不可靠的数据通信服务。端系统使用UDP协议相互通信时,UDP协议只负责将应用程序传输人传输层的数据发送出去,但是并不保证它们能到达。如果传输中数据出错,UDP协议不负责重传,而由更高层负责。当数据正确到达后,接收端不负责确认,交由更高层负责。1.UDP具有以下几个特性: <1>. UDP信息包的头标很小,只有8字节,相对于TCP的最小20字节的头标而言,传输开销更小。 <2>.UDP是一个无连接
阅读全文
摘要:IP地址与硬件地址物理地址是数据链路层和物理层使用的地址。IP地址则是网络层和以上各层使用的地址,是一种逻辑地址。IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。数据链路层看不见数据报的IP地址。数据在网络传输时, <1>. 在IP层抽象的互联网上只能看到IP数据报 <2>. 路由器只根据目的站的IP地址的网络号进行路由选择。 <3>. 在局域网的链路层,只能看见MAC帧。 在不同网络上传送时,MAC帧首部中的源地址和目的地址要发生变化。 <4>. IP层抽象的互联网却屏蔽了下层这些复杂的细节。-------------------
阅读全文
摘要:1. 前言整个的因特网就是一个单一的、抽象的网络。而IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址的结构使我们可以在因特网上很方便地进行寻址。但是,根据TCP/IP协议的规定的IP地址是由32位二进制数组成的,例如:11010010 01001001 10001100 00000010,很显然,这些数字对人来说不非常不方便的。人们为了方便记忆,就将组成算机机的IP地址的32位二进制分成四段,每段8位,中间用小数点隔开,然后将每八位二进制转换成十进制数,这样上述计算机的IP地址就变成了:210.73.140.2。这是点分十进制表示法
阅读全文
摘要:因特网向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺。网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的因特网标准协议之一。IP协议是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的数据报传送服务。不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。 IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP有一个简单的错误处理算法:丢弃该数据报,然后发送 ICMP消息报给信源端。任何要求的可靠性必须由上层来提
阅读全文
摘要:三层交换机和路由器都工作在网络的第三层,根据IP地址进行数据包的转发。许多网管员朋友对两者的区别不是很清楚,本文将简单介绍这两种技术及它们之间的区别。路由技术路由器内部有一个路由表,标明了如果要去某个地方,下一步应该往哪走。路由器从某个端口收到一个数据包,它首先把链路层的包头去掉(拆包),读取目的IP地址,然后查找路由表,若能确定下一步往哪送,再加上链路层的包头(打包),把该数据包转发出去;如果不能确定下一步的地址,则向源地址返回一个信息,并把这个数据包丢掉。三层交换技术三层交换是相对于传统交换概念而提出的。传统的交换技术是在OSI网络标准模型中的第二层—数据链路层进行操作的,而三层交换技术是
阅读全文
摘要:我们先要了解一下pmwiki的特性,是什么特性让我选择了pmwiki。pmwiki是一个基于文本的wiki程序,对系统的要求很低,一般支持PHP的空间就可以了,官方的说法是:PHP 4.1.x 以上; 能运行在安全模式. PHP5需要在php.ini中禁止 MMCache。数据存储采用文本,能处理数以千计的页面。升级方便,只要拿新版本的文件覆盖就可以了。pmwiki的最主要特点是:风格或者说是皮肤更改方便,官方提供了很多皮肤,自己修改或者制作也很方便。完善的权限控制功能,每个页面或组都可以设定密码,以及指定浏览、修改权限。超过200个功能扩展插件,官方称之为“cookbook”。总之你可以把它
阅读全文
摘要:转自:http://www.cnblogs.com/yuteng/articles/1904215.html我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号
阅读全文
摘要:几种去除^M的方法1、 cat filename1 | tr -d "\r" > newfile2、 sed -e "s/^V^M//" filename > outputfilename3、vi: 用vi打开文件1. 按ESC键2. 输入 :%s/^M//g (wenhao测试此方式可用)确定 ^M是使用 "CTRL-V CTRL-M" 而不是字面上的 ^M。这个正则式将替换所有回车符前的 ^M为空($是为了保证^M出现在行尾)4、一些linux版本有 dos2unix 程序,可以用来祛除^M5、用vim输入 :set
阅读全文
摘要:转自:http://www.ibm.com/developerworks/cn/linux/l-sockpit/在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。本文识别那些隐患并向您显示如何避开它们。隐患 1.忽略返回状态第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分成功的时候,您也许会迷失。反过来,这可能传播错误,使定位问题的源头变得困难。捕获并检查每一
阅读全文
摘要:转载自 分享最终编辑 金秋奇子在进行linux网络编程时,每次修改了源代码并再次编译运行时,常遇到下面的地使用错误:Bind error: Address already in use虽然用Ctrl+C强制结束了进程,但错误依然存在,用netstat -an |grep 5120和ps aux |grep 5120都还能看到刚才用Ctrl+C“强制结束”了的进程,端口还是使用中,只好每次用kill结束进程,很是麻烦。昨天晚上无意间浏览到IBM网站上的一篇题为《Linux 套接字编程中的 5 个隐患》的文章,恍然大悟,今天试了一下,果然解决问题,在此表示感谢,也希望更多的coder看到这篇文章,
阅读全文
摘要:1.1 环境要求本文读者需要熟悉C++、TCP/IP、Socket编程、MFC,和多线程。源码使用Winsock 2.0和IOCP技术,要求:Windows NT/2000或以上:要求Windows NT3.5或以后版本Windows 95/98/ME:不支持Visual C++.NET,或完整更新过的Visual C++ 6.01.2 摘要当 你开发不同类型的软件,你迟早必须处理C/S的开发。对一个程序员来说,写一个通用的C/S编码是一项困难的工作。本文档提供了一份简单但是功能强大的C /S源码,可以扩展到任何类型的C/S应用程序中。这份源码使用了高级的IOCP技术,该技术可以高效的服务于多
阅读全文
摘要:1.1 RequirementsThe article expects the reader to be familiar with C++, TCP/IP, socket programming, MFC, and multithreading. The source code uses Winsock 2.0 and the IOCP technology, and requires: Windows NT/2000 or later: Requires Windows NT 3.5 or later.Windows 95/98/ME: Not supported.Visual C++ .
阅读全文
摘要:1、单线程/阻塞/同步模型适用范围:单一连接缺点:多连接时相互影响,一个阻塞,别的也得不到响应2、多进程/阻塞/同步模型适用范围:连接数较少,且使用的资源较多,比如文件操作缺点:系统进程数有上限,不适用大量并发连接,且进程间切换开销较大3、多线程/阻塞/同步模型适用范围:连接数较少,且使用系统资源不多,可多个线程共享缺点:系统线程数有上限,不适用大量并发连接,且线程间的需要保护4、单线程/非阻塞/同步模型特征:强行逐个连接轮询处理,没有探测适用范围:连接数较少缺点:需要处理数据的拼接,且凭空占用资源,CPU高5、select事件驱动模型(单线程/阻塞/同步模型/先探测后处理/挂起式阻塞)特征:
阅读全文
摘要:RFC:0.0.0.0/8 - Addresses in this block refer to source hosts on "this"network. Address 0.0.0.0/32 may be used as a source address for thishost on this network; other addresses within 0.0.0.0/8 may be used torefer to specified hosts on this network ([RFC1122], Section 3.2.1.3).因此,根据RFC文档描述
阅读全文
摘要:如何读懂路由表 源码:-------------------------------------------------------------------------------- Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.88 1 0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.68 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
阅读全文
摘要:重要提示:做为一名开发人员,整天和网络打交道,学习一些网络的基础知识,有益于提升个人专业技能。另外本文仅介绍网络知识,和番墙无关,请圣上明查,下面为正文内容。五一快来了:原来是打算发布 CYQ.Data 的V5版本或者写爱说说的相关技术文章,后来想了想,也不和大伙纠结专业技术性问题。今天就把一篇封存多年的草稿文章给写完了,和大伙说点不太技术的事情。如果你有两个网卡,一个本地网卡一个无线网卡,两个都拔号上网了,那你知道你上网是通过哪个网卡上的不?如果你有一个本网卡,又拔了VPN到服务器,两个都拔号上网了,那你又知道你上网是通过哪个网卡的不?不知道,往下看,下面内容涉及到路由表及网关,为您实例讲解
阅读全文
摘要:一、准备工作 1、软件下载和安装 最主要的就是安装好Mysql+apache+PHP 测试apache能够解析index.php文件后就可以。 mysql安装好后: adduser wiki #给系统加wiki用户 passwd wiki #修改wiki用户密码 给wiki建立数据库: # mysql –u root –p Enter password: xxxxxxxxx Your Mysql connection id。。。。 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. My...
阅读全文
摘要:原文地址:http://blog.cnlidc.com/?p=951、下载最新版的 pmwiki程序 下载地址:http://www.pmwiki.org/pub/pmwiki/pmwiki-latest.zip 下载中文程序包 下载地址:http://www.pmwiki.org/pub/pmwiki/i18n.zip2、解压pmwiki-latest.zip到相应的目录,如/wiki下。 其实现在已经完成了PmWiki的安装,pmwiki.php是他的首页。在浏览其中输入http://[wiki文件夹]/pmwiki.php 就可访问PmWiki了。3、使用官方提供的语言包汉化Pm...
阅读全文
摘要:第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有
阅读全文
摘要:可以在windows下,运行 cmd.输入:ping -f -l 1472 172.20.223.74 如果可以ping通的话,就表示这个1472大小的包不用折包.则表示,主机172.20.223.74支持最大的包大小为:1500(1472+28)标准以太网帧就是 1518 字节,除去 14 字节以太网头和 4 字节 CRC 校验是 1500,正好是 MTU 值
阅读全文
摘要:网络参数设置命令 所有时刻如果你想要做好自己的网络参数设置,包括IP参数、路由参数和无线网络等,就得要了解下面这些相关的命令才行。其中Route及ip这两条命令是比较重要的。当然,比较早期的用法,我们都是使用ifconfig的。? ifconfig:查询、设置网卡和IP网段等相关参数。? ifup、ifdown:这两个文件是Script,通过更简单的方式来启动网络接口。 ? Route:查询、设置路由表(Route table)。? ip:复合式的命令,能直接修改上述命令提到的功能。ifconfig、ifup、ifdown这3个命令的用途都是启动网络接口,不过,ifup和ifdown仅就 /e
阅读全文
摘要:每年夏季是雷雨多发季节,容易出现家用电脑因而雷击造成电脑硬件的损坏和通讯故障,为了避免这种情况的的发生,保护您的财产不受损失(一般雷击照成损坏的设备是没得保修的),建议您继续阅读下面内容: 雷击一般分为直击雷和感应雷,建筑物安装避雷针只能防范直击雷,而感应雷则通过外部相连的线路危害室内的家用电器,特别是电脑。因此,雷雨天注意防雷是必要的。下面的防雷方法供大家参考: 1、要注意经常定期检查电脑所使用的接地线。大多数电脑的外壳几乎都与这条接地线相连,其主要目的是对人身安全起保护作用,此外地线还可以消除静电对设备的影响。 2、电脑与建筑物的外墙及柱子要保持一定距离。特别是城市内的高层建筑,柱内有..
阅读全文
摘要:流行的第三方路由固件,主要有DDWRT,Tomato,Openwrt 当然还有其他一些更加小众的版本,和很多从这三大固件衍生出来的修改版固件 我的这篇文章,可以让大家对这些固件有一个相对比较全面的理解 当然,真正怎么样还需要大家亲自去体验,觉知此固件要躬行 帖子有点长,没有耐心的朋友可以无视, 但是这绝对是我个人在恩山一年左右时间对这些固件和固件相关的一些东西的见解和心得体会 , 对于玩路由而对这些又还不是很了解的朋友来说,会有些帮助, 有兴趣的就倒杯茶慢慢看, 觉得后面写的好的,就回个帖吱一声,让我觉得没白写, 觉得不好的,也可以给我点意见建议,不胜感谢 在这里告诉大家一个小技巧 可能很多.
阅读全文
摘要:现在已经从软件项目管理的职位上变换到 SE,即:系统架构师的位置上。两年的项目管理经验和实践,已经表明自己是一名出色的项目经理。现在我要更上一层楼,成为一名出色的系统架构师。但目前应该来说还不在状态,好在刚刚开始,要不断地调试,使自己掌握这个职位的要求。这就要求进入的时候姿态一定要低些,虚心学习,勇敢的表现自己,这样很快自己就会脱颖而出的。系统架构师是软件的金领,但真正成器者聊聊无几,要好好规划一下。1)要有扎实的软件基本功,知识面要广。2)要有系统设计能力,多分析问题,特别是分析思路要重视。不光要懂得设计是什么,更要告诉客户,这样的设计的好处是什么?为什么要这样设计?3)看看这方面的书。看看
阅读全文
摘要://声明Hello接口interface Hello { public void sayhello();}//声明World接口interface World{ public void sayworld();}//定义类Student,继承Hello,World接口class Student implements Hello,World{ //复写两个接口 public void sayhello() { System.out.print("hello"); } public void sayworld() { Sys...
阅读全文
摘要:JAVA中extends 与implements有啥区别?1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一个或者多个接口。extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口
阅读全文
摘要:alpha 处理器 Alpha 处理器最早由美国DEC 公司设计制造,在Compaq (康柏)公司收购DEC 之后,Alpha 处理器继续得到发展,并且应用于许多高档的Compaq 服务器上,HP (惠普)收购的Compaq ,Alpha 便为HP(惠普)所有,不过HP (惠普)已经放弃发展alpha 处理器。arm 处理器 Arm 系列处理器 是英国Arm 公司设计的主流嵌入式32 位RISC 处理器,Arm 公司不直接生产Arm 处理器,而是采用IP 授权的方式由第3 方开发生产,著名的公司如Ti 、Samsung 等都有出品Arm 处理器。目前在手机领域广泛应用。avr32 处理器 Av
阅读全文
摘要:1. 方法重载与方法复写的区别区别方法重载方法复写英文单词OverloadingOverride概念方法名称相同,参数的个数或者类型不同方法名称相同,参数的个数和类型相同,方法的访问权限不能更严格使用范围发生在同一个类中发生在继承关系中,是由子类进行复写2. super与this的比较比较superthis使用范围是由子类访问父类中的内容是直接访问本类中的内容访问属性时的格式super.父类属性, 如果属性没有被复写,则也可以不写superthis.本类属性访问方法时的格式super.父类方法(),如果父类方法没有被复写,则可以不写super也表示调用父类中的方法this.本类方法(),可以不
阅读全文
摘要:在面向对象开发程序中会出现重载与复写这二个概念那么他们的区别是什么呢1.从概念上面来讲重载: 方法名称相同,参数类型 个数不同复写:方法名称相同,权限尽量相同,参数类型个数相同2.从范围上面来讲重载:出现在同一个类当中复写:出现在继承关系中本文出自 “38°仰望” 博客,请务必保留此出处http://suxiangjuner.blog.51cto.com/353064/199449
阅读全文
摘要:学习目的:1、掌握在Android中如何建立RadioGroup和RadioButton2、掌握RadioGroup的常用属性3、理解RadioButton和CheckBox的区别4、掌握RadioGroup选中状态变换的事件(监听器)RadioButton和CheckBox的区别:1、单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中2、一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个3、RadioButton在大部分UI框架中默认都以圆形表示 CheckBox在大部分UI框架中默认都以矩形表示R
阅读全文
摘要:1、掌握在Android中如何建立EditText2、掌握EditText的常用属性3、掌握EditText焦点的事件、按键的事件(监听器)介绍:EditText是接受用户输入信息的最重要控件。通过前面课程的学习,您可能会猜到可以利用EditText.getText()获取它的文本,但真正的项目中,可能没那么简单,需要更多的限制,如文本长度限制,是否数字限制等等。鉴于手机屏幕尺寸有限,您可能总想着如何节约控件。在每个用户需要填写内容的文本框的左边加上标题在PC上是一种优雅的方法,但在手机上就会显的浪费,因此本例我们将学习如何利用一个EditText达到所有的效果:请注意第一个文本框,其他控件只
阅读全文
摘要:说明:本教程来源于http://www.cnblogs.com/wt616/转载请标注该链接学习目的:1、掌握在Android中如何建立Button2、掌握Button的常用属性3、掌握Button按钮的点击事件(监听器)Button是各种UI中最常用的控件之一,它同样也是Android开发中最受欢迎的控件之一,用户可以通过触摸它来触发一系列事件,要知道一个没有点击事件的Button是没有任何意义的,因为使用者的固定思维是见到它就想去点!先看下Android中普通Button的样子:以及点中Button后的样子:我在Android控件系列之XML静态资源中已经强调了布局和代码分离的重要性,因此
阅读全文
摘要:说明:本教程来源于http://www.cnblogs.com/wt616/转载请标注该链接学习目的:1、了解在Android中如何设置和调用XML资源2、掌握如何利用XML和JAVA代码进行协同开发界面3、理解R文件的作用开发Android时,总能看到一个系统自动生成的R.java文件:您必须了解一下几个要点:1、R.java是自动生成的,并且强烈建议您不要去手动修改其中的代码。2、R类中的若干个内部类的名字和Android项目中的res文件下的子文件名字一致(除了drawable自动分为了高中低3个等级):您的项目中可能不是如上图中的文件或代码,但它们一定符合上述的规则3、这些内部类中的静
阅读全文
摘要:JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。 JDK包含的基本组件包括:
阅读全文
摘要:函数名: abort 功 能: 异常终止一个进程 用 法: void abort(void);程序例: #include <stdio.h> #include <stdlib.h> int main(void) { printf("Calling abort()\n"); abort(); return 0; /* This is never reached */ }
阅读全文
摘要:有时候关闭软件后,后台进程死掉,导致端口被占用。下面以JBoss端口8083被占用为例,列出详细解决过程。解决方法:1.查找被占用的端口netstat-tlnnetstat-tln|grep8083netstat -tln 查看端口使用情况,而netstat -tln | grep 8083 则是只查看端口8083的使用情况2.查看端口属于哪个程序?端口被哪个进程占用lsof-i:80833.杀掉占用端口的进程kill-9进程id 转自:http://taoistwar.iteye.com/blog/701704
阅读全文
摘要:Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述, 也算是我对Cookie的认识总结。Cookie 概述Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。为什么需要Cookie? 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分 是不是来源于同一个浏览器。所以,需要
阅读全文
摘要:这个MAC对照表资源是从wireshark源码中获取的。每块网卡都有一个MAC地址,MAC地址是一个6字节、也即48bit的数据。前3字节称为OUI,是由IEEE组织注册给网络设备生产商的;每个厂商拥有一个或多个OUI,彼此不同。后三字节则是由网络设备生产商分配给自己生产的每一个拥有MAC地址的设备,互不重复。原理就是根据MAC地址前3字节来判断的,前3个字节、对应制造商的名称此TXT资源是MAC前3字节与对应制造商的名称的对应关系表,如下所示:000000 Xerox000001 Xerox000002 Xerox000003 Xerox000004 Xerox000005 Xerox000
阅读全文
摘要:下载了ANDROID3的SDK(revision 10)的,但是使用的ADT是0.9.6那个版本的,结果在ECLIPSE中使用“Android SDK and AVD Manager”的时候,产生了如下的错误:“Could not find SDK_Root\tools\adb.exe”。因为新版本的ANDROID的 adb.exe 是存在于“platform-tools”文件夹下面的,而非以前的“tools”文件夹。谷歌了一下,发现有些解决方法说:先安装一个低版本的SDK(比如,1.5),然后慢慢升级至最新。但觉得最直接的方法是:升级ADT的版本,升级最新的10.0.0版本即可。Andr..
阅读全文
摘要:比较常用的Eclipse开发Android的快捷键:自动补充import Package Ctrl+Shift+O,这里O代表Organize Import的意思;格式化代码缩进 Ctrl+Shift+F,这里面我们可以记忆F为Format格式化的意思; 快速查找代码 Ctrl+F;撤消到上一次 Ctrl+Z;智能内容感知 Alt+/ ,该快捷键可以方便的匹配我们使用的类信息,/ 在键盘上和?是同一个按键;调用运行Run As对话框可以使用 Ctrl+F11,如果为Debug调试方式可以直接使用 F11 生成一个板块注释 Alt+Shift+J ,单行注释为 Ctrl+/;在一个类中查找方法
阅读全文
摘要:转自:http://www.cnblogs.com/cheney23reg/archive/2010/08/19/1803474.html 有图片.这几天看到了几个不错的Android 上的应用,心痒痒,也想探索一下Android 的世界,于是决心学习一下Android 的开发技术。 :) 接下来当然是搭建Android 的开发环境啦,步骤如下: 1. 安装JDK。注意这里只是安装JRE是不行的,需要安装JDK 笔者是去 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载了 JDK 6 Update 20。
阅读全文

浙公网安备 33010602011771号