2016-08-15 craneyuan
在Java中,一个字符串可以使用下面这两种方式进行创建: String x = "abc"; String y = new String("abc"); 这两种创建字符串的方式有什么不同呢? 双引号 VS 构造函数 这个问题可以用下面这两个简单的代码实例来回答。 例子1: String a = "abcd"; String b = "abcd"; System.out.println(a == b); // True System.out.println(a.equals(b)); // True a==b是true,因为a和b都引用同一块内存地址。 当相同字符内容的字符串多次创建时,编译器只为其分配一块内存, 继续阅读 »
2016-09-19 曹强
this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, javascript function test(){ this.x = 1; } 随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。 more 下面分四种情况,详细讨论this的用法。 情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 请看下面这段代码,它的运行结果是1。 javascript function test(){ this.x = 1; alert(this.x) 继续阅读 »
2016-07-02 YongHao Hu
C++
一个程序在运行过程中,函数调用时会向栈压入: 原来寄存器ebp的值, 参数, 以及调用函数的下一个指令地址 在调用一个函数时, 编译器就计算好函数需要的空间, 然后esp = ebp-需要的空间, 通过ebp+偏移量来访问. 在函数里调用另外一个函数时, 原来fun的ebp值压栈 继续阅读 »
2016-11-25 LEo
最近项目接近尾声,基本都是在fix bug,今天说说一个bug,是由于strncat函数使用不当导致命令行输出有乱字符。虽说只是一个很简单的小问题,但是不弄明白就是大问题。 1 strncat声明 ```c char *strncat(char *dest, const char *src, size_t n) 继续阅读 »
2016-03-11 Li Shuai
延迟绑定 Python闭包函数所引用的外部自由变量是延迟绑定的。 In [2]: def multipliers(): ...: return [lambda x: i * x for i in range(4)] In [3]: print [m(2) for m in multipliers()] [6, 6, 6, 6] 如以上代码: i是闭包函数引用的外部作用域的自由变量, 只有在内部函数被调用的时候才会搜索变量i的值, 由于循环已结束, i指向最终值3, 所以各函数调用都得到了相同的结果。 解决方法: 1) 生成闭包函数的时候立即绑定(使用函数形参的默认值): In [5]: def multip 继续阅读 »
2017-11-29 Lingxian Kong
最近在 Qinling 项目中实现对 function 运行时做资源限制,主要是 cpu、内存和磁盘,后续还会考虑 package 大小、文件句柄、系统调用等资源限制。限制资源使用的原因很简单,因为底层是容器实现,function 都是跑在容器里,如果不做资源限制,任由用户自己在 function 里分配资源,那么不同用户的函数势必会相互影响,更严重的情况是恶意用户会利用一些手段突破容器的限制,威胁 hypervisor,进而威胁整个云环境。 继续阅读 »
2016-10-17 王财勇
模板函数应该将声明与定义放在一起 看如下例题: ``` //tem.h #ifndef _TEM_H #define _TEM_H template T add(T a, T b); //{ //return a+b; //} #endif //tem.cpp include "tem.h" template T add(T a, T b) { return a + b; } template int add(int, int);//实例化定义,必须放在模板定义的后面 //main.cpp include include "tem.h" using namespace std; int main() { 继续阅读 »
2017-02-05 高悦翔
本文是「Java 8 函数式编程」第二章的读书笔记。 Lambda引入的变化 Lambda表达式,是一种紧凑的、传递行为的方式,从编程思想上来讲,就是代码即数据。 过去的Java中,存在大量的匿名内部类的使用,会新建一个匿名内部类传入调用的方法中。这种传统的方式,会造成冗余的、不易阅读的代码。 继续阅读 »
2015-01-23 Robin Wen
目录 Table of Contents {:toc} 文/Robin 本站推广 币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。 币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872 一 引子 在 MySQL 中,可以有如下几种途径实现唯一值: 自增序列 UUID() 函数 程序自定义 UUID 基于 16 进制,由 32 位小写的 16 进制数字组成,如下: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 比如 123e4567-e89b-12d3-a 继续阅读 »
2015-06-28 W.Y.
ES6
从一开始箭头就是 JavaScript 的一部分,在第一个 JavaScript 中就建议将内联的脚本代码包裹在 HTML 的注释中,这可以防止那些不支持 JavaScript 的浏览器错误滴将你的代码显示为明文。你也许写过下面这样的代码: html <!-- document.bgColor = "brown"; // red // --> 古老的浏览器将看到两个不被支持的标签和一段注释,只有支持 JavaScript 的新浏览器才会将其解析为 JavaScript 代码。 为了支持这个古怪的特性,浏览器的 JavaScript 引擎把 作为一个单行注释的开始,这不是开玩笑的,这一直都是这门语言的一部分,并 继续阅读 »