Skip to content

Commit 2aec1c8

Browse files
author
jiaofanting
committed
文章二次优化
1 parent 9ac1efe commit 2aec1c8

3 files changed

Lines changed: 20 additions & 78 deletions

File tree

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,19 @@
1-
2-
3-
######在网上挑选了这么几段话,精简易懂
4-
1+
### 什么是程序计数器
52
>程序计数器(program counter register)只占用了一块比较小的内存空间,至于小到什么程度呢,这样说吧,有时可以忽略不计的。
63
74

8-
>可以看作是当前线程所执行的字节码文件(class)的行号指示器。在虚拟机的世界中,字节码解释器就是通过改变计数器的值来选取下一条执行的字节码指令,分支、循环、跳转、异常处理、线程恢复都需要这玩意来实现的。
9-
10-
上面提到线程恢复,那下面介绍下其详细流程:
11-
>java虚拟机多线程是通过线程间轮流切换来分配给处理器执行时间;在确定时间节点,一个处理器(一核)只会执行一个线程的指令;为保证 线程切换 回来后能恢复到原执行位置,各个线程间计数器互相不影响,独立存储(称之为 线程私有 的内存);
5+
程序计数器可以看作是当前线程所执行的字节码文件(class)的行号指示器。也就是我们javap -c xxx.class 反编译生成的指令行号。
126

13-
>如果执行的是java方法,那么记录的是正在执行的虚拟机字节码指令的地址的地址,如果是native方法,计数器的值为空(undefined)
7+
在虚拟机的世界中,字节码解释器就是通过改变计数器的值来选取下一条执行的字节码指令,分支、循环、跳转、异常处理、线程恢复都需要借助它来实现的
148

15-
最后,动动自己的大脑,想下面的问题:
16-
>这个内存区域是唯一一个在java虚拟界规范中没有规定任何OutOfMemoryError的情况的区域。至于为什么没有这个异常呢,要是一个计数的功能在出这个异常,那么我也是醉了。
9+
java虚拟机多线程是通过线程间轮流切换来分配给处理器执行时间;在确定时间节点,一个处理器(一核)只会执行一个线程的指令;为保证线程切换回来后能恢复到原执行位置,各个线程间计数器互相不影响,独立存储(称之为 线程私有 的内存);
1710

11+
### 谁在操作程序计数器
12+
jvm中有字节码执行引擎,它会在执行代码的时候对程序计数器进行记录。
1813

19-
####介绍下我的所有文集:
20-
###### 流行框架
21-
[SpringCloud](https://www.jianshu.com/nb/18726057)
22-
[springboot](https://www.jianshu.com/nb/19053594)
23-
[nginx](https://www.jianshu.com/nb/18436827)
24-
[redis](https://www.jianshu.com/nb/21461220)
2514

26-
######底层实现原理:
27-
[Java NIO教程](https://www.jianshu.com/nb/21635138)
28-
[Java reflection 反射详解](https://www.jianshu.com/nb/21989596)
29-
[Java并发学习笔录](https://www.jianshu.com/nb/22549959)
30-
[Java Servlet教程](https://www.jianshu.com/nb/22065472)
31-
[jdbc组件详解](https://www.jianshu.com/nb/22774157)
32-
[Java NIO教程](https://www.jianshu.com/nb/21635138)
33-
[Java语言/版本 研究](https://www.jianshu.com/nb/19137666)
15+
### 程序计数器特点
16+
1. 线程隔离。每个线程都有属于自己的程序计数器。
17+
2. 执行native方法的时候,程序计数器值为空。也很好理解,因为它直接通过JNI调用本地C/C++库,没有经过字节码引擎处理。
18+
3. 占用内存很小,可以忽略不计。
19+
4. 永远不会发生OOM(因为设计就没有规定)

2. Java基础/2.2 源码篇/5. 为什么要继承Serializable类?.md

Lines changed: 0 additions & 47 deletions
This file was deleted.

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
[![微信公众号](https://img.shields.io/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-PlayInJava-red.svg)](https://upload-images.jianshu.io/upload_images/5786888-74bca7fff151cfb8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/500)
66

77

8-
>【Java入门 -> 架构笔记】未来的你一定会感谢今天学习的自己! 本项目主打Java基础、算法、框架实战、源码、中间件、大数据、面试等知识积累和经验总结。文章共300多篇, 大部分为原创, 部分翻译和转载已标明出处。 谢谢大家的支持, 转载请标明出处, 谢谢。
8+
>【Java入门 -> 进大厂笔记📖📒】未来的你一定会感谢今天学习的自己! 本项目主打Java基础、算法、框架实战、源码、中间件、大数据、面试等知识积累和经验总结。文章共300多篇, 大部分为原创, 部分翻译和转载已标明出处。 谢谢大家的支持, 转载请标明出处, 谢谢。
99
1010

1111
感兴趣的朋友可以加入我们, 一起完善, 投稿请加微信。
1212

13-
参考书籍: 《深入理解Java虚拟机》、《并发编程的艺术》、《Java多线程核心编程艺术》、《Java8函数式编程》、《Redis设计与实现》、《RocketMQ技术内幕》、《Spring技术内幕》、《Spring源码深度解析》、《剑指Offer》、《大话设计模式》...
13+
推荐书籍: 《深入理解Java虚拟机》、《并发编程的艺术》、《Java多线程核心编程艺术》、《Java8函数式编程》、《Redis设计与实现》、《RocketMQ技术内幕》、《Spring技术内幕》、《Spring源码深度解析》、《剑指Offer》、《大话设计模式》... 详细书单请在公众号获取。
1414

1515
我的简书:https://www.jianshu.com/u/f223a6ff7f2a
1616

@@ -132,18 +132,21 @@
132132
* [HR面技巧](https://github.com/fantj2016/java-reader/tree/master/HR%E9%9D%A2%E8%AF%95%E6%8A%80%E5%B7%A7)
133133

134134
### 公众号
135+
>github阅读不方便?添加公众号,随时随地当reader,不定时发放福利
136+
135137
![我的公众号](https://upload-images.jianshu.io/upload_images/5786888-74bca7fff151cfb8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/500)
136138

137139
#### 公众号留言
140+
刚入门的小伙伴、或者是学习方向上遇到障碍的小伙伴可以在公众号留言,把你的问题描述清楚,我将在24H内认真回复。
138141

139-
帮大伙找个互联网男女朋友, 生活从此无鸭梨~~
142+
#### 公众号福利
143+
添加本人微信留言:领取福利。
140144

141-
1. 回复"找对象", 拉你进IT单身集中营。
142-
2. 回复"学习", 可分享给你学习资料, 若资料失效可联系vx更新。
143-
3. 有什么技术方向、情感等问题, 都可以在公众号给我留言, 24H内认真回复。
144145
### 交流群
145146
>不定时会分享一些学习方法, 书籍, 企业技术, 算法等知识, 一起成长、一起进步。
146147
148+
![微信群加我备注进群](https://upload-images.jianshu.io/upload_images/5786888-9d87c2d1812f322e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/200)
149+
147150
![QQ交流群](https://upload-images.jianshu.io/upload_images/5786888-bc946ca74be7d601.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/200)
148151

149152
---

0 commit comments

Comments
 (0)