java的问题: 1.性能:java的内存管理似乎比较自动化,但其实性能不是特别好。尤其是new对象的时候没有节制。在java中,有些对象构造成本很低,有些 很高。特别在UI编程的时候,大多数的UI对象其构建成本都比较高昂。如果在开发过程中没有节约意识,肯定会导致JVM不停的GC,系统表现很卡的样子 ...
分类:
编程语言 时间:
2016-08-11 20:35:25
阅读次数:
189
单例模式:一个类始终只有一个对象,无法直接new对象,只能通过类的特定接口来创建对象,因此也属于创建类模式。 恩,我们需要考虑线程安全性,对不对? 因此我们再给static成员变量赋值的时候,需要锁。C++里没有锁,我们可以借用第三方库,例如boost。 一、懒汉模式:即第一次调用该类实例的时候才产 ...
分类:
编程语言 时间:
2016-08-09 22:06:07
阅读次数:
283
链表 链表是一种基本的一维离散存储数据结构。相对于数组,它是离散内存的,不能如数组一样通过下标来查询相应地数据,每一个链表节点只能知道它的上一个(双端链表)和它的下一个(单链表,双端链表)节点。C语言通过malloc/free控制内存,C++里通过new/delete,Java则是只有new对象。 ...
分类:
其他好文 时间:
2016-07-31 19:17:34
阅读次数:
232
条款17:以独立语句将New对象放置入智能指针。 1、以独立语句将newed对象放置入智能指针内,如果不这样做,一旦异常被抛出,有可能导致难以察觉的资源泄露。 void name(shared_ptr<管理对象类型>(new 管理对象类型),其它函数)),New被分配内存不一定马上放入管理对象,因为 ...
分类:
编程语言 时间:
2016-07-31 17:43:30
阅读次数:
151
1、尽量少用static 当对象被定义为static时,这个对象所占有的内存将不会被回收。有时我们会将经常调用的对象(变量)定义为static,以便提高程序的运行性能。所以,不常用的就不要再定义为static类型的变量了 2、减少对象的创建 尽量避免在经常调用的方法中循环使用new对象,由于系统不仅 ...
分类:
Web程序 时间:
2016-07-24 20:49:16
阅读次数:
150
首先Calendar 是个抽象类,所以不能new 对象 public abstract class Calendar implements Serializable... 通过getInstance()得到一个Calender Calendar c = Calender.getInstance(); ...
分类:
其他好文 时间:
2016-07-02 01:45:22
阅读次数:
161
经过查资料,方案如下所示。 1 从最基础的地方做起,优化我们写的代码,减少必要的资源浪费。 a、避免频繁的使用new对象,对于整个应用只需要存在一个实例的类,我们可以使用单例模式。对于String连接操作,使用 StringBuffer或StringBuilder,对于工具类可以通过静态方法来访问。 ...
分类:
编程语言 时间:
2016-06-22 21:53:23
阅读次数:
154
/** * 设计模式之单例模式 * $_instance必须声明为静态的私有变量 * 构造函数必须声明为私有,防止外部程序new类从而失去单例模式的意义 * getInstance()方法必须设置为公有的,必须调用此方法以返回实例的一个引用 * ::操作符只能访问静态变量和静态函数 * new对象都 ...
分类:
其他好文 时间:
2016-05-31 15:31:30
阅读次数:
157
堆, NEW对象栈,局部变量数据段,类变量、常量代码段,方法的定义 按照声明的位置和作用域划分 -局部变量:方法和语句块内部定义的变量,栈空间里面,当方法或语句块一结束,局部变量空间马上释放,-成员变量(属性):方法外部、类的内部定义的变量(堆空间,随对象产生而产生,随对象销毁而销毁)-类变量(静态 ...
分类:
编程语言 时间:
2016-05-25 15:12:14
阅读次数:
148
1.文字阐述静态代码块的作用。静态代码块在类加载的时候执行,而且只执行一次。2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么?(1)在main函数中创建new对象时,先调用构造代码快,而后再是构造函数(2)构造代码快和构造..
分类:
编程语言 时间:
2016-05-23 01:10:19
阅读次数:
151