JVM、JRE 和 JDK 之间的区别
本文中,我们将通过 JVM、JRE 和 JDK 的组件和用途来讨论它们之间的差异。 Java Virtual Machine (JVM) 是执行 Java 程序的虚拟机的实现。JVM 首先解析字节码。然后,它将类信息存储在存储区中。最后,它执行 java 编译器生成的字节码。它是一台具有自己的指令集的抽象计算机,在运行时操纵各种内存区域。...
Java 基础 - Java 中的控制结构
从最基本的意义上讲,程序是一系列指令。控制结构是编程块,可以改变我们通过这些指令的路径。本文中,我们将探索 Java 中的控制结构。它有三种控制结构:条件分支,用于在两条或多条路径之间进行选择。Java 中有三种类型:if/else/else if、三元运算符和 switch。用于迭代多个值/对象并重复运行特定代码块的循环。Java 中...
Java 基础 - Java main() 方法解析
每个程序都需要一个开始执行的地方;说到 Java 程序,这就是 main 方法。我们习惯于在代码会话中编写 main 方法,以至于我们甚至不注意它的细节。在这篇短文中,我们将分析这种方法,并展示一些其他的编码方法。最常见的 main 方法模板是:public static void main(String[] args) { }这就是...
在 Git 中使用对人类友好的日期格式
Git 是当今版本控制的事实标准。毫无疑问,它是一个强大的工具,可以帮助你以及管理代码并与他人协作。Git 提供了许多绝妙的功能,可以帮助你更好地理解代码历史。但最近,我偶然发现了一个名为“相对日期”的功能,它可以用来以一种对人类友好的方式指定日期,从而从 Git 历史中提取各种信息。比如,git show 命令可用于显示提交或文件特定版本的日志...
Spring 与 Spring Boot 之比较
本教程中,我们将研究标准 Spring 框架和 Spring Boot 之间的差异。我们将重点讨论 Spring 的模块,如 MVC 和 Security,在核心 Spring中使用时与在 Boot 中使用时有何不同。Spring 框架为开发 Java 应用提供了全面的基础设施支持。它包含了一些...
Laravel Eloquent 中使用泛型
编程中的泛型是一种特性,允许你使用占位符类型定义函数、类和数据结构。使你能够编写更灵活和可重用的代码。泛型通常用于 Java、C# 和 C++ 等静态类型语言。Python 等动态语言也支持它。为什么使用泛型?使用泛型由多个好处:类型安全:泛型确保关联返回正确类型的模型,从而降低了由于模型类型不正确而导致的运行时错误的风险。更好的 IDE 支持:使用泛型时,...
Laravel 新的 defer() 助手背后的魔力
Laravel 最近发布了一个名为 defer() 的新助手函数,可用于将回调的执行推迟到响应成功发送之后。通过这种方式,你可以将耗时的工作(比如调用外部 API)卸载到回调,并尽快向用户返回响应。这是它的样子。Route::get('/defer', function () { defer(function () { // do t...
[Laravel 扩展包]在 Laravel 中备份数据库表
有时,由于某种原因,你可能需要备份数据库表。比如,你可能希望在执行某些迁移之前,在不同的环境中还原它们或备份数据库表。在做任何破坏性的事情之前,备份你的表格可能被认为是一种很好的做法。这就是接下来将要介绍的这个 Laravel 包可以派上用场的地方。本质上,这个包允许从代码中备份一个表或一组表。首先,使用 Composer 安装软件包。...
[Laravel 扩展包] Matrix.org 的 PHP SDK
updivision/matrix-php-sdk 是一个在 Laravel 项目中使用 Matrix 聊天客户端的包。官方文档你可以在 Matrix.org 官网上查看 Matrix Client-Server API 文档。要在 Laravel 中使用 Matrix PHP SDK,请使用 Composer 将该包添加到项目依赖中:composer re...
Java 使用 Liquibase 安全地演化数据库 schema
本文将向你展示如何使用 Liquibase 来演化 Java web 应用的数据库 schema。首先,我们将研究一个通用的 Java 应用,然后重点介绍一些与 Spring 和 Hibernate 很好集成的有趣选项。当使用 Liquibase 时,我们可以使用一系列变更日志文件来描述数据库 schema 的演变。尽管这些文...