上一页 1 ··· 280 281 282 283 284 285 286 287 288 ··· 329 下一页
摘要: 运行时栈帧结构1.局部变量表 null JIT编译器优化 2.操作数栈 LIFO 3.动态链接 | 4.方法返回地址 | 栈帧信息 5.附加信息 |——————————————————————————————————方法调用1.解析调用 符号引用 静态、私有、实例构造器、父类方法 final 非虚方法2.分派1.静态分派 虚拟机(编译器)在重载时是通过参数的静态类型而不是实际类型作为判断 静态类型在编译器是可期的,且选择更加适合的版本 2.动态分派 重写 invokevirtual 运行期确定接受者实际类型 3.单分派与多分派 方法的接收者与方法的参数统称为方法的宗量。 单分派 一宗量 多分. 阅读全文
posted @ 2013-06-07 20:12 jlins 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1、从静态存储区域分配。程序编译的时候内存已经分配好了,并且在程序的整个运行过程期间都存在,如全局变量2、在栈上创建。在执行函数时,函数内局部变量的存储单元可以在栈上创建,函数结束后这些存储单元自动释放。处理器的指定集中有关于栈内存的分配运算,因此效率很高,但是分配的内存容量很有限。3、在堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new运算符申请任意大小的内存,使用完毕后要用free和delete释放内存。动态内存使用灵活,但是问题很多。 阅读全文
posted @ 2013-06-07 20:11 jlins 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1 前言以前也有介绍过GCD,但是感觉不够深入,今天我们来重新认识一下这个概念,GCD即Grand Central Dispatch(中文直译宏伟的中心派遣o(╯□╰)o)。它的一个重要概念是队列。系统提供了许多预定义的队列,包括可以保证始终在主席那成上执行其工作的队列。2 详述GCD严格遵循FIFO(先进先出)原则。添加到GCD队列的工作始终按照这个加入队列的顺序启动。尽管如此,他们不会总是按照相同的顺序完成,因为如果可能,GCD队列将自动在多个线程之间分配它的工作。我们可以将将GCD理解为一个线程池。跟GCD相关的是一种成为程序块的语言功能,这是向C语言本身添加的一些新语法。这对于充分的利 阅读全文
posted @ 2013-06-07 20:09 jlins 阅读(185) 评论(0) 推荐(0) 编辑
摘要: c++ class中成员函数,static变量在编译时都不会被分配内存,只有实实在在的int,char,long,float,double等类型才会被分配内存,并且以当前字节长度最大 的类型来成倍分配内存,而虚函数同理也不会被分配内存,无论声明多少个虚函数都如此,但是类中会存放一个虚指针,指向虚函数表,该虚函数表存放在内存中, 跟类地址无关的一个地址中,所以在计算class的sizeof的时候,成员函数、static变量,虚函数都不会被计算大小,只会计算int,char,long,float,double等类型加虚指针 的大小,在32位机器中,指针大小4个字节,而在64位机器中,指针大... 阅读全文
posted @ 2013-06-07 20:08 jlins 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 对于站点中不经常修改的静态内容(如图片,JS,CSS),可以在服务器中设置expires过期时间,控制浏览器缓存,达到有效减小带宽流量,降低服务器压力的目的。以Nginx服务器为例:location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {#过期时间为30天,#图片文件不怎么更新,过期可以设大一点,#如果频繁更新,则可以设置得小一点。expires 30d;}location ~ .*\.(js|css)$ {expires 10d;}【背景】:Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据, 阅读全文
posted @ 2013-06-07 20:07 jlins 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 在窗体中添加一个ContextMenu1控件Imports System.Drawing.Drawing2DPublic Class Form1 Inherits System.Windows.Forms.Form#Region " Windows 窗体设计器生成的代码 " Public Sub New() MyBase.New() '该调用是 Windows 窗体设计器所必需的。 InitializeComponent() '在 InitializeComponent() 调用之后添加任何初始化 End Sub ... 阅读全文
posted @ 2013-06-07 20:05 jlins 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 错误类似于"Expected content type {( "text/javascript", "application/json", "text/json" )}, got text/html"这是没有指定请求期望的字符集,需要调用[AFJSONRequestOperation addAcceptableContentTypes:[NSSetsetWithObjects:@"application/json", @"text/html", nil]]; 即可 阅读全文
posted @ 2013-06-07 20:04 jlins 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 给出一个字符串,找出这个字符串中最长连续的而且没有重复字符的子串,并返回它的长度。例如,对于字符串“BDEFGABEF”最长连续且没有重复字符的子串可以是“DEFGAB”或者“DEFGAB”,长度是6。对于字符串“BBBB”,它满足要求的字串的长度是1,即“B”。首先分析一下,对于给定长度的字符串,它一共有多少个字串呢? 子串数 = 长度为1的子串数+长度为2的子串数+ 。。。+长度为n的子串数 = (n + 1) * n / 2 。 对于每个子串,在O(n)的时间内遍历它,看它是否有重复的字符出现。计算(n + 1) * n / 2个子串共需要花费的时间是O(n^3)。对于长度很长的字符串, 阅读全文
posted @ 2013-06-07 20:02 jlins 阅读(183) 评论(0) 推荐(0) 编辑
摘要: # 最近在看Hadoop技术内幕之深入解析MapReduce架构设计与实现原理一书,可能会把我以为比较重要的知识点或模块通过博客记录下来,留给自己和大家。这本书也是刚刚开始看,加上以前自己对MapReduce的理解,如果有什么错的地方,请大家指出。 今天就说一下MapReduce作业的生命周期,如下图(来自Hadoop技术内幕一书): 当用户 (Application)提交作业后,JobClient 将作业所需要的相关文件上传到HDFS,并通过RPC(远程调用协议)通知 JobTrackerJobTracker 内 的任务调度模块 为作业 创建一个JobInProgress对象,用来跟踪作业. 阅读全文
posted @ 2013-06-07 20:01 jlins 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 任务1: 输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,再对y串的内容前后倒置后存入数组z中并输出。 要求:用指针访问数组元素、用函数getx(char *c1)实现复制、用函数getr(char *c2)实现倒置。 运行示例 Enter a string: abcABCD Enter an integer: 4 The new string is DCBA 我的程序:#include"stdio.h" #include"string.h" void getx(char *c1); void getr(char *c2); 阅读全文
posted @ 2013-06-07 20:00 jlins 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 ··· 280 281 282 283 284 285 286 287 288 ··· 329 下一页