怎样测private方法?
Summer example = new Summer.newInstance();
Method m = example .getClass().getDeclaredMethod("methodone",new Class[]{String.class});
m.setAccessible(true);
Object result = m.invoke(example ,new Object[] {new String(xxxx)});
m.setAccessible(false);
昨天看到一个blog,用一个极端例子来说明Java中的内存问题:
http://blog.xebia.com/2007/10/04/leaking-memory-in-java/
测试代码如下:
public class TestGC {
private String large = new String(new char[100000]);
...
一个问题,如下图,没有画出箭头
*
- +
5 3 4
Class Expr_node{
friend ostream operate<<(ostream&,const Expr_node&); //<<符号是不能用动态绑定的,所以用print函数采用动态绑定,用<<符号调用print函数
...
句柄
从代理类我们继续考虑,怎样可以避免对象复制呢,引出句柄
Class Point{
public:
Point():xval(0),yval(0){}
Point(int x,int y):xval(x),yval(y){}
int x() const{return xval;}
int y() const{return yval;}
Point& x(int xv){xval = xv;return *this;}
Point& y(int yv){yval = yv;return ...
开始看Hibernate reference,运行hibernate的test中的代码。
Environment是一个非常重要的类。它定义了很多常量,最重要的是hibernate的入口在这里。在Environemt类中有段static 代码:
static {
//一些常量设置
//导入hibernate.properties到GLOBAL_PROPERTIES
InputStream stream = ConfigHelper.getResourceAsStream("/hibernate.prope ...
代理类
面向对象编程主要关注继承、动态绑定。
继承是一种抽象,允许程序员可以在某种时刻忽略相似对象间的差异,又在其他时候利用这些差异
在将继承和容器共用时,需要处理的问题是:控制内存分配,把不同类型的对象放入同一个容器。
这时我们需要一个代理类,这个类的每个对象可以代理基类及其任何子类的对象,但这个代理类我们不想再写出多个子类,只一个基类就可以实现所有功能
class VehicleSurrogate
{
public
VehicleSurrogate();
VehicleSurrogate(const Vehicle&);
~ ...
类设计者的核查表
1. 类需要构造函数么?
2. 数据是否需要保持私有的?
方案一
public:
int length;
方案二
public:
const int& length;//在构造函数中length = true_length;这样由于是const变量,只能读,不能修改。
private:
int true_length;
方案三
public:
int length() const;//
3. 是否需要一个无参的构造函数?
如果没有无参的构造函数,那么
Poi ...
实际我常用的是:dd,yy+p,/,set nu,
1. vi中设置tab键的空格数:
:set ts=4(tab设置为4个)
将此句话加到当前用户目录的文件.vimrc中,这样当前用户用vi的时候就会启动该设置
2.拷贝:
将第2行到第9行的字copy到第11行
:2,9 co 10
将第2行到第9行的字move到第11行
:2,9 m 10
3.设置行号:
:se nu
取消行号:
:se nonu
4.当前行与下一行换位置:ddp
5.当前字与后面的字换位置:xp
6.光标向左移一个字符:h
光标向下移一个字符:j
光标向上移一个字符:k
光标向下移一 ...
gdb使用
gdb release.exe(可执行程序名)
>r(run) start (参数)
其他命令
b(break) function name 设断点
n(next) 单步执行
s(step) step into
l(list) 显示源码
...
1.strcpy是拷贝直到\n时结束,所以长度上要增加一个字节,例如原来是一个字符的char[s]="s",
到了string中就是"s\n",strcpy是拷贝2个字符,如果拷贝目标地址只有一个字节长度,就会有问题。
2.每个线程一个栈(stack),堆(heap)空间共享,栈空间线程独立,全局变量进程内共享.
另外在windows下如果用dll,那么每个dll有自己的数据段,全局变量在dll内共享.
有些第三方库内部有隐含的全局变量,使用多线程调用这些库的时候要小心.
全局变量指static或者在函数体外面定义.
类没有定义变量,类只是定 ...
- 浏览: 9888 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
《C++沉思录》笔记---类 ...
<<沉思 3>>共想可下载
-- by BIGN -
Tuxedo学习笔记
之所以用java写client是因为原来整个项目是用java写的,后来增加需要加 ...
-- by mooncui -
Tuxedo学习笔记
tpalloc跟tpfree没错. 但这个跟哪个str的malloc和free有 ...
-- by buptrobin -
Tuxedo学习笔记
现在已经很少有人用java client来连tuxedo server了. 用j ...
-- by buptrobin






评论排行榜