跳至主要內容
Spring Framework 概述

Spring Framework 简介

Spring是一个开源、轻量级、依赖注入(DI)容器和框架,用于构建Java企业应用程序。


会敲代码的程序猿原创大约 2 分钟SpringSpring Framework
Java新版本特性(持续连载)

为了帮助大家跟上最新的技术潮流,计划启动一个专栏,重点分享Java领域的前沿知识。 这个专栏将详细解读从Java 8 - 最新版本的各种有趣的新特性。 会持续不断地发布相关内容,希望大家能够关注并收藏起来,跟随我们一起深入了解Java的最新进展!

详细了解Java Enhancement Proposals(JEPs)及其最新动态


会敲代码的程序猿原创大约 6 分钟JavaJava Features
Top20常用命令

作为一款领先的容器化工具,Docker 提供了强大的功能,让开发者和运维人员能够快速构建、部署和管理应用。 在这篇文章中,我们将介绍 20 条最常用的 Docker 命令,并结合详细说明,帮助大家轻松掌握 Docker 的基本操作。


会敲代码的程序猿原创大约 3 分钟DockerDocker
Docker镜像加速器

国内从Docker Hub拉取镜像有时会遇到困难,此时可以配置镜像加速器。

阿里云镜像加速器

阿里云镜像加速器,有针对UbuntuCentOSMacWindows的操作文档


会敲代码的程序猿原创小于 1 分钟DockerDocker
Docker概述

什么是Docker?

DockerdotCloud团队在2013年发布的开源项目。 使用Go语言开发,是一个轻量级的虚拟机容器解决方案。

为什么使用Docker?

Docker跟传统虚拟机相比,具有以下优势:

  • 更高效的利用系统资源
  • 更快速的启动速度
  • 一致的运行环境
  • 持续交付和部署
  • 更轻松的迁移
  • 更轻松的维护和扩展

Docker VS 传统虚拟机


会敲代码的程序猿原创大约 3 分钟DockerDocker
堆中对象分配、布局和访问的全过程

本文将深入探讨HotSpot虚拟机中Java堆中对象分配、布局和访问的全过程。

对象的创建

在Java中,创建对象通常使用new关键字,而在JVM中,创建对象的过程如下:

1、类加载检查

JVM首先检查new指令所引用的类是否已加载、连接和初始化。 如果没有,会先执行类加载过程


会敲代码的程序猿原创大约 2 分钟JVMJVM
运行时数据区

运行时数据区是指在运行程序时存储数据的内存区域。分为程序计数器、Java虚拟机栈、本地方法栈、Java堆和方法区五个部分。

Java虚拟机运行时数据区
Java虚拟机运行时数据区
  • 线程私有:
    • 程序计数器 - 存储线程执行位置
    • 虚拟机栈 - 存储Java方法调用与执行过程的数据
    • 本地方法栈 - 存储本地方法的执行数据
  • 线程共享:
    • - 主要存储对象
    • 方法区 - 存储类/方法/字段等定义(元)数据
    • 运行时常量区 - 保存常量static数据

会敲代码的程序猿原创大约 6 分钟JVMJVM
深入理解Java虚拟机

前言(Preface)

致谢(Acknowledgements)

第一部分 走近Java(Part 1: Approaching Java)


会敲代码的程序猿原创大约 3 分钟JVMJVM
实战编译JDK

想要窥探Java虚拟机内部的实现原理,最直接的路径就是编译自己的JDK。 尽管网络上有不少开源JDK实现,但OpenJDK无疑是最广泛使用的,我们将选择OpenJDK进行编译实战。

获取源码


会敲代码的程序猿原创小于 1 分钟JVMJVM