E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《深入理解Java
深入理解Java
中的HashMap的实现原理
HashMap继承自抽象类AbstractMap,抽象类AbstractMap实现了Map接口。关系图如下所示:Java中的Map接口允许我们将一个对象作为key,也就是可以用一个对象作为key去查找另一个对象。在我们探讨HashMap的实现原理之前,我们先自己实现了一个SimpleMap类,该类继承自AbstractMap类。具体实现如下:importjava.util.*;publicclas
孙群
·
2020-08-25 08:03
Java
JVM解析——类文件结构
本系列主要记录笔者在学习[
深入理解Java
虚拟机]一书时的理解我们都知道在Java中,我们并不需要过多的在意内存的管理,这一切都交给了虚拟机自动管理,我们并不需要操心何时需要去释放一个对象的内存。
Robin_Lrange
·
2020-08-25 07:02
JVM(垃圾回收)CMS G1
类加载器-->类加载器可以实现热部署
深入理解Java
类加载器(ClassLoader)https://blog.csdn.net/javazejian/article/details/73413292优秀参考文章
一壶自由
·
2020-08-25 05:05
2.
深入理解java
虚拟机--垃圾收集算法
常见的一些算法引用计数算法过程:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器就减一;任何时刻计数器为0的对象就是不可能再被使用的。(摘录书)优点:判断效率高。缺点:难以解决对象之间相互引用的问题。结论:主流的java虚拟机中没有选用引用计数算法来管理内存可达性分析算法过程:通过一系列的称为“GCRoot”的对象作为起点,从这些节点开始向下搜索,搜索所走过的
qq_41646707
·
2020-08-25 04:41
深入理解Java
虚拟机-垃圾收集算法
今天讨论的话题是垃圾收集算法,主要介绍一下标记-清除、标记-整理和标记-复制算法,还会基于这些算法讲一下分代垃圾收集算法。标记-清除算法首先讲一下标记-清除算法,这是最早出现也是最基础的一种算法。从名字就可以看出该算法分为两个过程:标记和清除。标记可以是标记存活对象,也可以是标记将要回收的对象,清除自然就是将要回收的对象的内存收回。我们通过一张图来了解标记-清除算法。上图中青色的部分是存活对象,棕
sky-ng
·
2020-08-25 01:55
Java
深入理解Java
虚拟机(JVM) --- 垃圾收集算法(中)
2回收无效对象的过程当经可达性算法筛选出失效的对象之后,并不是立即清除,而是再给对象一次重生的机会判断是否覆盖finalize()未覆盖该或已调用过该方法,直接释放对象内存已覆盖该方法且还未被执行,则将finalize()扔到F-Queue队列中执行F-Queue中的finalize()虚拟机会以较低的优先级执行这些finalize(),不会确保所有的finalize()都会执行结束如果final
公众号:JavaEdge
·
2020-08-25 01:19
JVM
深入理解Java
并发编程之核心原理概念
转载请注明出处:https://blog.csdn.net/yulong0809/article/details/79728009前言Java的并发时一般都会synchronized、volatile和Lock来实现同步,或者使用Java提供的一些辅助类,例如atomic和concurrent包下AtomicXXXX,ConcurrentXXX等,但是我们是否想过为什么会有这些关键字和类呢?这些关
刘镓旗
·
2020-08-25 00:28
Java并发
高手进阶
java8-lamdba
表达式双冒号::关键字Lambda的范围一些函数式接口的简单介绍PredicateFunctionSupplierConsumerToIntFunction目标了解lamdba表达式参考java简明教程文档
深入理解
耿子666
·
2020-08-24 22:19
java8
java8
lamdba
《
深入理解Java
虚拟机》——方法调用与基于栈的字节码解释执行引擎
方法调用:方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程。其实关于方法的执行,接口(父类)与实现类(子类)这些方法如何调用从Java代码层面上大家都是比较清楚的,这里我们探讨一下更深一层的运行原理。Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法
GeneralAndroid
·
2020-08-24 21:38
深入理解Java虚拟机
java
JAVA虚拟机
深入理解Java
Class文件格式(九)
经过前八篇关于class文件的博客,关于class文件格式的内容也基本上讲完了。本文是关于class文件格式的最后一篇。在这篇博客中,将会讲解关于方法的几个属性。理解这篇博客的内容,对于理解JVM执行引擎起着重要作用。关于虚拟机执行引擎有关的内容,会在本专栏后面的博客中涉及。在前面几篇博客中,我们知道在class文件中描述一个方法,会使用一个method_info。这个method_info中存放
昨夜星辰_zhangjg
·
2020-08-24 21:58
Java
深入理解Java语言
从反编译
深入理解JAVA
内部类类结构以及final关键字
1.为什么成员内部类可以无条件访问外部类的成员?在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟。事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面是Outter.java的代码:publicclassOutter{privateInnerinner=null;publicOutter(){}pub
白皮肤的黑客
·
2020-08-24 21:00
java
编程基础
深入理解java
异常处理机制
1.引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。[java]viewplaincopyprint
畅游在信息时代的黑马
·
2020-08-24 18:42
JavaSE模块
深入理解Java
虚拟机_JVM高级特性与最佳实践 第2版
深入理解Java
虚拟机_JVM高级特性与最佳实践第2版下载地址:https://pan.baidu.com/s/15_ADwgj7VPdMJhcMVUxYlQ扫码下面二维码关注公众号回复100013获取分享码本书目录结构如下
余松
·
2020-08-24 18:10
jvm
java
Java后端知识汇总(部分)
计算机网络四、Spring知识体系五、Java虚拟机六、Java高并发(同一块知识建议结合着看,便于查漏补缺)强烈推荐:JavaGuide(一个网站解决大部分问题)一、Java基础1.反射java反射用途
深入理解
泡泡历险记
·
2020-08-24 17:52
java学习
function foo(){}、(function(){})、(function(){}())等函数区别分析
看到(function(){}),(function(){}())这些函数就犯晕,不知道它到底是什么意思,为什么函数外要加小括号,函数后要加小括号,加和不加到底有什么区别……一直犯迷糊,看了汤姆大叔的《
深入理解
weixin_30302609
·
2020-08-24 16:40
【并发编程】
深入理解Java
内存模型
作者:_fan凡https://www.jianshu.com/p/151...Java内存模型(JavaMemoryModel,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。可以避免像c++等直接使用物理硬件和操作系统的内存模型在不同操作系统和硬件平台下表现不同,比如有
架构文摘
·
2020-08-24 16:37
java
并发
jmm
java高效并发学习笔记(一)java内存模型
java高效并发学习笔记(一)java内存模型学习JVM+JAVA多线程中,学习的书籍是《
深入理解java
虚拟机》——周志明这里记录一些笔记以便日后经常学习回顾。
佛铭
·
2020-08-24 16:44
《
深入理解Java
虚拟机》第2版挖的坑终于在第3版中被R大填平了
图中显示器下面的两本书分别是《
深入理解Java
虚拟机》的第2版和第3版。
why技术
·
2020-08-24 15:17
java技术
源码
《
深入理解Java
虚拟机》笔记
原帖地址:http://www.cnblogs.com/tianchi/archive/2012/11/11/2761631.html在C里面我们想执行一段自己编写的机器指令的方法大概如下:typedefvoid(*FUNC)(int);char*str="yourcode";FUNCf=(FUNC)str;(*f)(0);也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行
梦断蓝桥
·
2020-08-24 15:14
Java
Java 枚举
请参考
深入理解Java
枚举,感谢作者,写得非常好。(能在Google搜索到的CSDN博客文章,足以彰显这篇文章的优秀了。)这里主要记录一下如果使用,因为发现
张喜硕
·
2020-08-24 14:46
java
enum
传说中的CAFEBABE到底在哪儿?
在周志明那本神书《
深入理解Java
虚拟机》出来之前,这本书应该是唯一一本讲JVM的书,对Javaclass文件格式,执行引擎讲得特别详细。
码农翻身
·
2020-08-24 13:54
补码
编程语言
java
jvm
反编译
读Zepto源码之代码结构
源码版本本文阅读的源码为zepto1.2.0阅读zepto之前需要了解javascript原型链和闭包的知识,推荐阅读王福朋的这篇文章
深入理解Java
script原型和闭包,写得很详细,也非常易于阅读。
对角另一面
·
2020-08-24 13:22
javascript
zepto
zepto.js
源码分析
深入理解Java
Script系列4:立即调用的函数表达式
前言大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行。在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法也不一定完全对,主要是看个人如何理解,因为有的人说立即调用,有的人说自动执行,所以你完全可以按照你自己的理解来取一个名字,不过我听很多人都叫它为“自执行”,但作者后面说了很多,来说服大家称呼为“立即调用的函数表达式”。本文
hiyangguo
·
2020-08-24 13:17
javascript
匿名函数
module模式
自调用函数
深入理解Java
Script系列3:全面解析Module模式
简介Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。首先我们来看看Module模式的基本特征:模块化,可重用封装了变量和function,和全局的namaspace不接触,解耦合只暴露可用public的方法,其它私有方法全部隐藏关于Module模式,最早是由YUI的成员EricMiraglia在2007年左右
hiyangguo
·
2020-08-24 13:17
javascript
设计模式
module
module模式
深入理解Java
内存模型(一)——基础
并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的
思否编辑部
·
2020-08-24 13:52
java
并发
共享内存
jmm
《
深入理解Java
虚拟机》一书总结(干货满满)
看完《
深入理解Java
虚拟机》一书,做了一些简单总结,其中复杂的部分自己也没有搞懂,所以就不发表任何总结!1、概念1.1、首先说何为Java虚拟机?
陈汤姆
·
2020-08-24 12:41
《知识增强系列》
进阶学习-zk
dubbo
kafka
k8s
docker
《
深入理解Java
虚拟机》一书总结(一)
1、概念1.1、首先说何为Java虚拟机?Java虚拟机从字面意思直接理解就是运行Java的虚拟机器,既然是虚拟的,那么就是从物理层面来说是不存在于实际的一个机器,它不像电脑这种机器,是实际存在的,而是人们想象的一个机器,因为它能像机器一样做机器可以做的事情。1.2、为什么要使用Java虚拟机我们都知道Java语言是一种高级语言,我们可以从Java语言的特性中进行分析,Java特性包括面向对象、平
陈汤姆
·
2020-08-24 12:40
《Java后端知识体系》系列
再有人问你Java内存模型是什么,就把这篇文章发给他
网上有很多关于Java内存模型的文章,在《
深入理解Java
虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。
Java大蜗牛
·
2020-08-24 10:11
自动内存管理机制
本文是阅读
深入理解java
虚拟机做的记录Java内存区域与内存溢出异常1.java虽然不用进行new出对象后的delete/free的操作了,但是有些部分还是需要进行手动操作的,如文件的close,连接的
myrainblues
·
2020-08-24 09:58
jvm
《
深入理解Java
虚拟机》学习总结-运行时数据区域
Java虚拟机运行时数据区域可划分为以下5个部分:虚拟机栈,本地方法栈,程序计数器,堆,方法区虚拟机栈虚拟机栈是线程私有的数据区,他的生命周期与线程相同。虚拟机栈中划分了若干个栈帧,每个栈帧对应了一个方法,用于存储局部变量表、操作数栈,动态链接、方法出口等信息。1)局部变量表:局部变量表是一组变量值的存储空间,用于存储线程中方法内部定义的局部变量及方法参数,局部变量表以变量槽为最小单位,对于每一个
Zookkk
·
2020-08-24 07:55
深入理解 Java 垃圾回收机制
深入理解Java
垃圾回收机制
深入理解Java
垃圾回收机制一:垃圾回收机制的意义java语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理
weixin_30611509
·
2020-08-24 03:36
深入理解Java
Script执行上下文、函数堆栈、提升的概念
首先明确几个概念:-EC:函数执行环境(或执行上下文),ExecutionContext-ECS:执行环境栈,ExecutionContextStack-VO:变量对象,VariableObject-AO:活动对象,ActiveObject-scopechain:作用域链想当初自己看到这几个概念的时候是一(m)脸(d)懵(z)逼(z),但是不得不说这几个概念对以后深入学习JS有很大的帮助。来不及解
Aphasia_wq
·
2020-08-24 03:49
JavaScript
javascript
上下文
提升
函数堆栈
深入理解Java
8
深入理解Java
8简介Java8可谓是Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简介、表达力更强,并且在很多情况下能够利用并行硬件的代码。
hongguo_cheng
·
2020-08-24 00:08
Java
核心技术
深入理解Java
虚拟机---第三章
第三章当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,在这几个区域内就不需要过多考虑如何回收的问题,当方法结束或者线程结束时
zzZsleep7
·
2020-08-23 22:31
深入理解Java虚拟机
深入理解Java
注解(2):高级应用
下面进一步深入分析Java注解的机制。一、为什么使用Annotation:在JAVA应用中,我们常遇到一些需要使用模版代码。例如,为了编写一个JAX-RPCwebservice,我们必须提供一对接口和实现作为模版代码。如果使用annotation对远程访问的方法代码进行修饰的话,这个模版就能够使用工具自动生成。另外,一些API需要使用与程序代码同时维护的附属文件。例如,JavaBeans需要一个B
Dave888Zhou
·
2020-08-23 22:50
Java&Java企业级架构
深入理解Java
虚拟机——第3章 垃圾收集器与内存分配策略
第3章垃圾收集器与内存分配策略第3章垃圾收集器与内存分配策略3.1概述3.2对象已死?3.2.1引用计数算法3.2.2可达性分析算法3.2.3再谈引用3.2.4生存还是死亡?3.2.5回收方法区3.3垃圾收集算法3.3.1分代收集理论3.3.2标记-清除算法3.3.3标记-复制算法3.3.4标记-整理算法3.4HotSpot的算法细节实现3.4.1根节点枚举
zaker123
·
2020-08-23 22:15
Java学习
深入理解java
虚拟机系列第三版读后小记:(十二)运行时栈帧数据结构
深入理解java
虚拟机系列第三版读后小记:十二运行时栈帧数据结构前言栈帧的各个区域局部变量表操作数栈动态连接方法返回地址附加信息方法调用解析分派静态分派动态分派单分派与多分派总结前言之前提到java内存布局的时候提到过虚拟机栈
一白丁
·
2020-08-23 22:41
jvm
深入理解Java
虚拟机 学习笔记 JVM
《
深入理解Java
虚拟机》写在前面:Java8用的是Hotspot虚拟机目录1.基础知识2.运行时数据区域(1)OOM异常(2)对象创建(3)对象内存布局(4)对象的访问定位3.垃圾收集(GarbageCollection
佛系宅女
·
2020-08-23 22:12
深入理解Java
虚拟机之内存管理(读书笔记)
本文为本人精心整理的周志明老师的《
深入理解Java
虚拟机》一书中的Java内存管理方面的内容。
BliNkShadOw
·
2020-08-23 20:20
Java虚拟机
Java虚拟机内存管理(一)—内存划分
——《
深入理解Java
虚拟机:JVM高级特性与最佳时实践(第二版)》周志明Java虚拟机作为运行Java程序抽象出来的计算机,具有内存管理的能力,像内存分配、垃圾回收等这些相关的内存管理问题,Java虚拟机都会帮我们解决
weixin_34256074
·
2020-08-23 20:45
jQuery结构简析
本文简单实现jQuery框架,
深入理解java
script对象。本文的对照版本是jQuery-1.2.6.js本文注重jquery结构设计思路,并不侧重具体功能的实现以及兼容性和安全性的部分。
faremax
·
2020-08-23 20:25
【
深入理解Java
原理】JAVA SPI 是怎么实现的?
JAVASPI是怎么实现的?SPI是什么?SPI(ServiceProviderInterface),是JDK内置的一种提供发现机制。SPI是一种动态替换发现的机制。JAVASPI实现定义一组接口,接口有多种实现publicinterfaceIShout{voidshout();}publicclassCatimplementsIShout{@Overridepublicvoidshout(){S
wangxiaoming
·
2020-08-23 20:02
Java
源码解读
理解java虚拟机内存收集
学习《
深入理解Java
虚拟机》时个人的理解笔记1、为什么要去了解垃圾收集和内存回收技术?
Super_time
·
2020-08-23 19:39
JVM
class 类加载过程(JDK 8)
读《
深入理解Java
虚拟机》第三版,周志明著,笔记。
Super_time
·
2020-08-23 19:07
JVM
JVM invokedynamic 和 lambda
invokedynamic(每个含有该指令的地方都可以称为“动态调用点”)https://blog.csdn.net/raintungli/article/details/54910152这篇文章外加《
深入理解
Golden_Dog
·
2020-08-23 19:49
Java基础
深入理解Java
线程池原理分析与使用(尤其当线程队列满了之后事项)
在这里借花献佛了,那别人的东西学一学了。在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源
南北雪树
·
2020-08-23 19:10
线程
Java线程知识积累
线程池
JAVA内存溢出异常测试
本文章为看《
深入理解JAVA
虚拟机》的笔记JAVA堆异常溢出:/***Vmargs:-Xms20M-Xmx20M-XX:+HeapDumpOnOutOfMemoryError*堆的最小值参数-Xms,堆的最大值参数
0_o_c
·
2020-08-23 19:38
jvm
面试刷题23:类加载过程和双亲委派机制?
jvm赋能java跨平台的能力,而类加载机制是
深入理解java
的必要条件。我是李福春,我在准备面试,今天的问题是:java的类加载机制是怎样的?什么是双亲委派原则?
李福春
·
2020-08-23 19:22
深入理解java
虚拟机2——垃圾回收
1.判断对象是否可以被回收1.1引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;优点:原理简单,判定效率很高。缺点:两个对象相互引用对方,但都不再被访问,则无法回收。1.2可达性分析算法这个算法的基本思路就是通过一系列称为"GCRoots"的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(
JYY_JYY_
·
2020-08-23 18:38
java
JVM
查看java虚拟机GC(垃圾收集器)日志
最近在看《
深入理解java
虚拟机》这本书,在看到第3章第二节验证java虚拟机使用的不是引用计算法来判断对象是否被GC回收时。看到了GC日志,不是很清楚是什么意思,在网上搜索资料,自己总结了一下。
零零镹
·
2020-08-23 18:39
java虚拟机
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他