对象在 JVM 中是怎么存储的 对象头里有什么? 文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱,有你想要的。 作为一名 Javaer,生活中的我们可能暂时没有对象,但是工作中每天都会创建大量的 Java 对象,你有试着去了解下自己的“对象”吗? 我们从四个方面重新认 ...
分类:
编程语言 时间:
2020-07-13 18:11:58
阅读次数:
58
1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。 跨平台:任何软件的运行,都必须要运行在操 ...
分类:
编程语言 时间:
2020-07-13 18:09:16
阅读次数:
70
关于进程和线程,大家总是说的一句话是“进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元”。这句话理论上没问题,我们来看看什么是所谓的“资源”呢。 什么是计算机资源 经典的冯诺依曼结构把计算机系统抽象成 CPU + 存储器 + IO,那么计算机资源无非就两种: 1. 计算资源2. 存储资 ...
分类:
编程语言 时间:
2020-07-13 18:07:35
阅读次数:
82
前言 本方案主要目的是学习, 该方案不太合适于企业项目 是什么? 白话点, 是个提供了必要环境的虚拟机(类似于java的导入部分包一样和c++的头文件差不多), 所以它比普通的VMWare或者VirtualBox安装的虚拟机要轻 总体来说类似于jvm那样的存在, 只不过jvm运行的是java编译的字 ...
分类:
数据库 时间:
2020-07-13 13:54:51
阅读次数:
100
volatile 变量提供顺序和可见性保证,例如,JVM 或者 JIT 为了获得更好的性能 会对语句重排序,但是 volatile 类型变量即使在没有同步块的情况下赋值也不会 与其他语句重排序。 volatile 提供 happens-before 的保证,确保一个线程的 修改能对其他线程是可见的。 ...
分类:
其他好文 时间:
2020-07-13 13:48:04
阅读次数:
70
volatile相当于轻量级锁 1,与锁不同的是,volatile不具有排他性,也不会导致上下文切换. 2,与锁相同的是,JVM实现volatile的有序性和可见性的保证也是借助内存屏障. volatile变量写操作相当于释放锁,读操作相当于获得锁 JVM通过在volatile变量写之前插入释放屏障 ...
分类:
其他好文 时间:
2020-07-13 13:45:09
阅读次数:
92
互联网上讲述nginx高并发配置的比较多,主要是nginx+php。本博讲述nginx java web应用配置,实现高并发。 配置cpu核数 worker_processes 10; worker_rlimit_nofile 102400; 配置epoll网络模型 worker_connectio ...
分类:
编程语言 时间:
2020-07-13 13:15:04
阅读次数:
71
什么是size_t? size_t是当前平台下可能出现的最大的数组大小array.size,与unsigned int 没有明确的关联 stat函数 #include <sys/stat.h> int stat (const char* restrict pathname, struct stat* ...
分类:
其他好文 时间:
2020-07-13 12:04:07
阅读次数:
66
四、类加载 编写的Java代码需要经过编译器编译为class文件(从本地机器码转变为字节码的过程),class文件是一组以8位字节为基础的二进制流,这些二进制流分别以一定形式表示着魔数(用于标识是否是一个能被虚拟机接收的Class文件)、版本号、字段表、访问标识等内容。代码编译为class文件后,需 ...
分类:
其他好文 时间:
2020-07-13 11:49:04
阅读次数:
54
三、JVM垃圾回收 垃圾回收,就是通过垃圾收集器把内存中没用的对象清理掉。垃圾回收涉及到的内容有:1、判断对象是否已死;2、选择垃圾收集算法;3、选择垃圾收集的时间;4、选择适当的垃圾收集器清理垃圾(已死的对象)。 1、判断对象是否已死 判断对象是否已死就是找出哪些对象是已经死掉的,以后不会再用到的 ...
分类:
其他好文 时间:
2020-07-13 11:44:42
阅读次数:
60