JAVA备战秋招-01-JAVA基础篇(更新中)

1 篇文章 0 订阅
1 篇文章 0 订阅

最新更新:2021-5-5

5.1假期即将结束,再过几个月就面临秋招,准备写一次博客,本博客是个人以前所学一些JAVA相关知识的整理和总结,以及对这两个月将要学到一些知识点的巩固。

JAVA基础(更新中)

JAVA基础

1. JAVA八大基本数据类型,以及他们占用内存大小(面试题)
单位 字节
byte 1/ short 2/ int 4/ float 4/ double 8/ long 8/ char 2/ boolean ?
关于boolean占用内存大小,在不同版本的jvm中可能表现出不同的结果,但都是考虑到某些优势,有的使用32bit,当成int对象存储,对于32位CPU来说加快寻址。但缺点也很明显,浪费空间(不过现在内存很便宜了,个人猜测可能后面的版本采用这种方式概率大)。或者按照1bit存储(省内存,但对于按字寻址和按字节寻址是不是有点不友好?)

2.一个JAVA对象有多大?
content

JVM内存管理

操作系统

计算机网络

计算机组成

  1. 堆栈
    • 堆栈是一种FILO的数据结构。
    • 堆栈作用:
      • 保护信息,保存现场
      • 程序嵌套与中断嵌套,递归调用
      • 利于逆波兰表达式的运算
      • Q: 递归底层实现?
  2. 逆波兰表达式
    • 逆波兰表达式的存在,是为了方便计算机进行运算。
    • 逆波兰计算过程:见到元素就入栈,见到运算符就将栈顶和次栈顶元素进行运算。
      • 数学表达式:A+B
      • 波兰表达式:+AB
      • 逆波兰表达式:AB+
    • 逆波兰表达式怎么生成?
      • 把最后一个运算符做根节点
      • 数学表达式就是中序遍历结果,根据表达式生成二叉树
      • 后序遍历得到逆波兰
  3. HP3000常见堆栈机指令
    • ADD:栈顶和次栈顶相加,结果在栈顶
    • SUB:次-顶
    • MUL:乘
    • DIV: 次/顶
    • LOAD X: X入栈
    • STOR X: 栈顶传给X
    • ADDM X: 顶和X求和
    • SUBM X: 顶-X
    • MULM X: 乘
    • DIVM X: 顶/X
      如(A+B)× C-D/(E+F)
      LOAD A, ADDM B, MULM C, LOAD D, LOAD E, ADDM F, DIV, SUB.
      这样可以完成一次计算,但逻辑复杂,对其进行逆波兰运算,运算结果:
      AB+C× DEF+/-
      则堆栈机中指令如下:
      LOAD A, LOAD B, ADD, LOAD C, MUL, LOAD D, LOAD E, LOAD F, ADD, DIV, SUB
      在你写指令的时候应该就能看出来,为什么堆栈机要选逆波兰

数据结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值