摘要: 数组是应用最广泛的数据存储结构。它被植入到大部分编程语言中。由于数组十分易懂,所以它被用来作为介绍数据结构的起步点,并展示面向对象编程和数据结构之间的相互关系。一、数组的基础知识1.创建数组 Java中有两种数据类型:基本类型(如int和double)和对象类型。在许多编程语言中(甚至有些面向对象语言,如C++),数组也是基本类型,但在Java中把它们当作对象来对待,因此在创建数组时必须使用new操作符: int[] intArray; // defines a reference to an array intArray = new int[100]; //... 阅读全文
posted @ 2013-05-27 23:37 Innosight 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 假设让棒球队队员在运动场上排列成一队。九个正式的队员加一个替补已经站好,准备练习。现在需要按身高从低到高为队员们排队(最矮的站在左边),给他们照一张集体照。应该怎样排序呢? 在排序这件事上,人与计算机程序相比有以下优势:我们可以同时看到所有的队员,并且可以立刻找出最高的一个,而不用费力地测量和比较每个人的身高。而且,队员们不一定要固守特定的空间,他们可以相互推推搡搡就腾出了位置,还能互相前后站立。经过一些具体的调整,就可以毫不费力地给队员们拍好队。 计算机程序却不能像人这样通览所有的数据。它只能根据计算机的“比较”操作原理,在同一时间内对两个队员进行比较。算法的这种“管视”... 阅读全文
posted @ 2013-05-27 23:27 Innosight 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 何谓绑定? 绑定是指将一个方法的调用和该方法所在的方法主体(类)关联起来。对于java而言,绑定分为静态(前期)绑定和动态(后期)绑定。静态绑定:在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。如:C语言动态绑定:在程序运行时根据具体对象的类型进行绑定。 如果一种语言实现了动态绑定,同时必须提供一些机制,可在运行期间判断对象的类型,并分别调用适当的方法。也就是说,编译器此时依然不知道对象的具体类型,但方法调用机制能自行去调查,找到正确的方法主体。不同的语言对动态绑定的实现方法也是不同的。但至少可以这样认为:它们都要在对象中安插某些特殊类型的信息。动态绑定过程:1. 虚拟... 阅读全文
posted @ 2013-05-27 23:19 Innosight 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收包含的内容不少,但顺着下面的顺序捋清知识也并不难。首先要搞清垃圾回收的范围(栈需要GC去回收吗?),然后就是回收的前提条件如何判断一个对象已经可以被回收(这里只重点学习根搜索算法就行了),之后便是建立在根搜索基础上的三种回收策略,最后便是JVM中对这三种策略的具体实现。一、范围(要回收哪些区域?) Java方法栈、本地方法栈以及PC计数器随方法或线程的结束而自然被回收,所以这些区域不需要考虑回收问题。Java堆和方法区是GC回收的重点区域,因为一个接口的多个实现类需要的内存不一样,一个方法的多个分支需要的内存可能也不一样,而这两个区域又对立于栈可能随时都会有对象不再被引用... 阅读全文
posted @ 2013-05-27 23:14 Innosight 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 一、DNS轮循 DNS轮循是指将相同的域名解释到不同的IP,随机使用其中某台主机的技术。但其具有明显的缺点:一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。DNS负载均衡采用的是简单的轮循负载算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。二、F5 BIG-IP 简介:F5 Networks 公司的著名硬件负载均衡交换机。支持硬件四层、七层交换。不同的型号性能不同,BIG-IP 6400.. 阅读全文
posted @ 2013-05-27 22:37 Innosight 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 前言:最近一直在对比测试F5 BIG-IP和Citrix NetScaler负载均衡器的各项性能,于是写下此篇文章,记录F5 BIG-IP的常见应用配置方法。 目前,许多厂商推出了专用于平衡服务器负载的负载均衡器,如F5 Network公司的BIG-IP,Citrix公司的NetScaler。F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速... 阅读全文
posted @ 2013-05-27 22:23 Innosight 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229黑剑 黄蓉见那汉子左手使柄金光闪闪的大刀,右手使柄又细又长的黑剑,招数奇幻,生平未见,自己若不出手,武氏兄弟便要遭逢奇险,向李莫愁道:“那两个少年是我徒儿。”李莫愁涩然一笑,心想:“他们母亲是我杀的,我岂不知?”见那中年汉子武功高得出奇,江湖上却从未听说有这号人物,心下暗自惊异,微微一笑,道:“下场罢!”拔出拂尘一拂,黄蓉也已持竹棒在手。两人左右齐上,李莫愁拂尘攻那人黑剑,黄蓉的竹棒便缠向他金刀。 今天我们学习如何利用Android平台“黑剑”AutoCompleteTextView... 阅读全文
posted @ 2013-05-27 22:22 Innosight 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 本节我们学习XML解析,在Android程序中,Xml解析与Java中几乎相同,最常用的有SAX,DOM,Pull三种解析方式。Android中内置的是Pull解析方式,因此Pull解析也就成为Android推荐的解析方式。接下来我们分别针对这三种XML解析方式进行讲解。1SAX(Simple API for XML) SAX是基于事件驱动的模型。通俗的讲就是XML文件在加载的过程中,加载到不同节点会相应地触发不同方法来处理。它属于一次加载,可以处理任意大小的XML文件,它对内存的... 阅读全文
posted @ 2013-05-27 22:01 Innosight 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291布局(Layout) 简单的说,Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,都会在AndroidManifest.xml中指定一个主的Activity,如下设置: 为了适应各种界面风格,Android提供了5种布局,这5种布局分别是:FrameLayout(框架布局)、LinearLayout(线性布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、Absol... 阅读全文
posted @ 2013-05-27 21:46 Innosight 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_12291异常抛出与捕捉规则1.1任何抛出异常的方法必须先声明异常{ // Constructor public MyClass( String name ) throws NullPointerException, llegalArgumentException { ... } }1.2异常声明后,调用异常对象的构造器抛出异常public MyClass( String name ) throws NullPointerException, IllegalArg... 阅读全文
posted @ 2013-05-27 21:40 Innosight 阅读(594) 评论(0) 推荐(0) 编辑