引用计数法:给每个对象一个引用计数器,每当有一个地方引用它时,计数器就会加1;当引用失效时,计数器的值就会减1;任何时刻计数器的值为0的对象就是不可能再被使用的。优点:1、可即时回收垃圾:在该方法中,每个对象始终知道自己是否有被引用,当被引用的数值为0时,对象马上可以把自己当作空闲空间链接到空闲链表 ...
分类:
编程语言 时间:
2020-04-26 13:58:52
阅读次数:
79
Netty 异步事件驱动的网络应用程序框架。 特点 高并发 基于NIO开发的网络通信框架 传输快 零拷贝 Netty的接受和发送bytebuffer使用堆外直接内存进行socket读写,传统堆内存进行socket读写,JVM将堆内存buffer拷贝到内存,然后写入socket。相比之下,消息在发送多 ...
分类:
Web程序 时间:
2020-04-07 22:30:42
阅读次数:
195
本文仅作为复习清单使用 运行时数据区域 线程私有 :程序计数器,JAVA虚拟机栈,本地方法栈 线程共享 :堆,方法区,运行时常量池,直接内存 内存分配方式 指针碰撞 空闲列表 本地线程分配缓冲 堆在某种程度上,也存在线程私有的部分哦 对象的内存布局 对象头 : Mark word,类型指针 实例数据 ...
分类:
编程语言 时间:
2020-03-27 01:09:37
阅读次数:
73
一、原始值和引用值的概念 在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。 1.1 原始值 (1)原始值指的是 原始类型 的值,也叫 基本类型,例如 Number、Stirng、Boolean、Null、Underfined 。 (2)存储在栈(stack)中的简单数据段, ...
分类:
编程语言 时间:
2020-03-19 13:18:54
阅读次数:
54
作者: 捡?螺的?男孩 常? OOM 异常分析 堆溢出 栈溢出 方法区溢出 本机直接内存溢出 GC overhead limit exceeded 一、堆溢出 Java 堆?于存储对象实例,只要不断地创建对象,并且保证 GC Roots 到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么 在对 ...
分类:
其他好文 时间:
2020-02-21 00:10:59
阅读次数:
75
OOM 异常 (OutOfMemoryError) OOM 异常 (OutOfMemoryError) Java 堆溢出 Java 虚拟机栈和本地方法栈溢出 方法区和运行时常量池溢出 直接内存溢出 Java 堆溢出 出现标志:java.lang.OutOfMemoryError: Java heap ...
分类:
编程语言 时间:
2020-02-01 19:47:03
阅读次数:
109
Unsafe 类是JDK底层类库提供的、基于Java内存模型访问底层的机制,通过该类可以实例化对象、直接操作堆外内存(直接内存)、CAS原子操作等。Java基于AQS实现的同步工具类、并发容器,Netty对堆外内存的操作都基于该类实现。 获取Unsafe实例 中提供了静态方法 可以直接获取到 对象, ...
分类:
其他好文 时间:
2020-01-29 19:51:07
阅读次数:
92
1. Java内存区域 1.1 运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。主要包括:程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(运 行时常量池)、直接内存。 程序计数器 程序计数器(Program Counter Register) ...
分类:
编程语言 时间:
2020-01-05 22:37:11
阅读次数:
95
Linux操作系统的功能可以概括为进程管理、内存管理、文件系统管理、设备管理、网络等几部分。所有的系统操作最终都可以映射到对物理设备的操作。除去对CPU、内存以及其他少数几个物理实体的操作之外,系统对其他设备的所有操作都通过专门的称为驱动程序的代码完成。系统中存在的每种外设在内核中都必须有对应的设备 ...
分类:
其他好文 时间:
2020-01-05 11:41:47
阅读次数:
340
1 def 下单(): 2 # 获取参数(前端或内存数据库) 3 用户id=request.用户id 4 if not 用户id: 5 return '请登录' 6 7 if not all(地址, 支付手段, 商品id&购买数量[列表] ) 8 return '信息不全' 9 # 校验 10 tr ...
分类:
其他好文 时间:
2019-12-25 23:33:28
阅读次数:
125