美文网首页
07 - Json&&内存分配

07 - Json&&内存分配

作者: 西巴撸 | 来源:发表于2016-12-22 23:26 被阅读18次

本文是针对刚学编程的小白,都是一些基础知识,如果想了解更多深层一点的东西,欢迎移步本人博客!!

博客地址 点击跳转


什么是Json?

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。相比于XML,json易于人阅读和编写,同时也易于机器解析和生成,目前数据传递基本上都使用json。

  • JSON有两种结构:对象 和 数组,两种结构相互组合从而形成各种复杂的数据结构。

  • 数据在键值对中

  • 数据由逗号分隔

  • 花括号保存对象

  • 方括号保存数组

最大事件源

<script>
    var box = document.getElementById('box');
    // 页面上最大的点击事件 就是document.onclick
    document.onclick = function(e){
        // IE浏览器中e不支持,支持event
        // 兼容写法
        var e =  e || event;
        box.innerHTML = e.clientX +'<br>'+ e.clientY;
    }
    // 这里的 e 是 event对象
    box.onclick  = function(e){
        var e =  e ||event;
        box.innerHTML = e.clientX +'<br>'+ e.clientY;
        //通过事件获取的clientX和clientY都是表示点击的时候,屏幕的实际坐标
        //以屏幕的左上角作为原点
    }
</script>

给对象设置属性

<script>
    // 获取属性
    var box = document.getElementById('box');
    //1.设置属性
    //一般两个参数,第一个参表示属性,属性的值
    box.setAttribute('title','我是盒子');
    console.log(box.getAttribute('title'));
    box.removeAttribute('title');
    console.log(box.getAttribute('title'));
</script>

Json数据的认识

<script>
    //1.json用来存储数据,但是数据不可以重复,没有顺序
    //2.json通过key:value来存储
    //3.创建json,通过{}
    //标准的json数据key必须用双引号
    var personJson = {"name":"张三","age":"16","sex":"不男不女"};
    var personJson1 = {'name':'张三','age':'16'};
    var personJson2 = {name:'张三',age:'16'};
    //4.访问json,通过key
    //如果通过中括号访问json,key需要些全称,如果有引号需要加上引号,没有引号也要加上引号
    console.log(personJson2.name);
    // console.log(personJson2[name]);
</script>

Json数据的遍历

<script>
    // json
    //通过for in来遍历json
    //key遍历的是json 得到的是属性  json[key]得到的是属性值
     for(var key in personJson){
         console.log(personJson[key]);
     }
    // 数组
    var arr = [1,2,3,4,5,7];
    for(var key in arr){
        console.log(k);      // 得到是索引号
        console.log(arr[k]);  // 得到是值
    }
    for(var key in document){
     //如果for in循环中后面是一个对象,那么key代表属性
        document.write(key+':'+document[key]+'<br>');
    }
</script>

通过Json设置样式

<script>
    var box = document.getElementById('box');
    var cssJson = {"width":"100px","height":"100px","background":"blue"};
    for(var key in cssJson){
        css(box,key,cssJson[key]);
    }
     // 样式的抽取封装
    function css(dom,key,value){
        dom.style[key] = value;
    }
</script>

------------- 网络请求&&内存分配--------------

HTTP协议

  • 和服务器进行交互
  • HTTP协议默认是短链接

TCP/UDP

  • 是用来做链接传输的,默认不会断开链接, 都是长链接.
  • 不需要的时候可以手动断开
  • TCP涉及三次握手,和服务器需要交互三次,安全性高
  • UDP只需要和服务器交互一次就可以(QQ和微信等聊天工具用的都是UDP)

socket

  • socket:管道 针孔
  • 用来连接客户端和服务器, 包含长链接和短链接
  • 是对TCP/UDP/HTTP的封装
  • 客户端和服务器都有inputstream和outputstream 两个流, 一个用来输入,一个用来输出.
  • 服务器端给客户端主动发送信息, 需要建立长链接

安卓和Js内存管理机制

  • 内存分配机制包括栈/堆/静态区
  • js采用的是垃圾内存回收机制,栈区的内存不需要管理,栈的内存会自动管理,一般数字/字符/布尔值放在栈区
  • 垃圾内存回收机制:当发现一个对象在内存中没有使用的时候, 我们就直接把他回收,使用:1.计数器法 2.标记法
  • 安卓采用的就是垃圾内存回收机制,所有会越用越卡.现在在通过硬件加大内存,来解决卡的现象
  • 事件指令和对象放在堆中
// 对于一个对象,左边的对象放在栈中,右边的实际对象放在堆中
// 通过指针连接,栈中的对象指向堆中的实际对象
   var myDate = new Date()
  • 我们所说的内存管理,是管理堆中的内存,栈里面的不用管

IOS内存管理机制

  • IOS通过OC语言 和 Swift语言,现在都用OC开发
  • C语言是面向过程的语言,C语言一般开发镜像软件,所有的语言最终都转换成C语言,然后再转换成汇编
  • 通过计数器时时管理内存,时时监测.以前是通过MRC(手动)管理,后来是通过ARC(自动)管理.所有内存管理机制要比安卓高很多

提升内存性能

  • 尽量少用全局变量,因为全局变量一直存在
  • 尽量抽取函数
  • 管理闭包一定要精准,没有内存泄漏

数据结构的类型

  • 数组
  • 队列(先进先出)
  • 栈(先进后出)
  • 链表(双向链表和单向链表)

相关文章

  • 07 - Json&&内存分配

    本文是针对刚学编程的小白,都是一些基础知识,如果想了解更多深层一点的东西,欢迎移步本人博客!! 博客地址 点击跳转...

  • iOS 内存监控&内存分配

    https://mp.weixin.qq.com/s/CiqMlEIp1Ir2EJSDGgMooQ iOS微信内...

  • 2018/07/08

    系统,中断,异常,系统调用,内存分配。 今天07/09储存,特权级等

  • JSON&XML

    JSON(NSData) --> OC对象 { } --> NSDictionary@{} [ ] --> NSA...

  • JSON&XML

    对于服务器返回的数据类型,一般就是JSON和XML。JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是...

  • JSON&XML

    JSON解析 JSON简单介绍 什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的...

  • 2018/7/9

    内存分配,存储管理。今天07/10看实验2,虚拟储存,置换算法等

  • 《C语言》malloc函数使用

    动态分配、静态分配 静态分配:计算机随机自动分配内存,周期结束后自动释放内存动态分配:手动分配内存,手动释放内存 ...

  • (二)C语言之动态内存分配

    (二)C语言之动态内存分配 一、静态内存分配 定义是指定分配的内存长度就是静态内存分配,是在栈内存中分配 二、C语...

  • javascript内存管理

    内存声明周期 分配你所需要的内存 使用分配的内存(读写) 不再需要时释放内存 内存分配 javascript在声明...

网友评论

      本文标题:07 - Json&&内存分配

      本文链接:https://www.haomeiwen.com/subject/atyhvttx.html