首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
小毛竹
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
赞
文章( 11 )
沸点( 0 )
从虚拟机角度看如何处理new Object()
1.查询能否在常量池定位到该类的符号引用。 首先,在虚拟机遇到一个new指令时,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用。这个符号引用代表该类是否已经被加载、解析和初始化过。如果没有就需要先执行类加载过程。 2.为对象分配内存空间。 如果java堆中的内存…
深入理解虚拟机运行时Java内存区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 执行引擎负责解释命令,提交操作系统执行 引擎负责解释命令,提…
如何写出一个惊艳面试官的深拷贝?
最近经常看到很多JavaScript手写代码的文章总结,里面提供了很多JavaScript Api的手写实现。 里面的题目实现大多类似,而且说实话很多代码在我看来是非常简陋的,如果我作为面试官,看到这样的代码,在我心里是不会合格的,本篇文章我拿最简单的深拷贝来讲一讲。 本文由浅…
微信公众号爆出前端安全漏洞
如果视频又打不开了,可以去我公众号的文章里看。 现在我们来分析下这个漏洞的产生过程。 首先标题中存在 HTML <input onfocus="alert('1')">,在网页中如果不对这部分文本做转义的话,就会正常渲染为 HTML。 在文章详情中其实我们并没有发现这个问题,也…
一篇文章完全理解Redis为什么这么快
Redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库. 纯内存访问,Redis将所有数据放在内存中,内存的响应时长大约为100纳秒. 第二,非阻塞I/O,Redis使用epoll作为I/O多路复用技术的实现,再加上Redis自身的事件处理模型将epoll中的连…
分享一些常用得jvm调优关键字
-Xms和-Xmx 初始堆和最大堆设置。 Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的,在JVM中堆之外的内存称为非堆内存(Non-heap memory)。 简单的说就是:堆是java代码…
关于几种垃圾收集算法发展与HotSpot如何发起内存回收
1.无法处理循环引用问题。 2.每次引用产生和消除,都伴随计算,对性能有影响。 1.标记出需要回收的对象。 2.标记完成后统一回收清除所有标记的对象。 1.效率问题,标记和清除的过程效率不高。 2.空间问题。清除后的会产生大量的空间碎片,因为清除的对象是不连续的,所以会有很多碎…
深入理解JMM内存模型的作用、意义与应用
Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。 Java 内存模型的主要目标是定义程序中各个变量的访问规则,也就是在虚拟机…
AQS(AbstractQueuedSynchronizer)队列同步器源码阅读(二)
共享式获取与独占式获取最主要的区别在于同一时刻能否有多个线程同时获取到同步状态。以文件的读写为例,如果一个程序在对文件进行读操作,那么这一时刻对于该文件的写操作均被阻塞,而读操作能够同时进行。写操作要求对资源的独占式访问,而读操作可以是共享式访问,两种不同的访问模式在同一时刻对…
AQS(AbstractQueuedSynchronizer)队列同步器源码阅读(一)
在看这篇文章之前可以根据我上一篇文章来对队列同步器AQS的应用和意义有一个基础印象。 从实现角度分析同步器是如何完成线程同步的,主要包括:同步队列、独占式同步状态获取与释放、共享式同步状态获取与释放以及超时获取同步状态等同步器的核心数据结构与模板方法。 同步器依赖内部的同步队列…
下一页
关注了
19
关注者
1
收藏集
0
关注标签
18
加入于
2019-09-04