月度归档: 2023 年 9 月

5 篇文章

Neo4j 与 Cypher 基础
简介 Neo4j 是用 Java 实现的开源 NoSQL 图数据库。从2003年开始开发,2007年正式发布第一版,其源码托管于 GitHub。 与常见的关系型数据库不同,Neo4j 基于图图结构来表示和存储数据,并提供了申明式的查询语言 Cypher 来处理图数据。Neo4j 实现了专业数据库级别…
创建线程的方式打开记事本
创建线程的方式打开记事本 今天操作系统课老师讲到进程,提出了一个有趣的小实验:能否以系统调用的方式利用 Windows 创建进程的系统调用函数来打开一个软件。闲着蛋疼的我立马来了兴趣,姑且写一个玩玩( 头文件 <windows.h>:包含了 Windows API 的核心功能。 <…
深入理解 JVM 之——字节码指令与执行引擎
类文件结构 Write Once,Run Anywhere 对于 C 语言从程序到运行需要经过编译的过程,只有经历了编译后,我们所编写的代码才能够翻译为机器可以直接运行的二进制代码,并且在不同的操作系统下,我们的代码都需要进行一次编译之后才能运行。 而 Java 不同于 C,由于 JVM 内置了解释…
深入理解 JVM 之——垃圾回收与内存分配策略
垃圾回收策略 说起垃圾收集(Garbage Collection,下文简称GC),有不少人把这项技术当作Java语言的伴生产物。事实上,垃圾收集的历史远远比Java久远,在1960年诞生于麻省理工学院的Lisp是第一门开始使用内存动态分配和垃圾收集技术的语言。 回收三问 哪些区域的内存需要回收? J…
深入理解 JVM 之——Java 内存区域与溢出异常
本篇为深入理解 Java 虚拟机第二章内容,推荐在学习前先掌握基础的 Linux 操作、编译原理、计算机组成原理等计算机基础以及扎实的 C/C++ 功底。 该系列的 GitHub 仓库:https://github.com/Doge2077/learn-jvm 运行时数据区域 Java 虚拟机在执行…