首页 > 编程语言 >java2

java2

时间:2024-07-20 19:51:25浏览次数:11  
标签:Java 虚拟机 线程 内存 java2 方法 Stack

7.15-7.16
1.完成了PTA上的函数题和两道编程题,期间遇到了一些不懂得知识,学习了链表相关的知识,以及希尔排序算法,并复习了二分查找算法;同时也遇到了一些比较复杂的题目,通过在网上观看题目解析后有了思路并成功写出来,也出现过许多细节上的错误,这也使我更加认真思考每一处问题
2.观看三章大道至简
3.学习java基础知识
7.17-7.18
1.学习了java的顺序,选择,循环语法结构
2.完成5道pta练习,其中遇到了进制转换上的问题,再从网上的学习上我对二进制和八进制、十六进制以及十进制之间的转换以及表达形式
二进制(Binary):基数为2,使用的符号是0和1。计算机内部的数据存储和处理通常使用二进制。
八进制(Octal):基数为8,使用的符号是0到7。八进制常用于某些计算机编程环境中,因为它与二进制有较好的对应关系。
十进制(Decimal):基数为10,使用的符号是0到9。我们日常生活中常用的数字系统就是十进制。
十六进制(Hexadecimal):基数为16,使用的符号是0到9和A到F,其中A代表10,B代表11,以此类推,F代表15。十六进制常用于计算机科学,因为它可以更紧凑地表示大数值。
3.观看大道至简
7.19-7.20
学习了java的输入输出语句以及数组及其内存图
在Java内存模型中,堆(Heap)、栈(Stack)和方法区(Method Area)是三个非常重要的组成部分。

  1. 堆(Heap)
    功能:
    堆是Java内存管理的核心区域,几乎所有的对象实例都在这里分配内存。堆内存是线程共享的,目的是存放对象实例,包括对象的成员变量(但不包括成员方法,因为方法是类级别的,不属于任何对象实例)。
    特点:
    动态分配和回收:堆内存允许对象的动态创建和销毁。
    线程共享:堆内存是多个线程共享的,因此在多线程环境下需要同步机制来避免数据不一致。
  2. 栈(Stack)
    在Java中,栈通常指的是Java虚拟机栈(Java Virtual Machine Stack),但也可能包括本地方法栈(Native Method Stack)。
    功能:
    Java虚拟机栈是线程私有的,它的生命周期与线程相同。每个方法在执行的时候都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。
    特点:
    线程私有:每个线程都有自己独立的虚拟机栈,互不影响。
    后进先出(LIFO):栈是一种后进先出的数据结构,方法的调用和返回都遵循这个原则。
  3. 方法区(Method Area)
    功能:
    方法区也是线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
    特点:
    线程共享:与堆内存一样,方法区也是多个线程共享的。
    非堆(Non-Heap):虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但它有一个别名叫做Non-Heap,目的是与堆进行区分。
    存储内容:方法区存储了类的元数据信息(如类名、字段、方法、接口等)、常量池、静态变量等。

标签:Java,虚拟机,线程,内存,java2,方法,Stack
From: https://www.cnblogs.com/wjhfree/p/18313671

相关文章

  • 初学Java2
    在继续学习Java一周后,我发现Java在编码时有些地方与我之前学习过的C语言相同,比如许多函数与标识符大致是一样的,在一些地方的语法相似,这会有助于我对Java的学习。不同的地方也很多,比如很简单的一个地方,C语言对类型后缀有更严格的要求,特别是在整数类型上,必须显式指定long或longlong......
  • java23种设计模式!附源码
            本文将详细介绍Java中常见的23种设计模式、应用场景、优缺点、代码示例。包括单例模式、工厂模式、建造者模式、原型模式、适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、代理模式、职责链模式、状态模式、策略模式、模板方法模式、观察者......
  • 【Java21】final修饰符
    final可以用来修饰类、变量和方法。类似C++里的const,表示被修饰的类、变量和方法不可改变。具体表现为:对变量,一旦初始化之后就不可改变。final即可修饰成员变量(类变量|实例变量),也可修饰局部变量、形参。final修饰的变量并不是不能赋值,而是不能被重新赋值。一旦获得初始值......
  • Java28-反射
    目录概述学习反射到底学什么获取字节码文件对象的三种方式字节码文件和字节码文件对象获取构造方法获取构造方法并创建对象获取成员变量获取成员变量并获取值和修改值获取成员方法获取成员方法并运行练习泛型擦除修改字符串的内容反射和配置文件结合动态获取利......
  • java面试题及答案2024,java2024最新面试题及答案(之一)
    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~本套Java面试题大全,全的不能再全,哈哈~一、Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JR......
  • java面试题及答案2024,java2024最新面试题及答案(之二)
    四、反射57.什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所......
  • Java22重磅发布!!!!卷不动了,真的卷不动了。。。。
    就在3月19日,Java22重磅发布。Java22新增了12项增强功能,其中包括七个预览特性和一个孵化器特性,这些功能都显著到足以引起JDK增强提案(JEPs)的关注。它们涵盖了Java语言、其API、性能以及JDK中包含的工具的改进。真的卷不动了,,前段时间才将项目升级到Java17。。。。接下来我们看看具......
  • Java2024-Day01回顾
    publicclassInfo{   publicstaticvoidmain(String[]args){System.out.println("这里是Java2024-Day01")}}1.基本数据类型介绍整数:byte-short-int(默认)-long浮点型:float-double(默认)  后面跟F或f字符型:char:①chara ='XXXX';②char......
  • Java21 + SpringBoot3使用Spring Security时如何在子线程中获取到认证信息
    目录前言原因分析解决方案方案1:手动设置线程中的认证信息方案2:使用DelegatingSecurityContextRunnable创建线程方案3:修改SpringSecurity安全策略通过设置JVM参数修改安全策略通过SecurityContextHolder修改安全策略总结前言近日心血来潮想做一个开源项目,目标是做一款可以适配多......
  • Java21 + SpringBoot3整合springdoc-openapi,自动生成在线接口文档,支持SpringSecurity
    目录前言相关技术简介OpenAPISwaggerSpringfoxspringdocswagger2与swagger3常用注解对比实现步骤引入maven依赖修改配置文件设置api-docs和swagger-ui访问权限定义springdoc配置类修改Controller类和实体类查看效果总结前言近日心血来潮想做一个开源项目,目标是做一款可以适配多......