首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
动力源
掘友等级
Java工程师
有一个年老的梦
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
10
文章 5
沸点 5
赞
10
返回
|
搜索文章
最新
热门
您需要了解的底层知识
CPU对内存的访问状态:CPU对内存的访问级别有0/1/2/3,在Linux上,只用到ring0和ring3级别,kernel内核能访问ring0级别的内存,用户态则对应ring3级别,常说的用户态和内核态切换就是kernel完成,(启动计算机时有一个保护机制,一部分内存对用户…
JVM篇之java内存模型
在并发编程中,我们通常要处理两个问题:线程之前如何通信与线程之间如何同步。 同步是指控制不同线程的操作发生相对顺序的机制,在共享内存并发模型里,同步是显式进行的,程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。在消息传递的并发模型里,由于消息的发送必须在消息的接收之…
JVM篇之内存结构(JVM内存模型)
其实这个问题非常简单,JVM在运行我们写好的代码时,他是必须使用多块内存空间的,不同的内存空间用来放不同的数据,然后配合我们写的代码流程,才能让我们的系统运行起来。 所以JVM里就必须有一块内存区域,用来存放我们写的那些类。 包括我们定义的成员变量,类变量,方法,局部变量等等,…
类的加载过程(来一个通俗易懂的理解)
(1) 找:通过一个类的全限定名来获取此类的class字节码二进制流。(给一个名称找到class字节码文件=通过面试邮箱发offer) (2) 转:将这个字节码二进制流中的静态存储结构转化为方法区中的运行时数据结构。(转化为线程共享内存方法区的运行时数据结构=???这个不好解释…
JIT和逃逸分析
javac把java的源文件翻译成了class文件,而class文件中全都是Java字节码。那么,JVM在加载了这些class文件以后,针对这些字节码,逐条取出,逐条执行,这种方法就是解释执行。 还有一种,就是把这些Java字节码重新编译优化,生成机器码,让CPU直接执行。这样…
Java编译原理
作为一个程序员,我们常挂在嘴边的"编译"是指把各个语言写出来的文件转换成JVM可识别文件的一个过程,如将.java程序编译成java字节码文件,即 .class文件,其实对于一个计算机来说,字节码文件并不能被识别,需要把字节码转换成机器指令,才是计算机层面的编译,这个过程是虚拟…
个人成就
文章被点赞
27
文章被阅读
7,887
掘力值
269
关注了
32
关注者
17
收藏集
0
关注标签
53
加入于
2019-04-12