- 浏览: 34128 次
- 性别:
- 来自: 广州
最新评论
-
coderplay:
总结得不错
Linux svn 生成/打patch
文章列表
VirtualBox挂载window文件夹
- 博客分类:
- Linux
1,VirtualBox选择对应虚拟机啊,右键,设置-数据控件,添加:
‘数据空间位置’选择window的文件夹;
‘数据空间名称’随意起,在mount命令时会用到;
选择‘固定分配’
2,进入虚拟机,sudo mount -t vboxsf $数据空间名称 $linux下的一个目录
http://langyu.iteye.com/blog/360728
http://langyu.iteye.com/blog/393672
http://zhangshixi.iteye.com/blog/672697
Java I/O系统 笔记[2]
- 博客分类:
- JAVA
10.新I/O
nio速度的提高来自于所使用的结构更接近于操作系统执行I/O的方式:通道和缓冲器。我们并没有直接和通道交互,只是和缓冲器交互,并把缓冲器派送到通道。通道要么从缓冲器换得数据,要么向缓冲器发送数据。
唯一直接与通道交互的缓冲器是ByteBuffer----也就是说,可以存储未加工字节的缓冲器。
旧I/O的FileInputStream、FileOutputStream和RandomAccessFile被修改用以产生FileChannel。Reader和Writer这种字符模式类不能用于产生通道,但是java.nio.channels.Cha ...
Java I/O系统 笔记[1]
- 博客分类:
- JAVA
2.输入和输出
public abstract class InputStream extends Object implements Closeable
此抽象类是表示字节输入流的所有类的超类。
直接已知子类:AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, InputStream, ObjectInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream
public abstr ...
[转] c++ 虚函数的实现机制:笔记
- 博客分类:
- C++
http://blog.csdn.net/jiangnanyouzi/article/details/3720807
1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表 ...
单链表逆序
struct node{
int data;
node* next;
};
node* reverse(node* list){
node *t, *r, *s;
t = list;
r = NULL;
while(t){
s = t->next;
t->next = r;
r = t;
t = s;
}
return r;
}
二叉树列出从根节点到所有叶子节点的路径
struct node {
int self;
node *left;
node *ri ...
至于堆和栈哪个更快,从两方面来考虑:
1.分配和释放,堆在分配和释放时都要调用函数(MALLOC,FREE),比如分配时会到堆空间去寻找足够大小的空间(因为多次分配释放后会造成空洞),这些都会花费一定的时间,具体可以看看MALLOC和FREE的源代码,他们做了很多额外的工作,而栈却不需要这些。
2.访问时间,访问堆的一个具体单元,需要两次访问内存,第一次得取得指针,第二次才是真正得数据,而栈只需访问一次。另外,堆的内容被操作系统交换到外存的概率比栈大,栈一般是不会被交换出去的。
综上所述,站在操作系统以上的层面来看,栈的效率比堆高,对于应用程序员,这些都是透 ...
任何事情都是一分为二的,递归虽然有许多诸如解决复杂问题、缩短程序代码、提高变成效率等优点,但是它也有许多致命的弱点。
可以想象,递归调用的过程可能象一个无底深渊,永远不能返回。我们知道函数在调用另一个函数时,需要把原来的函数的局部变量、返回地址等压入堆栈(即所谓的保留现场),以达到正常返回和继续执行。在一个函数进行递归调用时,每一次调用它本身,就象调用一个新的函数一样,他的所有的局部变量都要在内存中保留一份(即压栈),如果递归调用地层次过多甚至无休止的进行递归调用,将耗尽系统资源(栈满),出现“堆栈溢出错误”。因此无意识的使用递归是极易出错的。
我们了解了递归的特点之后,要避免这些问题并不是 ...
x=x+1,x+=1,x++ x++效率最高;x=x+1需4步,x+=1需3步,x++需2步。
Java中涉及byte、char和short类型的运算操作首先会把这些值转换为int类型,然后对int进行运算,最后得到int类型结果。
short s=1;s=s+1; 错误 short s=1;s+=1; 正确
public class Test {
public static void main(String args[]){
char a;
a = '*';
System.out.println(a);
int ia = (int)a;
...
线程进入阻塞状态,可能有如下原因:
(1)sleep();
(2)wait();
(3)等待某个输入/输出完成
(4)试图在某个对象上调用其同步控制方法,但是对象锁不可用。
(5)调用其他对象的join()
其中(3),(4)不可通过interrupt( ...
Java对象大小探究
- 博客分类:
- JAVA
参考:
http://langyu.iteye.com/blog/1167581
http://www.javamex.com/tutorials/memory/object_memory_usage.shtml
http://www.codeinstructions.com/2008/12/java-objects-memory-structure.html
http://www.javamex.com/tutorials/memory/array_memory_usage.shtml
下载classmexer.jar
$ javac -cp ./c ...
svn打patch时产生多余的代码
- 博客分类:
- svn
在用svn diff 打patch后,发现patch中每个新增文件后都有下面这样一串东西:
Property changes on: src/XXXXXXX.java
___________________________________________________________________
Added: svn:executable
+ *
开始以为是将新增的文件都加了执行权限所致,于是把新增的文件都取640权限,再次打patch依然有这个问题。后来svn revert,再svn add /foo,打patch正常,估计是svn的缓存文件导致这个问题,/fo ...
虚拟机virtualbox中挂载新硬盘
- 博客分类:
- Linux
转自:http://liangbing8612.blog.51cto.com/2633208/652333
在virtualbox中装好Ubuntu后,发现硬盘空间太小,怎样才能增加硬盘容量?那就是再建一个硬盘:
1.
添加新硬盘
设置 -> Storage -> SATA控制器->右击,选择“添加虚 ...
yjp-9.5.6使用
- 博客分类:
- JAVA
1,从http://www.yourkit.com/java/profiler/index.jsp下载安装文件,windwos和linux
2,在linux上解压yjp-9.5.6-linux.tar.bz2
3,$YJP_HOME/bin/yjp.sh -attach pid
Picked up JAVA_TOOL_OPTIONS:
Attaching to process 10138 using default options
The profiler agent has attached. Waiting while it initializes...
[YourKit Ja ...
参考:http://kenwublog.com/btrace-theory-analysis
http://blog.bluedavy.com/?p=185
http://www.iteye.com/topic/652653
http://macrochen.iteye.com/blog/838920
http://kenai.com/projects/btrace/pages/UserGuide
更详细的使用参看btrace的javadoc
从http://kenai.com/projects/btrac ...