美文网首页Ready
慕课-java面试课程

慕课-java面试课程

作者: 杀小贼 | 来源:发表于2018-03-25 15:25 被阅读18次
    进程.png

    进程:独立内存 容器
    无法共享内存 交互 如TCP/IP
    32位系統 进程内存最大 2的32方

    '概括地说来,JVM初始运行的时候都会分配好Method Area(方法区)和Heap(堆),而JVM 每遇到一个线程,就为其分配一个Program Counter Register(程序计数器),VM Stack(虚拟机栈)和Native Method Stack(本地方法栈),当线程终止时,三者(虚拟机栈,本地方法栈和程序计数器)所占用的内存空间也会被释放掉。这也是为什么我把内存区域分为线程共享和非线程共享的原因,非线程共享的那三个区域的生命周期与所属线程相同,而线程共享的区域与JAVA程序运行的生命周期相同,所以这也是系统垃圾回收的场所只发生在线程共享的区域(实际上对大部分虚拟机来说知发生在Heap上)的原因。'

    线程.png

    PC:programCounter 指令
    TSL:treadLocalStorage 线程独有内存数据
    线程间容易交互,有共享内存

    如果需要在一个线程内部的各个函数调用都能访问、但其它线程不能访问的变量(被称为static memory local to a thread 线程局部静态变量),就需要新的机制来实现。这就是TLS

    线程局部存储在不同的平台有不同的实现,可移植性不太好。幸好要实现线程局部存储并不难,最简单的办法就是建立一个全局表,通过当前线程ID去查询相应的数据,因为各个线程的ID不同,查到的数据自然也不同了。但Windows系统采用了每个线程建线程专享的索引表,表的条目为线程局部存储的地址。在线程执行的任何代码处,都可以查询本线程的这个索引表获得要访问的线程局部存储的地址。

    操作系统.png

    递归

    递归.png 递归的缺点.png

    采取数学归纳法,进行递归


    数学归纳法.png
    链表1.png 链表1-1.png 链表2.png 链表2-1.png 链表2-2.png

    线程池

    线程.png 线程池1.png 线程池2.png 线程池3.png

    线程相关内容待补充......

    相关文章

      网友评论

        本文标题:慕课-java面试课程

        本文链接:https://www.haomeiwen.com/subject/nmbccftx.html