• C释放内存的一点技巧

    C语言语法虽然简单,但没有GC,内存需要手动控制。这就造成一个结果,程序员素质不高,软件就会被写的特别烂,程序员要牛逼,软件的表现力会比有GC的效果要好。

    在C语言里要申请内存需要使用malloc()函数,反之释放内存使用free()函数,但是如果要释放时,请不要简单的仅仅使用free,如以下例子

    #include <stdlib.h>
    int main ()
    {
      int * buffer;
      buffer = (int*) malloc (100 * sizeof(int));
    
      free(buffer);
    
      // 此时,虽然free了,但buffer还是指向原来的内存地址
      // 如果你不留意,后边使用了buffer做操作,那么程序很大几率会崩溃
    
      return 0;
    }
    

    ...

    READ ALL

  • Java枚举值转字符串数组

    在Java中定义了一个类似这样的枚举值

    public enum Arrow {
      LEFT,
      TOP,
      BOTTOM,
      RIGHT;
    }
    

    如果想要把Arrow转换成字符串数组,可以遍历这个枚举并使用name方法获取枚举值转字符串的方式

    public static String[] names() {
      Arrow[] arrows = values();
      String[] names = new String[arrows.length];
    
      for (int i = 0; i < arrows.length; i++) {
        names[i] = arrows[i].name();
      }
    
      return names;
    }
    

    ...

    READ ALL

  • JavaScript私有变量

    如果接触过其它语言的,应该会接触过私有变量这一个概念。所谓私有就是没有受保护,不能修改与访问,只能通过对外接口访问与修改。但是在JavaScript中并没有私有变量这个概念,所有成员都可以通过下标访问与修改,如:

    var F = function () {};
     
    F.prototype.name = 'zhangsan';
     
    var a = new F();
     
    console.log(a.name); // zhangsan
     
    a.name = 'lisi';
    
    console.log(a.name); // lisi
    

    ...

    READ ALL

  • DOM API querySelector与querySelectorAll的用法

    HTML5引入了与jQuery选择器相似的DOM API querySelectorAll(), 这个API用起来比那个getElement**好多了!废话不多说,直接上实例。

    index.html

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
      </head>
      <body>
        <div class="box"></div>
    
        <div class="box">
          <p id="lost"></p>
          <p name="qttc"></p>
        </div>        
    
        <div></div>
    
        <div></div>
    
        <div class="box"></div>
      </body>
    </html>
    

    ...

    READ ALL