백엔드 개발 PHP 튜토리얼 奇怪的现象:恒量的创建过程

奇怪的现象:恒量的创建过程

Jun 13, 2016 am 10:42 AM
dump get int memory usage

奇怪的现象:常量的创建过程

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpvar_dump ( memory_get_usage() );  // int(129100)var_dump( memory_get_usage() );  // int(129156)  - 很难理解,这里为什么会有内存增加?var_dump( memory_get_usage() );  // int(129156)define('hello', 'WORLD');var_dump( memory_get_usage() );  // int(129156)   - 既然创建了一个常量,就该有内存增加。$hello = 'WORLD';var_dump( memory_get_usage() );  // int(129304)
로그인 후 복사


------解决方案--------------------
看这个吧:
http://www.laruence.com/2011/03/04/1894.html

php和C那样的底层语言是不一样的,它本身更象一个小系统
------解决方案--------------------
我的执行结果是
int(51312)
int(51424)
int(51424)
int(51480)
int(51480)

我觉得讨论单条语句所花的内存没有意义。内存的分配实际上都是分段的,也就是即使你需要1个字节的内存,实际分配有可能是32个字节或者1024个字节,取决于分配策略,因为这样就不需要每次使用每次分配,一个变量所花的内存一般按照一个字母一个字节近似计算一下即可,很难精确计算。

另外var_dump这个函数本身会输出字符串,这个字符串是不是也需要内存,这取决于内部实现。为什么有的时候运行会增加内存有的时候内存不变,那就是因为前次分配多出来的内存是否够用的问题,如果够用就不需要增加,如果不够用就要增加。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

덤프 파일이란 무엇입니까? 덤프 파일이란 무엇입니까? Jan 12, 2024 pm 04:58 PM

덤프 파일은 일반적으로 덤프 파일 또는 코어 덤프 파일이라고도 하는 이진 파일을 나타냅니다. 이러한 종류의 파일은 컴퓨터 시스템에 심각한 오류나 비정상적인 상황이 발생할 때 생성됩니다. 시스템이나 응용 프로그램의 상태, 스택, 레지스터, 메모리 이미지, 로그 및 기타 정보를 저장하는 데 사용됩니다.

데스크톱 PC용 CAMM2: MSI는 게임 타워를 위한 새로운 RAM 표준의 이점을 설명합니다. 데스크톱 PC용 CAMM2: MSI는 게임 타워를 위한 새로운 RAM 표준의 이점을 설명합니다. Aug 17, 2024 pm 06:47 PM

최초의 노트북용 LPCAM2 모듈은 이미 납품되고 있으며, 향후 데스크탑 메인보드에도 CAMM2가 탑재될 것으로 예상됩니다. CAMM2와 LPCAM2는 서로 호환되지 않으며 데스크탑 PC에서도 사용에 주의가 필요합니다.

PHP에서 int형을 바이트형으로 변환하는 방법에 대한 자세한 설명 PHP에서 int형을 바이트형으로 변환하는 방법에 대한 자세한 설명 Mar 06, 2024 pm 06:18 PM

PHP에서 int형을 byte로 변환하는 방법에 대한 자세한 설명 PHP에서는 네트워크 데이터 전송이나 파일 처리, 암호화 알고리즘 등을 다룰 때 정수형(int)을 byte(byte)형으로 변환해야 하는 경우가 많습니다. . 이번 글에서는 int형을 byte형으로 변환하는 방법을 자세히 소개하고 구체적인 코드 예시를 제공하겠습니다. 1. int형과 byte의 관계 컴퓨터 분야에서 기본 데이터형 int는 정수를 나타내고, byte(바이트)는 컴퓨터 저장 단위로 보통 8비트 바이너리 데이터이다.

PowerShell을 사용하여 작업을 자동화하는 방법 PowerShell을 사용하여 작업을 자동화하는 방법 Feb 20, 2024 pm 01:51 PM

IT 관리자이거나 기술 전문가라면 자동화의 중요성을 인식해야 합니다. 특히 Windows 사용자의 경우 Microsoft PowerShell은 최고의 자동화 도구 중 하나입니다. Microsoft는 타사 응용 프로그램을 설치할 필요 없이 자동화 요구 사항에 맞는 다양한 도구를 제공합니다. 이 가이드에서는 PowerShell을 활용하여 작업을 자동화하는 방법을 자세히 설명합니다. PowerShell 스크립트란 무엇입니까? PowerShell을 사용한 경험이 있다면 명령을 사용하여 운영 체제를 구성했을 수 있습니다. 스크립트는 .ps1 파일에 있는 이러한 명령의 모음입니다. .ps1 파일에는 기본 Get-Help와 같이 PowerShell에서 실행되는 스크립트가 포함되어 있습니다.

double 유형 변수를 int 유형으로 변환하는 C++ 프로그램 double 유형 변수를 int 유형으로 변환하는 C++ 프로그램 Aug 25, 2023 pm 08:25 PM

C++에서 int 유형의 변수는 양수 또는 음수 정수 값만 보유할 수 있으며 소수 값은 보유할 수 없습니다. 이를 위해 float 및 double 값을 사용할 수 있습니다. double 데이터형은 소수점 이하 7자리까지 소수점 이하 자릿수를 저장하기 위해 만들어졌습니다. 정수를 double 데이터 형식으로 변환하는 것은 컴파일러에 의해 자동으로 수행되거나("암시적" 변환이라고 함) 프로그래머가 컴파일러에서 명시적으로 요청할 수 있습니다("명시적" 변환이라고 함). 다음 섹션에서는 다양한 변환 방법을 다룹니다. 암시적 변환 컴파일러는 암시적 유형 변환을 자동으로 수행합니다. 이를 달성하려면 부동 소수점 유형과 정수 유형의 두 가지 변수가 필요합니다. 단순히 부동 소수점 값이나 변수를 정수 변수에 할당하면 컴파일러가 다른 모든 사항을 처리합니다.

Java는 어떻게 http 요청을 시작하고 게시물을 호출하고 인터페이스를 얻습니까? Java는 어떻게 http 요청을 시작하고 게시물을 호출하고 인터페이스를 얻습니까? May 16, 2023 pm 07:53 PM

1. Java가 post 인터페이스를 호출합니다. 1. java와 함께 제공되는 URLConnection 또는 HttpURLConnection을 사용합니다. 다른 jar 패키지를 다운로드할 필요가 없습니다. 서버에서 인터페이스 응답 코드를 수정하면 반환 메시지를 받을 수 없습니다. 응답 코드가 올바른 경우에만 수신할 수 있습니다. publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt

int32의 값 범위는 무엇입니까? int32의 값 범위는 무엇입니까? Aug 11, 2023 pm 02:53 PM

int32의 값 범위는 -2의 31승부터 2의 31승 - 1, 즉 -2147483648부터 2147483647까지입니다. int32는 부호 있는 정수 유형입니다. 즉, 양수, 음수 및 0을 나타낼 수 있습니다. 1비트를 사용하여 부호 비트를 나타내고 나머지 31비트는 숫자 값을 나타내는 데 사용됩니다. 부호비트를 표현하는데 1비트가 사용되므로 int32비트의 유효수는 31이다.

Go 언어에서 int를 문자열 유형으로 변환하는 방법 Go 언어에서 int를 문자열 유형으로 변환하는 방법 Jun 04, 2021 pm 03:56 PM

변환 방법: 1. Itoa() 함수를 사용하여 "strconv.Itoa(num)" 구문을 사용합니다. 2. FormatInt() 함수를 사용하여 int 형식의 데이터를 지정된 베이스로 변환하고 문자열 형식으로 반환합니다. 구문 "strconv .FormatInt(num,10)".

See all articles