- 浏览: 23565 次
- 性别:
最新评论
文章列表
今天晚上,电面了腾讯的测试开发。很遗憾,面试的并不理想。
将经过和面试后的总结放在这里,不是说为了给后人以经验,而是为了时刻提醒自己,不能松懈。
C:register变量的作用是什么?
被标识为register变量存储在cpu寄存器中,cpu访问寄存器内存极快,一般可用于大循环体内以提高循环效率。
只有局部自动变量和形式参数可以作为寄存器变量
一个计算机系统的寄存器数目有限,不能定义任意多个寄存器变量
局部静态变量不能定义为寄存器变量
C里面一个程序crash的原因有哪些?
数组越界、野指针
野指针:当所指向的对象 ...
遥想当年大一上java课时,听老师说过,要想深入了解java可以先从自己重写一个HashMap开始。说来惭愧,我现在才开始做这件事。不过,迟做总比不做好。
在研究hashmap之前,有必要说一下map。map,中文译为映射表,关联数组,其基本思想是键值对的关联,你可以通过键来查找值。在java类库中,map是一个接口,有多种实现,其不同体现在效率、键值对的保存和呈现次序、判定"key"的等价的策略等方面。下面实现一个简单的map(用二维数组实现):
package cn.lzj_2015_0406_hashmap;
/**
* @author lzj ...
国庆几天,闲的蛋疼,于是便找了一些以前学过的东西来敲,随后发现了一个小问题。
由于代码教简单,先现出代码:
package cn.lzj0927_cvte_question;
/**
* return 的用途:导致当前方法的退出,并返回那个值
* finally :无论异常是否被抛出,finally子句总能被执行
*/
public class TestTryFinally {
public static void main(String[] args) {
System.out.println(test());
}
public static ...
哈夫曼树是数据结构的一种,用于实现无损压缩。压缩分为无损压缩和有损压缩,使用哈夫曼压缩的压缩比可达3:1到5:1,流行的有损压缩方法有lzw字典压缩等。
几个名词解释:
最优二叉树:树的加权路径总长度最短的 ...
对于32位的计算机而言,只有2G的内存(2的三十一次方),而十亿大概是2的32次方。因此,不能将其直接放到内存中进行处理。 一个byte有八位,我们可以开辟长度为2的29次方的byte数组,利用位映射原理,将要处理的数对8进行除法取商,商作为byte数组的下标,数组存储的元素可以转化为八位二进制,若二进制数的第i位为一,则表示该数对8取模的值为i。如:
假设某数据为9。9=8*1+1,即对8的商为1,对8取模为1。应该存在byte[1],将byte[1]的值改为00000002,即把2的一次方赋予byte[1]。
可以看到,新开数组的所需大小并不取决于数据量的 ...
对于安卓开发者而言,熟悉安卓五大布局相当重要,因为这直接影响了产品的界面。若不熟悉其代码,则无法写出好的界面,用户的体验就会大打折扣。
Android的五大布局分别是LinearLayout(线性布局),FrameLayout(单帧布局),RelativeLayout(相对布局),AbsoluteLayout(绝对布局)和TableLayout(表格布局)
安卓五大布局结构如下(图片来自网络):
1.LinearLayout(线性布局):
LinearLayout线性布局按照垂直或水平的顺序依次排列子元素。其中,垂直排列(Vertical)是一个N行单列的结构,每行只有一 ...
进程是什么?在我的理解中,进程就是程序执行的一个实例,比如说你运行了十个ie,那么就有10个独立的ie进程,另外,如果你打开windows系统的任务管理器,在进程标签下显示的就是当前系统运行的进程。每个进程都有自己的一块内存空间,和一系列的系统资源,其数据和状态完全独立。
线程是什么?线程是进程中的一个实体,自己不占用系统资源,但其与所属进程的其他线程共享进程所拥有的全部资源。线程本身的数据只有cpu的寄存器数据。
java中线程的实现:
1.定义一个线程类,继承Threads类并重写run方法;
2.定义一个类,实现Runnable接口,重写目标对象从Runnable得到的ru ...
链表,可以把它想象为车的链子,一环扣一环,上一个指向下一个。与队列相同,链表克服了数组需要预先知道数据长度的缺点,但失去了数组随机存取的优点。另外,链表的结构使其能充分利用计算机的内存空间,灵活的利用内存。但缺点在于其增加了引用域,使空间开销较大。
链表:由一连串节点组成,每个节点包含数据域和引用域。链表分为单链表,双链表和循环链表。
java中的链表类似于c中的链表,只是c中通过指针把相邻的节点联系起来,前一个节点通过指针来保存下一个节点的地址,所以得到链表的根节点,就能得到链表的所以元素。java中没有指针,在java中通过引用实现指针的功能,java中节点保存了下一个节点对象的引用 ...
equals与==的区别:
equals用于检测两个对象的内容是否相等(即对中的内容是否相同)
==在用于比较基本数据类型时,两者值相同,比较结果为true
在用于比较引用时,若引用指向内存中的同一对象,比较结果为true(==比较的是栈中的内容是否相同)
为了更清楚的了解它们的工作过程,先来看看equals的源码:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (an ...
在java程序设计中,经常需要用到数组,数组的存储和读取速度是数据结构中最快的一种。但是,在稍为复杂的程序设计中,我们就会发现数组的局限性,其局限性有一部分是其优点所带来的。例如:数组的长度是固定的,而且数组所存储的数据类型也是固定的。然而,在实际应用中,经常需要根据所要存储的数据的长度确定要开辟的内存空间,而且,需要存储不同类型的数据,例如存储对象。另一方面,我们需要一些通用的方法,以便对不同类型的对象进行处理,例如:一种通用的排序方法,对所有类型的对象都可以进行排序。这样,就可以增加代码的重用度,减少工作量。
由于在java中,Object是所有类的父类,因此在这些方法中,要把参数,返 ...
前几天,使用Graphics类画笔时,发现了许多有趣的现象,用for循环实现颜色和形状的渐变;此外,还发现了在JFrame中画动态图的方法。
下面是画图的效果:
用for循环画的gif图
首先,定义一个DrawFrame类,继承自JFrame类,类中有main函数和一般方法showUI()。showUI用于实现图形界面;同样,需要加一个鼠标监听器,以实现用鼠标画图的功能。
使用JFrame的方法getGraphics,得到窗体的画笔,实例化DrawListener()并把画笔传过去,再给事件源JFrame添加鼠标监听器方法。
java.awt.Graphi ...
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
话说这是卤煮的第一篇博客呢,没想到是关于java的,第一篇写点简单轻松的吧。
通过写这个小程序,可以帮助我们理解传参的方法,事件 ...