说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM相关原理,我们必须要面对这些东西,深入了解JVM在内存动态分配和垃圾回收技术的原理知识,这篇文章就是来做一个先... ...
分类:
其他好文 时间:
2019-12-18 14:59:43
阅读次数:
99
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法 ...
分类:
编程语言 时间:
2019-12-17 22:08:49
阅读次数:
85
线程与进程的区别 1. 进程是资源分配的最小单元,线程是CPU调度的最小单元。所有与进程相关的资源,均被记录再PCB中。 2. 线程隶属于某一个进程,共享所有进程的资源。线程只由堆栈寄存器、程序计数器和TCB构成。 3. 进程可以看作独立的应用,线程不能看作独立的应用。 4. 进程有独立的地址空间, ...
分类:
编程语言 时间:
2019-12-16 22:38:43
阅读次数:
110
函数与对其状态即词法环境(lexical environment)的引用共同构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在JavaScript,函数在每次创建时生成闭包。 词法作用域 请看下面的代码: function init() { var name = "M ...
分类:
Web程序 时间:
2019-12-15 20:14:32
阅读次数:
98
#!/usr/bin/env python # -*- coding: utf-8 -*- #用户登录(三次机会重试) count = 0 #计数器 while count < 3: user = input(">>>") #等待用户名=用户输入账号 pwd = input(">>>") #等待用户 ...
分类:
其他好文 时间:
2019-12-15 12:30:44
阅读次数:
118
JVM的垃圾回收机制,在内存充足的情况下,除非你显式的调用System.gc(),否则不会进行垃圾回收;在内存充足的情况下垃圾回收会自动运行。 一、引用计数算法 1.定义:引用计数算法会给对象添加一个引用计数器,每当有一个地方引用他的时候,计数器就加1;当引用失效的时候计数器值就减1。当计数器为0的 ...
分类:
编程语言 时间:
2019-12-15 10:22:16
阅读次数:
110
实现目的 在进行性能测试时,某些请求中的参数值并不允许被重复使用,比如账号的创建、开通授权等服务,这时就需要在jmeter中构造一些自增长型的变量,供后续请求使用,以解决参数值重复的问题。 脚本实现 设置测试计划,定义用户变量,并传给后续的相关请求使用,方便变量值的管理 设置HTTP信息头管理器,并 ...
分类:
其他好文 时间:
2019-12-15 00:39:13
阅读次数:
107
自动内存管理机制 第二章、Java内存区域与内存溢出异常 【虚拟机中内存如何划分,以及哪部分区域、什么样代码和操作会导致内存溢出、各区域内存溢出的原因】 一、运行时数据区域 Java虚拟机所管理的内存包括以下几个运行时数据区域【虚拟机内存模型】: 1.程序计数器: 可以看作是当前线程所执行的字节码的 ...
分类:
编程语言 时间:
2019-12-14 22:40:57
阅读次数:
90
1.文件内核数据结构 一个打开的文件在内核中使用三种数据结构表示: (1)文件描述符表 文件描述符标志 文件表项指针 (2)文件表项: 文件状态标志:读、写、追加、同步和非阻塞等状态标志 当前文件偏移量 i节点表项指针 引用计数器 (3)i节点 文件类型和对该文件的操作函数指针 当前文件长度 文件所 ...
分类:
其他好文 时间:
2019-12-10 23:59:43
阅读次数:
185
public class TestDui { public static void main(String[] args) { //计数器的作用,统计数量 int count = 0; for(int i = 9999;i > 999;i--){ //注意从大到小的排列,所以从9999开始 int ...
分类:
其他好文 时间:
2019-12-10 16:56:14
阅读次数:
113