之前有提到过,为了提高GC的回收效率,对象实例的内存分配不一定必须存在于堆区中,还可采用堆外分配。而最常见的堆外分配就是采用逃逸分析筛选出未发生逃逸的对象,在栈帧中分配内存空间。 逃逸分析:就是分析出对象的作用域。当一个对象在方法体内声明后,该对象的引用被其他外部所引用时该对象就发生了逃逸,反之就会 ...
分类:
其他好文 时间:
2019-08-22 23:38:21
阅读次数:
111
原文:使用CefSharp在.NET中嵌入Google kernel 使用CefSharp可以在.NET轻松的嵌入Html,不用担心WPF与Winform 控件与它的兼容性问题,CefSharp大部分的代码是C#,它可以在VB或者其他.NET平台语言中来进行使用。 近几天来,公司项目中需要使用Web... ...
分类:
Web程序 时间:
2019-08-22 09:30:40
阅读次数:
212
静态变量用static修饰,实例变量不用。publicclassPerson{staticStringposition;Stringname;}静态变量是随着类的字节码的加载而被加载进内存的,所以只要程序一启动运行到该类时就会被加载进内存,不管创建了多少个对象在内存中只存储一份。而实例变量是在创建对象以后才能被分配内存空间,创建对少个对象就会存储多少份。静态变量被存储到内存的静态区,实例变量被存储
分类:
其他好文 时间:
2019-08-18 00:17:29
阅读次数:
87
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回 收 。注... ...
分类:
其他好文 时间:
2019-08-17 14:36:20
阅读次数:
66
JVM参数: 1)-Xmn: 新生代内存上限值 2)-Xms: 整个堆区初始内存分配的大小 3)-Xmx: 堆区内存的最大分配大小 4)-XX:SurvivorRatio: 决定eden与一个survivor大小之比 5)-XX:PretenureSizeThreshold: 大对象直接放入老年代, ...
分类:
其他好文 时间:
2019-08-16 17:13:15
阅读次数:
84
1 概述 1.1 函数的声明 JavaScript 有三种声明函数的方法。 (1)function 命令 function命令声明的代码区块,就是一个函数。function命令后面是函数名, 函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。 上面的代码命名了一个print函数,以 ...
分类:
Web程序 时间:
2019-08-13 13:29:16
阅读次数:
97
C与C++申请动态内存空间的异同 C语言与C++的关系,我们可以这样来形容,C++继承于C语言,却两者都有各自独特的特性,比如在如何申请动态内存空间上有显著的差别。 首先我们要知道,为什么需要动态申请内存空间? 与动态分配相对应的是静态分配,在计算机中,内存分为栈区和堆区,其中栈区的空间相对于堆区会 ...
分类:
编程语言 时间:
2019-08-11 12:38:40
阅读次数:
103
数据库:存储数据的仓库 指长期存储在计算机内 有组织 可共享的数据的集合 按一定的数学模型组织 描述和存储 具有较小的 较高的 数据独立性和易扩展性 可为各种用户共享 SQL及其规范: 1. 在数据库系统中 SQL语句不区分大小写 但字符串常量区分大小写 建议命令大写 表名库小写 2.SQL语句可单 ...
分类:
数据库 时间:
2019-08-10 21:52:16
阅读次数:
128
所谓的临界区:是指进程中的一段需要访问共享资源并且当另一个进程处于相应代码区域时便不会被执行的代码区域对于临界区的管理的必须要满足一下的四个要求:互斥:同一时间临界区中最多存在一个线程Progress:如是一个线程想要进入临界区,那么它最终会成功有限等待:如果一个线程i处于入口区,那么在i的请求被接... ...
分类:
编程语言 时间:
2019-08-10 17:06:30
阅读次数:
82
整个内存中分为四大区: CODE:代码区,存放代码的; DATA:数据区,存放常量、字符串、用static申明的变量; 特点:不会因为程序的退出,数据而消失。 STACK:栈,任何一个程序要运行,都将会推入栈,待运行完毕后重新释放; HEAP:heap区的分类由程序员自己设定,注意容量。 ...
分类:
编程语言 时间:
2019-08-10 14:35:10
阅读次数:
104