【服务端开发】对比Java和PHP的final

简介: 对比Java和PHP的final

对比Java和PHP的final


final---用于类、方法前。

final类---不可被继承。

final方法---不可被覆盖。


注意:php中不能用final不能修饰属性。php和Java不同,Java中类属性是可以用final修饰表示的是常量;PHP不能,因为PHP的常量只能用define或者const定义。


单引号和双引号的区别


PHP中,单引号和双引号所包围的字符串有什么区别呢?

双引号包裹的$变量会被解析,而单引号不解析;

因为双引号包裹的内容要检查是否包括变量,所以读取双引号的速度比单引号要慢。


堆 栈


<?php 
class A{
    public $num=100; 
}
$a = new A();
$b = $a;
$a->num=200;
echo $b->num;
?>


输出结果


200


分析:在PHP中,基本类型变量放在栈中,对象、数组放在堆中,对象中真正的内容是存在堆中。


a只是存放了该对象在堆中的地址,将a只是存放了该对象在堆中的地址,将aa赋给b,只是把对应的地址给了他,即b,只是把对应的地址给了他,即b,a、b都存放了对象在堆中的地址,所以b都存放了对象在堆中的地址,所以bb->num和$a->num访问的是同一份数据。


unset


$a="hello";
$b= &$a;
unset($b);
$b="world";
echo $a; 


输出结果:


hello


我们可以把变量名想象成一个容器:


微信图片_20221112124713.jpg


unset相当于把这个标签名给撕了,但是只要这个盒子还有标签名贴着,那就不会被PHP的垃圾回收机制给回收掉!

所以除非把所有标签给撕了,或者直接把容器里面的东西给拿出来,那么就成了空==>NULL了


合并数组


PHP中array_merge()和+的区别


测试代码:


$a = ['a', 'b', 'c'];
$b = ['a', 'b'];
$r1 = $a + $b;
$r2 = array_merge($a, $b);
echo "+结果:";
var_dump($r1);
echo "array_merge结果:";
var_dump($r2);
exit();


运行结果:


  1. +合并数组,相同的值不会重复追加;
  2. array_merge() 相同的值也会重复追加,且第二个参数直接合并到第一个参数数组的后面。


微信图片_20221112124718.jpg


相关文章
|
8月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
9月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
10月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
462 3
|
10月前
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
452 2
|
9月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
9月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
367 0
|
10月前
|
移动开发 Cloud Native 安全
Java:跨平台之魂,企业级开发的磐石
Java:跨平台之魂,企业级开发的磐石
|
Java 开发工具 git
Java开发初级6.24.3
5.在Git使用过程中,进行Git配置的操作命令是哪个() A. config B. config -g C. config -a D. git config 相关知识点: 在git中,经常使用git config 命令用来配置git的配置文件,git配置级别主要有:仓库级别 local 【优先级最高】、用户级别 global【优先级次之】、系统级别 system【优先级最低】 正确答案:D 10.RDBMS是什么? A. Rela Database Management Systems B. Relational Database Management Systems C. Relation
299 0
|
SQL 前端开发 JavaScript
Java开发初级6.24.2
3.Java网站src/main/java目录保存的是什么资源? A. Java源代码文件 B. 测试代码 C. JavaScript、CSS等文件 D. 图片资源 正确答案:A 4.什么是索引Index? A. SQL数据库里的表管理工具 B. SQL数据库里的查询工具 C. SQL数据库里的目录工具 D. SQL数据库用来加速数据查询的特殊的数据结构 正确答案:D
359 0