题外话:一晃来到新公司四个月了,笔者已从JavaWeb开发转行做iOS开发了,基本上相当于完全从头开始吧!于是这几个月就忙于学习诡异的Objective-C和iOS了,项目比较忙一直没有时间把之前面试的题整理完。现在只有两道题还留有草稿,整理一下分享出来。...
分类:
Web程序 时间:
2014-09-23 01:57:43
阅读次数:
231
浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如: char* str = (char*)malloc(100); char* str2 = str; 浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时...
分类:
其他好文 时间:
2014-09-22 15:15:03
阅读次数:
235
从Ray Wenderlich的教程中截取了一小段作为对objective c中ARC的介绍,讲得比较清晰,原文有丰富的例子,见此它是怎么工作的你大概已经熟悉如何手工管理内存了, 就像这样:如果你想保持一个对象可用,除非它已经被 retain 了,否则你就需要 retain 它。如果你不再需要一个对...
分类:
其他好文 时间:
2014-09-22 13:59:52
阅读次数:
251
一直在用STL,认为对STL也有一些理解,比如比较函数怎么写,什么情况下用什么容器效率高,但是当你读过Effective STL之后才知道这远远不够,之前的代码还有很多可以优化的空间,下面我会罗列一些映像比较深的点,比较偏向代码因为这样可以方便以后的调用。这里是到Item29,余下的留下次看。
1) 检查容器是否为空
if(c.empty()){} better than if(c...
分类:
其他好文 时间:
2014-09-22 13:49:32
阅读次数:
278
本系列作为Effective JavaScript的读书笔记。
当需要将方法抽取出来作为回调函数使用的时候,常常会因为this的指向不明而发生错误,比如:
var buffer = {
entries: [],
add: function(s) {
this.entries.push(s);
},
concat: function() {
return this....
分类:
编程语言 时间:
2014-09-22 12:16:52
阅读次数:
204
在讨论如何回收堆外内存的时候,提到“NIO中direct memory的释放并不是通过finalize(),因为finalize不安全而且影响能”。Effective Java一书中也提到:Avoid Finalizers。人都有潜在的叛逆意识,别人给的结论或者制定的规范,除非有足够的理由说服你,除非懂得这么做背后的原因,否则只能是死记硬背,没有形象深入的理解,不能学到真正的东西。本文通过自己的理解和一些实际的例子,和大家一起更形象的理解finalize。还是那句经典的话“talking is cheap,...
分类:
编程语言 时间:
2014-09-21 18:46:11
阅读次数:
322
(一)
template是节省时间和避免重复代码的一个奇妙方法。class template的成员函数只有在被使用时才被暗中具现化。function templates有类似的诉求。
但是如果你不小心,使用templates可能导致代码膨胀(code bloat):其二进制代码带着重复(或几乎重复)的代码、数据、或两者。其结果可能源码看起来合身整齐,但目标码却不是那...
分类:
编程语言 时间:
2014-09-21 14:28:30
阅读次数:
421
不同容器删除元素的方法
去除一个容器中有特定值的所有对象:
如果容器是vector、string或deque,使用erase-remove惯用法。
如果容器是list,使用list::remove。
如果容器是标准关联容器,使用它的erase成员函数。
去除一个容器中满足一个特定判定式的所有对象:
如果容器是vector、string或deque,使用erase-remov...
分类:
其他好文 时间:
2014-09-21 13:35:20
阅读次数:
230
iOS开发之UIWebView与JavaScript的交互 分类: ios开发 2012-07-26 17:07 2878人阅读 评论(2) 收藏 举报 javascriptiosgooglemobileurlfunctioniOS开发之Objective-C与JavaScript的交互 UI...
分类:
移动开发 时间:
2014-09-20 21:47:19
阅读次数:
202