
JVM
文章平均质量分 87
杏花烟雨湘兰
杏花烟雨,元芷湘兰
展开
-
JVM:垃圾回收
不管我们写什么语言,我们都需要向内存当中分配数据,在C语言当中,我们使用malloc方法来给变量分配内存。在C++中我们new一个对象来分配内存。然而,所有语言都会面临一个问题:当我分配了一块内存空间之后,我们需要把它回收掉。在C/C++中我们一般称之为手工回收。也就是需要开发人员自己回收内存。手工回收在调试程序的时候有巨大的困难。比如假设我们忘记了回收内存,别的变量就无法再占有这块内存,这就造成了内存泄漏。再比如我们判断失误多回收了一次,及会造成不可预估的损失。原创 2023-04-11 18:35:18 · 1190 阅读 · 1 评论 -
JVM:锁的本质
当涉及到多线程编程时,锁是一个非常重要的概念。锁是一种同步机制,用于控制对共享资源的访问。在并发编程中,如果多个线程同时尝试访问同一个共享资源,可能会导致数据竞争和不一致的结果。锁的作用是确保同一时间只有一个线程可以访问共享资源,从而避免数据竞争和不一致的结果。但是,锁的本质是什么?为什么锁是如此重要?在本文中,我们将探讨锁的本质,并深入了解锁的工作原理。原创 2023-04-10 12:42:12 · 429 阅读 · 1 评论 -
JVM(1):初步了解
任何语言,只要能编译成class,符合class文件的规范,都可以在JVM上运行,不管你是谁,只要你编译成class,你就是我的菜。我们需要避免一个误区:JVM并不是只用于执行java的虚拟机,很多编程语言都可以通过JVM来实现跨平台执行,比如:Java,Scala,groovy等等,据统计,一共有一百多种编程语言是可以直接跑在JVM虚拟机上的。JVM是一种规范,是一个被虚拟出来的计算机,可以想象成它是一个单独的机器,他有自己的CPU,有自己的指令集,有自己的汇编语言,相当于有自己的操作系统。原创 2023-03-24 13:42:48 · 238 阅读 · 1 评论