1.C++内存分配方式 堆:堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。 栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处 ...
分类:
编程语言 时间:
2020-02-22 10:07:17
阅读次数:
85
懒汉模式与饿汉模式 懒汉模式就是懒加载,用到的时候去加载,存在线程安全问题,需要手动地加锁控制。它的优点是类加载的速度比较快,按需加载,节省资源。 饿汉模式就是在类加载的时候会创建出实例。它天生就不存在线程安全问题。但是类加载的速度会变慢且耗费资源。 懒汉模式-单重检查 示例代码如下: public ...
分类:
编程语言 时间:
2020-02-19 15:23:44
阅读次数:
77
异常情形是指阻止当前方法或作用域继续执行的问题。当抛出异常后,有几件事会随之发生。首先,同Java中其他对象的创建一样,将使用new在堆上创建异常对象。然后,当前的执行路径被终止,并且从当前环境中弹出对异常对象的引用。此时,异常处理机制接管程序,并开始寻找一个恰当的地方来继续执行程序。这个恰当的地方 ...
分类:
其他好文 时间:
2020-02-09 20:48:49
阅读次数:
73
创建String的几种方式以及背后的存取规则: 1,String str1 = new String("1900");(后面不带+),这个过程中,实际上有两个对象生成,一是在堆上创建了"1900"这个字符串对象,同时,检查常量池,池中如果有"1900",不管是指向"1900"的引用还是实打实的串,就 ...
分类:
其他好文 时间:
2020-02-07 18:34:45
阅读次数:
54
装箱拆箱 放入object和取出过程 装箱:根据值类型的值,在堆上创建一个完整的引用类型对象,并返回对象的引用,是一种隐式转换 就是将值类型转换为引用类型 有时候需要将值类型转化为引用类型来进行统一的操作和统一的存储 装箱示例: int i=3;//这个是int类型的值类型,值为3 object o ...
分类:
其他好文 时间:
2020-01-14 13:11:47
阅读次数:
61
懒汉模式与饿汉模式:单例模式,仅有仅用一个对象! 饿汉模式:单例类的字节码文件加载到方法区的时候 单例(唯一对象)就被new出来了。 Public class Singleton{ public static int num=10; Private Singleton(){ } Private st ...
分类:
其他好文 时间:
2020-01-12 13:21:56
阅读次数:
58
以Java为例: 饿汉: 懒汉: 先来看单例模式原理及要求,保证这个类在内存中只有一个对象,那么就不能随便给别人new,所以必须把构造函数改为private,然后整一个公共静态方法供外部统一获取实例。 再来看饿汉以及懒汉定义(原理)以及区别: 饿汉:一开始就吧吃的找好(对象new出来),随时可以吃 ...
分类:
其他好文 时间:
2019-12-27 11:28:22
阅读次数:
80
/** * 单例模式 * @author gy2018 * */public class SingletonDemo { /** * 所谓的单例模式,就是整个程序有且仅有一个实例。 * 该类负责创建自己的对象 并确保只有一个对象被创建。 * 在java中,一般常用在工具类的实现或创建对象 需要消耗资 ...
分类:
其他好文 时间:
2019-12-23 18:48:52
阅读次数:
119
Properties 存储的Key Value键值对 他的两个方法: getPorperties(key) -->获取value值 setProperties --> 设置Key、value(键值对) 反射 分清类对象与类的对象 类的对象:基于一个模板new出来的对象 类对象:类加载的产物,封装了一 ...
分类:
其他好文 时间:
2019-12-21 23:01:09
阅读次数:
107