javase_day9_浅显认识概念(JVM, error, concurrency, web)

关于垃圾回收的一些概念问题:
C艹 一般来说允许开发者对对象的生命周期以及存储空间进行设计
对于java来说:在 堆 (heap) 的动态池内动态地创建对象(需要即创建)
垃圾回收应运而生:自动发现对象何时不再被使用,继而销毁。
基于 1 所有对象都是继承自 object
2 只能以一种方式创建对象(动态地在堆上创建)

JVM:
关于对象的存放问题
栈区:
1 每个线程包含一个栈区,只保存基础数据类型 和 自定义对象的引用(不是对象) 这两个是private,其他栈不能访问
2 栈分为三部分:基本类型变量区 执行环境上下文 操作指令区
堆区:
1 存储的 全部是 对象实例,分别包含与之对应的class(这个放在方法区)信息
2 所有线程共享堆区 数组以及对象实例都是在堆中分配的
方法区:
1 静态区,共享。存放已经加载的类信息,常量,静态变量等。
在这里插入图片描述
在这里插入图片描述

异常处理:
异常 是一种 对象!
1 从出错地点被抛出
2 被专门用来处理特定类型的异常处理器 捕获
与程序正常执行路径是并行的。一旦出错会选择另一条路。不会影响程序的正常路径。
超类 Throwable
子类 error(JVM抛出,直接修改程序) Exception(可以处理的)
孙子类…
原理:异常发生时,JVM 建立相关的对象并将异常信息抛给调用者,如果调用者未对信息进行处理,则信息抛给JVM本身,打印在控制台上。

并发编程:
将问题切割为多个可独立运行的部分(线程),从而提高程序的响应能力
例如 界面与后台 JVM主线程与垃圾回收线程

多线程:
1 定义一个类 继承Thread类
2 覆盖类中的run方法
3 直接创建该子类对象创建线程
4 调用start方法开启线程 并调用run方法。(start开启线程,run只是调用一个方法)
多个线程均在栈内存中开辟一个单独的栈区。一个出问题的话则会弹出当前问题线程,其余的依然可以继续。

需要注意的是对共享资源的操作。多个并行任务都要访问同一项资源,会出现问题。这个时候就需要 上锁(synchronized {//需要同步代码,即多线程要处理的任务代码})

javaWeb:
OSI7层模型:1 物理(bit) 2 数据链路层(mac) 3 网络层(IP) 4 传输层(TCP|UDP) 5会话层(设备间) 6 表示层(数据解析。数据变为文字视频图片等) 7应用层(终端应用chrome)
后续。。。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值