最近接触不少C程序,对于指针的使用有很多,相关知识点的认识也有误区,网上搜了一下,综合一下备用。 char *s1 = "hello";char s2[] = "hello"; 【区别所在】 char *s1 的s1是指针变量,而指针是指向一块内存区域,它指向的内存区域的大小可以随时改变,而且当指针 ...
分类:
其他好文 时间:
2018-07-22 17:40:05
阅读次数:
186
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来。——《深入理解Java虚拟机》周志明 Java的运行时数据区域 程序计数器:是一块较小的内存空间,是当前线程所执行的字节码的行号指示器。该区域是线程私有的,也是唯一一个不会抛出OutOfMem ...
分类:
编程语言 时间:
2018-07-22 17:03:54
阅读次数:
133
java内存区域 程序计数器 因为java可以多线程并发执行,因此,为了线程切换后能恢复到正确的执行位置,每个线程都需要一个独立的程序计数器。记录正在执行的虚拟机字节码指令的地址。 这个区域不会产生内存溢出异常。 栈 java虚拟机栈 栈中主要存放了编译期可知的四类八种基本数据类型存(逻辑型 boo ...
分类:
其他好文 时间:
2018-07-21 19:51:49
阅读次数:
200
前言 简单的针对JAVA虚拟机(JVM)相关知识做一个总结,从此章开始这是一个系列文章,包括内容有; 1 前端编译,AOT(静态编译),JIT即时编译 2 字节码文件的结构,类加载机制以及运行时内存区域 3 关于对象的创建,内存的分配,访问的定位,判断对象是否可用,内存的回收 4 对象内存分配及垃圾 ...
分类:
其他好文 时间:
2018-07-18 17:19:46
阅读次数:
147
我们在前面几篇文章中有说到游标这个词,那么,究竟什么是游标? 我们来解释一下:一种能从包括多条数据记录的结果集中每次提取一条记录的机制。当然,游标也能用来充当指针的作用。哈哈哈,问题又来了,什么是指针?我们要明白一个概念就是:我们把数据储存在电脑的内存中的时候,电脑是会给每一个数据分配一个地址的,每 ...
分类:
其他好文 时间:
2018-07-18 00:00:37
阅读次数:
195
JAVA变量(包括常量)可以存放在 栈、堆、方法区三块内存区域,除去方法区的常量池中存放的常量之外主要的变量都存放在栈和堆中。 其中栈中的变量会受线程的影响(线程私有),当线程结束时变量销毁 堆中的变量则是线程共享的,由 gc 处理。 变量的存储位置跟变量的类型和变量的作用域有关,如下: ...
分类:
编程语言 时间:
2018-07-17 19:29:07
阅读次数:
183
运行时数据区域 1、线程独有的内存区域 程序计数器空间较小,是当前线程执行字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 如果线程执行的是Java方法,记录的是正在执行的虚拟机字节码指令的地址;如果执行的是Native方法,则为空 虚拟机栈生命周期 ...
分类:
编程语言 时间:
2018-07-17 12:36:22
阅读次数:
166
MySQL体系结构 实例 mysqld在启动时,自动派生master thread >生成工作的线程(read write 资源管理 等线程)预分配内存区域 mysqld三层结构 DML:数据操作语言 DDL:数据库对象定义语言 DCL:数据控制语言 mysql三层结构 连接层 1、提供连接协议(T ...
分类:
数据库 时间:
2018-07-14 22:19:14
阅读次数:
266
一 为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率:全部掌握这 ...
分类:
其他好文 时间:
2018-07-10 16:48:17
阅读次数:
183
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论 ...
分类:
其他好文 时间:
2018-07-10 15:57:13
阅读次数:
149