Day05 内存划分、递归

电商数据分析19——数据分析在电商平台价格弹性研究中的应用 价格弹性是一个衡量产品价格变化对销量影响的经济学指标,对于电商平台而言,深入理解和有效运用价格弹性,对于制定竞争策略、优化产品定价具有重要意义。随着大数据时代的到来,通过数据分析研究产品的价格弹性,成为了电商企业制定价格策略、调整市场定位、优化促销活动的重要依据。 阅读详情

1.内存划分

 * 程序 : 一堆代码的集合,是个可执行文件,但是是一个静态概念,一般保存在硬盘中

 *

 * 进程 : 就是正在执行的可执行文件,是个动态概念,会按照程序的设计,在内存中一步步执行

 *                     运行起来的程序,指的是载入到内存中的可执行文件,这个时候操作系统就会开启一个进程来运行这个内存中的文件对象

 *                     如果我们想关闭某个软件,可以直接结束这个进程即可

 *

 *  java的内存划分和管理

 * 

 *                    Java Runtime Data Area : java 运行时数据区域,我们一般叫JVM内存

 *                    分为 : 静态区/方法区 , VM栈,堆内存,本地栈,程序计数器

 *                           

 *                    程序计数器 : 是一块比较小的内存,,可以看做字节码文件的指示器,分支,循环,跳转等,都需要程序计数器来完成

 *                   

 *                    静态区/方法区 :

 *                            是存放我们的程序文件的,载入内存后的class文件,在静态区存储

 *                            包括方法,静态属性都是在静态区的

 *                            还有运行时常量池

 *  

 *                     VM栈 : 虚拟机栈,一般都叫栈内存

 *                              栈内存,是以栈数据结构为模型,开辟的一块内存空间

 *                                      栈是一种数据结构,先进后出, 比如说 弹夹

 *                              栈构成因素 :

 *                                               栈空间  : 就是以栈数据结构为模块开辟的空间 就叫栈空间

 *                                               栈帧 : 栈空间中的每一个元素,就是一个栈帧 , 比如 弹夹 就是栈空间, 弹夹中的每一个子弹,就是栈帧

 *                                               栈顶元素 : 指最后一个放进去的栈帧,在最上面

 *                                               栈底元素 : 指第一个放进去的栈帧,在最下面

 *                              方法是在栈内存中 执行的

 *                              栈的操作 :

 *                                               压栈 : 就是把栈帧放到栈空间的过程

 *                                               弹栈 : 就是把栈帧从栈空间中弹出的过程

 *           

 *              本地栈 :

 *                              比如hashCode() 方法,前面 有个 native声明,本地,当我们执行这些方法的时候,会在本地栈执行

 *                              对于我们来说就是简单的调用方法,但是对于JVM来说,需要单独的空间来存储C的服务

 *                              结构和VM栈 一模一样

 *

 *                     堆内存 :

 *                                      用来保存对象的,先不管

 *                                      每个对象空间,分为3大类

 *                                               数据部分 : 成员变量xxx

 *                                               头部 : hashCode值

 *                                               类型 : 指向静态区中,创建该对象的这个class文件对象

 *                             

 *

 * java程序执行流程 :

 *

 *            1 编码

 *                              利用开发软件,编辑器进行编码,生成xx.java文件

 *            2 编译

 *                              通过javac命令,把xx.java文件 编译成xx.class文件

 *            3 运行

 *                              通过java命令,运行xx.class文件

 *                              3.1 开启java虚拟机,然后xx.class文件被载入到内存中的静态区

 *                              3.2 jvm自动调用该程序的main方法

 *                              3.3 main方法被调用,会在栈内存中开辟main方法的栈帧,然后把main方法代码复制进去执行

 *                                      如果main中,没有其他方法调用,则顺序执行完后,弹栈退出,jvm关机

 *                                      如果main方法,有其他方法调用,就在栈内存中再开辟一个栈帧,把该方法的代码复制进去执行

 *                                      如果被调用方法中,还有其他方法的调用,以此类推,执行完返回调用处,继续执行

 *                                      一直到main方法都执行结束,弹栈,则JVM关机

 *

 *            程序的加载 :

 *                              静态加载 : 运行程序的时候,会一次性把所有相关的程序都载入

 *                              动态加载 : 运行过程中,用到谁 就去加载谁

 *                     java中采用 动态加载

 *

 * 方法的执行 :

 *            方法在调用的时候,才会在栈内存找那个开辟栈帧

 *            如果方法不调用,则不会再内存空间中划分空间,只保留在静态区

 *

 *            方法调用 : 就等于压栈操作

 *            方法执行完成 : 就等于弹栈操作

、

2.递归

2.1概述

2.2 应用场景

2.3 加和

2.4 斐波那契数列

从GitHub到海浪模拟:手把手教你配置WAVEWATCHⅢ 6.07.0的完整开发与测试环境 本文详细指导如何在Ubuntu系统中配置WAVEWATCHⅢ 6.07.0的开发与测试环境,涵盖虚拟机设置、依赖安装、源码编译及案例验证的全流程。通过步骤化教程,帮助科研人员快速搭建高效的海浪模拟平台,提升海洋数值模拟的研究效率。 阅读详情

相关推荐

51单片机AHT20-21源代码

传感器输出经过 标定的数字信号,标准 I 2 C 格式。AHT20 配有一个全新设计的 ASIC专用芯片、一 个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件,其 性能已经大大提升甚至超出了前一代传感器的可靠性水平,新一代温湿度传感器, 经过改进使其在恶劣环境下的性能更稳定。但是现在网上的大多数原码都是针对stm32等的这种多位单片机,而我们都知道51单片机是8位单片机,无法对浮点数进行运算,对32位的整数计算有时候也不是很准确,所以我对网上stm32的例程进行了修改。...

wd0710的博客 4549

day_05方法重载、内存划分、递归

1.方法 1.1方法重载 package day_05text; public class Text1 { /** * 方法重载 : 方法名相同,参数列表不同 * 参数列表不同分为两种 : 1 类型不同 2 个数不同 * 相同功能,相同名字,通过不同的参数区分, 比较美观,容易记忆,相同功能只需要记住一个方法即可 */ public static void main(String[] args) { isEquals((byte) 1, (byte) 1); isEqu

G_z_s的博客 165

linux 4.19在龙芯平台上编译出错解决方法

OS: Loongnix server 1.7 工具链为:系统自带的gcc-4.8.5 和 gcc-7.3 平台:3A3000/3A4000 源码:kernel: 4.19 编译步骤 ··· make loongson3_defconfig make -j4 ··· 出错信息: HOSTCC arch/mips/boot/compressed/calc_vmlinuz_load_addr arch/mips/boot/compressed/head.S: Assembler messages: arch/m

sense的专栏 1125

Day_05_方法重载、内存划分、递归

1.方法重载 定义:方法名相同,参数列表不同 参数列表可以分为数据类型不同和数据个数不同 相同功能,相同名字,只需要不同的参数就可以 2.内存划分 程序定义: 可执行的文件,是一堆命令的集合,是一个静态概念 保存在硬盘中 进程定义 : 就是正在执行的程序,是个动态概念,保存在运行内存中,会按照该程序的设计在内存中一步步执行 运行中的程序 也就是指把硬盘中的可执行文件载入到内存中的,操作系统会开启一个进程,用来保存运行的这个文件 ...

DuckBuBi 123

解决Unity与3DMax模型单位与中心点偏差的完整指南

本文详细解析了Unity与3DMax模型导入时常见的单位与中心点偏差问题,提供了从3DMax单位设置、FBX导出到Unity接收调整的完整解决方案。通过实战案例和高效工作流建议,帮助开发者实现unity与3dmax的单位统一,避免尺寸错误和轴心偏移,提升3D资源导入效率。

weixin_29015899的博客 286

从叶片之舞到数据之眼:净空雷达如何重塑风电安全与效率的边界

净空雷达通过激光或毫米波技术实现风机叶片与塔筒间距离的毫米级实时监测,极大提升了风电场在极端天气下的安全性与运营效率。这项技术不仅预防扫塔事故,还通过数据可视化与智能分析赋能叶片健康管理和发电优化,成为风电数字化运维的核心基础设施。

xk7n92h3p5m的博客 1161

day05_内存、递归

方法重载 : 方法名相同,参数列表不同

br的博客 158

GAN网络(论文阅读):Generative Adversarial Nets

当判别器效果比较好时,D(G(z))值为0,则log(1-D(G(z)))值为0,当判别器效果不好,会输出一个大于0 的数,则log(1-D(G(z)))值就为一个负数,在极端情况下,会得到负无穷大,此时判别失误。在价值函数的第二项中存在问题,在早期G比较弱的时,生成的数据和真实数据相差很大,D就容易训练的比较好,很容易区分,就会导致log(1-D(G(z)))变成0 ,这样很难求梯度来优化G,所以更新G时,将优化函数改为log(D(G(z)))。最终使G赢,即G生成的数据D判别不出来。

m0_54248968的博客 2293

day_05_方法、递归、内存分析

一、方法 方法重载 方法重载:方法名相同,参数列表不同 参数列表不同分为两种:1、类型不同 2、数量不同 相同名字,相同功能,用参数不同来区分,比较美观,容易记忆,相同功能只需要记住一个方法即可 内存划分 程序 : 可执行文件,是一堆命令的集合,是个静态概念 保存在硬盘中 进程 : 就是正在执行的程序,是个动态概念,保存在运行内存中,会按照该程序的设计在内存中一步步执行 运行中的程序 也就是指载入到内存中的可执行文件,操作系统...

qq_26942049的博客 150

在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记

日期:2025-09-09关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件。

weixin_41544125的博客 2813

从时频谱图到智能感知:雷达信号处理的AI进化之路

本文探讨了人工智能在雷达信号处理中的革命性应用,特别是深度学习在时频谱图分析中的突破性进展。通过对比传统信号处理方法与AI驱动的解决方案,展示了CNN、3D CNN等模型在目标检测、行为识别等场景中的优势,并分析了数据获取、模型优化等关键技术挑战。AI赋能的雷达技术已广泛应用于智能交通、工业检测和医疗健康领域,展现出巨大的发展潜力。

weixin_29284201的博客 507

day05-递归

以此类推是递归的基本思想。 具体来讲就是把规模大的问题转化为规模小的相似的子问题来解决。在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情况。 两个条件: 1.可以通过递归调用来缩小问题规模,且新问题与原问题有着相同的形式。(自身调用) 2.存在一种简单情境,可以使递归在简单情境下退出。(递归出口) 三要素: 1.一定有一种可以退出程序的情况; 2.总是在尝试将一个问题化简到更小的规模 3.父问题与子问题不能有重叠的部分 递归:自

huochefei的博客 166

CANoe如何实现TLS协议

TLS,Transport Layer Security,传输层安全协议。是在传输层和应用层之间,为了保证应用层数据能够安全可靠地通过传输层传输且不会泄露的安全防护。

jasonj333 1160

Day_04 方法、内存划分、递归

日期:9.28 1.while循环和do...while循环 1.1while循环 while循环是真假循环,当条件为真时进行循环 public class _01_While { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println(i); } int i = 0; while (i < 10) { System...

DuckBuBi 137

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java_day_04_方法、递归、内存分析

package _01_Method; /** * 根据需求 定义方法 1 入参: 做这件事 需要的未知条件 2 出参: 做完这件事之后进行的反馈 * * @author 16200 *2021年12月31日上午10:14:14 */ public class Method_03 { public static void main(String[] args) { int Sum = sum(1,2); System.out.println(Sum); } .

sec_90的博客 321

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Day05

1.方法 1.1方法重载 方法重载 : 方法名相同,参数列表不同 参数列表不同分为两种 : 1 类型不同 2 个数不同 相同功能,相同名字,通过不同的参数区分, 比较美观,容易记忆,相同功能只需要记住一个方法即可 程序 : 可执行文件,是一堆命令的集合,是个静态概念 保存在硬盘中 进程 : 就是正在执行的程序,是个动态概念,保存在运行内存中,会按照该程序的设计在内存中一步步执行 运行中的程序 也就是指载入到内存中的可执行文件,操作系统会开启一个进程,用来保存运行的这个文件 ...

m0_45312259的博客 135

天亮教育day05总结

1.程序 : 一堆代码的集合,是个可执行文件,但是是一个静态概念,一般保存在硬盘中 * * 进程 : 就是正在执行的可执行文件,是个动态概念,会按照程序的设计,在内存中一步步执行 * 运行起来的程序,指的是载入到内存中的可执行文件,这个时候操作系统就会开启一个进程来运行这个内存中的文件对象 * 如果我们想关闭某个软件,可以直接结束这个进程即可 * * java的内存划分和管理 * * Java Runtime Da...

Nikolala123的博客 197

java基础 day05-递归,递归练习题,面向过程和面向对象,类和对象,数组,数组练习题

递归 方法自己调用自己 栈内存溢出错误:StackOverflowError 合法的递归条件也有可能发生递归错误,压栈太深,导致溢出 在实际开发中不建议使用递归,能用循环的尽量用循环,因为循环效率高,耗费的内存少,递归使用不当,会导致JVM死掉,但有时候,只能用递归实现。 实际开发中,栈溢出错误怎么解决: 先检查递归条件是否出错,若出错,修改至正确。 条件没问题的话,需要手动调整JVM的栈内存初始化内存大小,可以将栈内存调整大一些。 (java -X)这个可以查看调整堆栈的大小参数。 jav

weixin_43734992的博客 714

day-05

1方法重载 把不同的方法名换成相同的,相应的参数列表也要为之改变 参数列表不同分为两种:类型不同或者个数不同 可以实现相同功能只需要记住一个方法 看起来比较美观 2 内存划分 java运行时数据区域一般叫JVM内存 分为五大块 1 静态区/方法区 2 VM栈 3 堆内存 4 程序计数器 5 本地方法栈 *静态区 保存我们的class文件 方法被调用之前也保存在静态区 想要调用其他类也需要先放在静态区 *VM栈 :又叫栈内存,用来执行方法 栈空间:就是以栈...

day——01 78

c语言学习 day 05

复习: 进制转换 十进制转二进制:对2余法,直到为0为止,过程中出现的余数就是二进制(逆序) 二进制转十进制:2^(n-1) 二进制转八进制:低位开始,每三个二进制位对应一位八进制 二进制转十六进制:低位开始,每四个二进制位对应一位十六进制,超过9的用ABCDEF代替 代码中以0开头数是八进制,以0x开头的是十六进制 printf %o 以八进制形式显示, %x以十六进制显示 %#o %#x 原码与补码: 正数的原码就是补码 负数 符号位不变,其它位按位求反的原码+1,才

cyk1999的博客 290

Java-day05

2021年9月29日 距离国庆越来越快了。 说实话,今天是真的遇到一些困难了。 递归,好麻烦 方法重载: 内存划分: 递归: —————————————————————————————————————— 题目: 第五题我想了很久,觉得有必要说一说。我一开始个人认为无法使用递归的方式来进行第五题的解答,所以我用了while循环来解决这个问题,可是我的老师告诉凡是能被循环结构解决的问题都能够用递归来解决。 所以我觉得还是有...

qq_47726356的博客 85

JAVA基础学习笔记-day05-面向对象基础

面向对象,是软件开发中的一类编程风格、开发范式。除了 面向对象 ,还有 面向过程 、 指令式编程 和函数式编程。面向过程的程序设计思想(Process-Oriented Programming),简称 POP关注的焦点是过程:过程就是操作数据的步骤。如果某个过程的实现代码重复出现,那么就可以把这个过程抽取为一个 函数。这样就可以大大简化冗余代码,便于维护。典型的语言:C语言代码结构:以函数为组织单位。是一种“ 执行者思维 ”,适合解决简单问题。扩展能力差、后期维护难度较大。

天才在左,疯子在右,而我只想做个不折不扣的乐天派 530

从零开始学习嵌入式day10

其实实质是利用一种叫栈的数据结构,它的本质也是一片内存空间。利用栈来保存现场(就是对当前函数的数据及信息的存放),结合栈的特性:先进后出 来保证函数的层层调用以及返回。在C语言中它的本质上是一片连续的内存空间,只是按照栈的特性来进行数据的存储。1.栈:用于存放局部变量,对于其中的变量所占的空间是自动申请和自动释放的。在Linux中,栈空间的默认大小为8M,但是可以修改。2.堆:特点是空间大,只不过堆上的空间是手动申请和手动释放的。思路:比如说要求问题n,依赖于问题n-1的求解。5.代码区:是一片只读区域。

m0_65525748的博客 414
上一篇: 2021-06-24
下一篇: Day06 数组
java_yangXL
博客等级 码龄5年 1粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值