对象数组

[JSON]JavaScript 和 .NET 中的 JavaScript Object Notation (JSON) 简介

感情迁移 提交于 2020-02-18 15:04:17
原文地址:http://msdn.microsoft.com/zh-cn/library/bb299886.aspx#intro_to_json_topic3 Atif Aziz,Scott Mitchell 2007 年 2 月 适用于: JSON Ajax 摘要: 本文 JavaScript Object Notation(或 JSON),即一种开放式和基于文本的数据交换格式,它提供了一种标准数据交换格式,更适用于 Ajax 样式的 Web 应用程序。(打印共 22 页) 目录 简介 了解 JavaScript 中的文字表示法 比较 JSON 与 XML 使用 JavaScript 创建和分析 JSON 消息 在 .NET Framework 中使用 JSON 结论 参考资料 下载本文中所用的源代码 。 简介 在设计要与远程计算机进行通信的应用程序时,必须选择一种数据格式和交换协议。有多种开放式标准方案可供选择,而最理想的选择取决于应用程序需求和已有的功能。例如,基于 SOAP 的 web 服务格式化数据的方式是将 XML 负载封装到 SOAP 信封中。 XML 对于许多应用场合非常好用,但在另外一些情况下则存在缺陷,使用不太理想。XML 通常使用效果不太理想的领域之一是 Ajax 风格的 web 应用程序。Ajax 是用于构建交互式 web 应用程序的技术

JavaScript垃圾回收机制

六月ゝ 毕业季﹏ 提交于 2020-02-18 03:36:51
一、垃圾回收的必要性   下面这段话引自《JavaScript权威指南(第四版)》   由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用,否则,JavaScript的解释器将会消耗完系统中所有可用的内存,造成系统崩溃。   这段话解释了为什么需要系统需要垃圾回收,JS不像C/C++,他有自己的一套垃圾回收机制(Garbage Collection)。JavaScript的解释器可以检测到何时程序不再使用一个对象了,当他确定了一个对象是无用的时候,他就知道不再需要这个对象,可以把它所占用的内存释放掉了。例如: var a = "before"; var b = "override a"; var a = b; //重写a   这段代码运行之后,“before”这个字符串失去了引用(之前是被a引用),系统检测到这个事实之后,就会释放该字符串的存储空间以便这些空间可以被再利用。 二、垃圾回收原理浅析   现在各大浏览器通常用采用的垃圾回收有两种方法:标记清除、引用计数。 1、标记清除   这是javascript中最常用的垃圾回收方式。当变量进入执行环境是,就标记这个变量为“进入环境”

collection(list,set,map)、HashMap

断了今生、忘了曾经 提交于 2020-02-18 02:53:39
collection里面有什么子类?(list和set是实现了collection接口的。)   List: 1.可以允许重复的对象(可重复,有序集合)。 2.可以插入多个null元素。 3.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。 ———————————————— Set: 1.不允许重复对象(不可重复,无序集合)。 2 只允许一个 null 元素 3.Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 实现的 HashSet;TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和 compareTo() 的定义进行排序的有序集合。而且可以重复。 ———————————————— Map: 1.Map不是collection的子接口或者实现类。Map是一个接口。 2.不允许重复元素。 3. Map 里你可以拥有随意个 null 值但只能有一个 null (key)键。 4. Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable

HashMap 实现原理及源码分析

偶尔善良 提交于 2020-02-18 00:43:39
HashMap是JDK中非常重要的容器,采用 数组 + 链表 的方式实现,理想情况下能支持 O(1) 时间复杂度的增删改查操作。本文将由浅入深地讲解哈希表的实现原理,并对HashMap的部分源码进行分析。 1. 从数组说起 数组应该是我们最先学习的数据结构,它是内存中一块连续的存储单元,因此计算机可以根据数组起始地址、元素长度和下标,计算出我们要访问的元素的地址,时间复杂度为 O(1) 。 以下代码定义了一个简单的 Student 类,假如我们要存储 20 个 Student 对象,我们希望能够在 O(1) 时间复杂度内,根据 studentID 找到相应的对象。 public class Student { public int studentID; public String name; public Student(int studentID, String name) { this.studentID = studentID; this.name = name; } } 如果我们要存储的 20 个 Student 对象的 studentID 刚好就是从 0 到 19,我们自然可以新建一个长度为 20 的 Student 数组 students,然后将对象的 studentID 作为数组下标,放到对应的 slot 里面,如下图所示。这样的话,如果我们想找 studentID

java基础加强

陌路散爱 提交于 2020-02-17 22:57:44
java程序的执行过程 编写java程序 编写完的java程序,进行保存时自动将.java文件编译成.class文件 先启动虚拟机,虚拟机加载字节码对象.class文件,进行这个类的main方法开始执行 数据类型 基本数据类型 类型 描述 byte 占1个字节,范围-127-128,-2 7 到2 7 -1 short 占2个字节,范围-2 15 到2 15 -1 int 占4个字节,范围-2 31 到2 31 -1 long 占8个字节,范围-2 63 到2 63 -1 float 占4个字节,单精度 double 占8字节,双精度度 char 占2字节 boolean 占1字节 引用数据类型 基本类型的字面值规则 整数的字面值是int类型 byte、short、char三种比int小的整数,可以用范围内的值可以直接赋值 浮点数字字面值,是double类型 字面值的后缀:L表示long,F表示float,D表示double类型 字面值的前缀:0b表示二进制,0表示八进制,0x表示十六进制,\u表示char16机制 基本类型的运算规则 计算结果的数据类型,和算项的最大类型保持一致 byte、short、char三种比int小的整数,运算时自动转化成int 整数运算溢出 浮点数计算不精确 浮点数的特殊值: Java基础 1.验证JDK是否安装成功的命令: Echo %JAVA

【翻译】C#编程语言和JAVA编程语言的比较(上)

僤鯓⒐⒋嵵緔 提交于 2020-02-17 15:56:34
原文地址: http://www.25hoursaday.com/CsharpVsJava.html 简介 C#语言是一门面向对象的语言,开发者可以使用C#和微软.NET平台快速构建各种应用程序。C#和.NET平台的目标是把开发者从一些诸如内存管理、类型安全问题、底层类库、数组边界检查等等的底层问题中解放出来并节约大量的时间,这样开发者就可以真正把时间和精力放在他们的应用程序和业务逻辑上。对于Java开发者来说,把前面那句话的开头改为“Java语言和平台”,这句话也同样可以总结Java语言和平台。 后面的内容介绍了C#和Java编程语言的异同,这些都是基于我使用两个语言的经历。所有代码都经过微软.NET框架2.0以及Java SE 6的测试。 注意:作者有些代码不符合.NET 3.5或JAVA SE 7(或以上)版本的最佳实践写法并且也不能覆盖它们所提供的新语法和新特性,但不影响本文的重点也就是平台的比较。 第一部分:C#和JAVA基本一致的地方 1、我们都是Object C#的类层次中有一个根,也就是所有C#的类都是System.Object的子类,Java也是这样,所有类都是java.lang.Object的子类。两个语言的Object类的方法有些相同(比如System.Object的ToString()和java.lang.Object的toString()),也有一些不同

FileInputStream/FileOutputStream

这一生的挚爱 提交于 2020-02-17 10:23:59
这是一对继承于InputStream和OutputStream的类,用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象); 本地文件读写编程的基本过程为: ① 生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类); ② 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等)读写文件内容; ③ 关闭文件(close())。 实例:流文件读写 流文件的单元是字节,所以它不但可以读写文本文件,也可以读写图片、声音、影像文件,这种特点非常有用,因为我们可以把这种文件变成流,然后在网络上传输。 问题是有了通用的流文件以后,为什么还要专门的字符流呢?这是因为文本可以用不同的方式存储,可以是普通的文本(UTF-8编码方式),ASCII文本和Unicode文本,字符流对象可以进行必要的转换,从而读出正确的文本。 有人认为流文件不能读写文本文件,这其实是个误会,因为文本文件本质上也是由字节组成的,当然是流文件的一种。作为读写文件的全体,这是没问题的,但是,如果要处理每次读入的内容,就最好使用字符流。 所以在文本文件处理时,使用字符流是个最常用的方法。 样例: import java.io.*; public class

第三章:字符串、向量和数组

时光毁灭记忆、已成空白 提交于 2020-02-17 08:04:34
一、string 1、包含头文件string; 命名空间std #include<string> using std::string 2、读取操作时,string对象会自动忽略开头的空白,直到遇到下一个空白 如果想要保留空白,使用getline函数:读到换行符为止,但不把换行符写入到string中 string s1, s2, s3; cin >> s1 >> s2; //输入“ hello world ” cout << s1 << s2 << endl; //得到“helloworld” getline(cin, s3); //输入 “ hello world ” cout << s3 << endl; //得到 “ hello world ” 3、string 可以得到长度,使用size()函数,返回的是一个无符号型整数,所以要注意在用于循环判断时不要与有符号数一起使用 4、string对象的比较,先会比较长度,如果相同,再比较第一个相异的字符 5、string对象的相加:+号两边必须有一遍是string类型 6、通常C++程序的头文件为cname,而C程序头文件为name.h 7、范围for for(declaration : expression) //每次迭代,declaration部分会被初始化为expression部分的下一个元素 statement

字节流、字符流

北战南征 提交于 2020-02-17 06:59:52
一、IO概述 1.1 什么是IO 把数据的传输,看做是一种数据的流动,按照流动的方向, 以内存为基准 ,分为 输入input 和 输出 output ,即流向内存是输入流,流出内存的输出流。 Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。 1.2 IO的分类 根据数据的流向分为:输入流和输出流。 输入流 :把数据从 其他设备 上读取到 内存 中的流。 输出流 :把数据从 内存 中写出到 其他设备 上的流。 根据数据的类型分为:字节流和字符流。 字节流 :以字节为单位,读写数据的流。 字符流 :以字符为单位,读写数据的流。 1.3 顶级父类 输入流 输出流 字节流 字节输入流 InputStream 字节输出流 OutputStream 字符流 字符输出流 Reader 字符输出流 Writer 二、字节流 2.1 一切皆为字节 一切文件 数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以, 字节流可以传输任意文件数据 。在操作流的时候,我们要时刻明确, 无论使用什么样的流对象,底层传输的始终为二进制数据 。 2.2 字节输出流【OutputStream】 java.io.OutputStream 抽象类 是表示字节输出流的所有类的超类

JQuery(一)

喜夏-厌秋 提交于 2020-02-17 06:11:04
在网页中引用javaScript的方式 使用typeof判断值类型 String类型的属性和方法 如何创建数组,数组的常用属性和方法 #如何创建数组 运输符号 条件结构 常用系统函数和自定义函数 window对象常用的属性和方法(弹窗、open、close、定时函数) location、history对象的属性和方法 document对象 js内置对象 js操作dom对象 1.【在网页中引用javaScript的方式】 1.内部js,直接使用<script>标签 2.外部js,指定<script>的src属性 3.直接写在html的标签中(一般极少代码时使用):<input onclick="javascript:alert('欢迎');"> 2.【使用typeof判断值类型】 变量→类型 undefined→undefined number→number String→String boolean→boolean null、引用类型(对象、函数、数组)→object 3.【String类型的属性和方法】 length属性 indexOf(字符串,要查找的字符串); 查找某个字符串在字符串中 首次出现的位置 charAt(位置); 返回指定位置的字符串 toLowerCase(); toUpperCase(); substring(指定索引1,指定索引2); //html中