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
虚拟机之Java自动内存管理机制
深入理解Java
虚拟机之Java自动内存管理机制概述对于Java开发人员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个new操作去写匹配的delete/free代码,不容易(但还是有可能)出现内存泄漏和内存溢出的问题
WangUL
·
2023-03-16 12:12
JVM一览
参考书籍:《
深入理解Java
虚拟机》使用工具:jclasslibBytecodeviewer可以在idea插件中搜索下载到,可以查看Javaclass文件的字节码。
weibinhwb
·
2023-03-16 01:09
Java开发快速入门到精通之Java中的内存溢出问题
这篇文章整理自《
深入理解java
虚拟机》。之前面阿里遇到过。
学掌门
·
2023-03-14 22:36
Java
程序员
IT
java
jvm
面试
后端开发知识体系框架概述与思维导图
1.1Java核心知识点Java的类加载机制JVM相关:JVM内存模型和结构,GC原理,性能调优泛型集合体系异常体系IO体系多线程编程反射Servlet推荐数据《Java编程思想》《EffectiveJava》《
深入理解
weixin_55262637
·
2023-03-14 13:32
其他
深入理解Java
线程池 ThreadPoolExecutor
1、什么是线程池?线程池是一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。例如,线程数一般取cpu数量+2比较合适,线程数过多会
高山上的七云
·
2023-03-14 11:22
深入理解多线程
java
深入理解Java
中的引用(三)——DirectByteBuffer与ThreadLoal的垃圾回收
深入理解Java
中的引用(三)——DirectByteBuffer与ThreadLoal的垃圾回收上一篇文章介绍了关于Java中的四种引用类型。
樂浩beyond
·
2023-03-14 06:01
我的书单
2、《
深入理解Java
虚拟机》。
caojunfei
·
2023-03-14 04:05
【转】
深入理解Java
内存模型
java内存模型(JavaMemoryModel,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。可以避免像c++等直接使用物理硬件和操作系统的内存模型在不同操作系统和硬件平台下表现不同,比如有些c/c++程序可能在windows平台运行正常,而在linux平台却运行有问题
yinkaihua
·
2023-03-14 00:18
学习笔记 |
深入理解Java
内存模型
Java内存模型imageJava虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域:image程序计数器程序计数器(ProgramCounterRegister)是一块非常小的内存空间,它
digger30
·
2023-03-13 23:08
《
深入理解Java
虚拟机》笔记 - 持续更新
1、运行时数据区组成(1)堆区(2)虚拟机栈区(3)本地方法栈区(4)方法区(5)程序计数器2、程序计数器的作用(1)执行Java方法时:记录正在执行的虚拟机字节码指令的地址。(2)执行Native(本地)方法时:计数器值为空(Undefined)3、Java常量池Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。(1)静态常量池,即*.class文件中的常量池,class文件中的
ZOKE
·
2023-03-13 21:12
#JVM和ART经典书籍推荐
Java虚拟机
深入理解Java
虚拟机:JVM高级特性与最佳实践自己动手写Java虚拟机(Java核心技术系列)Java虚拟机精讲HotSpot实战深入java虚拟机第二版Dalvik-ART虚拟机AndroidDalvik
Fitz_Lee
·
2023-03-13 04:15
Windows 11,cygwin + Visual Studio 2017编译OpenJDK12
背景因为最近在看《
深入理解Java
虚拟机JVM高级特性与最佳实践》,书上介绍了jdk编译的方法,所以进行实践。目标编译在Windows11上运行的x64版本OpenJDK12。
窗外蓝天
·
2023-03-12 13:03
windows
visual
studio
java
OpenJDK12
深入理解Java
Script的类型转换
前言JavaScript作为一门弱类型语言,我们在每天的编写代码过程中,无时无刻不在应用着值类型转换,但是很多时候我们只是在单纯的写,并不曾停下脚步去探寻过值类型转换的内部转换规则,最近通过阅读你不知道的JavaScript中篇,对js的值类型转换进行了更加深入的学习,在此分享给大家参考学习。概念将值从一种类型转换为另一种类型通常称为类型转换,主要发生在静态语言的编译阶段;强制类型转换则发生在动态
8770094f3186
·
2023-03-12 11:09
JS作用域链/闭包
笔记参考(或摘录):
深入理解java
script原型和闭包(13)-【作用域】和【上下文环境】
深入理解java
script原型和闭包(14)——从【自由变量】到【作用域链】
深入理解java
script原型和闭包
Cheney_9f51
·
2023-03-11 05:48
反序列化漏洞
www.cnblogs.com/lsdb/p/9830363.html【3】反序列化漏洞汇总https://blog.csdn.net/weixin_29324013/article/details/80901275【4】
深入理解
hello12qwerz
·
2023-03-10 23:28
Java 虚拟机摘要
参照周志明老师的《
深入理解Java
虚拟机》做的摘要Java内存区域运行时数据区域程序计数器:当前线程所执行的字节码的行号指示器Java虚拟机栈:线程私有。
无事可说
·
2023-03-09 10:32
深入理解Java
Script中的Base64编码字符串
目录初步认识Base64是怎么诞生的基础定义编码方式体积增大=等号非ASCII码字符编解码方法btoa和atob第三方库前端常见应用小图片转码文件读取Canvas生成图片其他总结在我们进行前端开发时,针对项目优化,常会提到一条:针对较小图片,合理使用Base64字符串替换内嵌,可以减少页面http请求。并且还会特别强调下,必须是小图片,大小不要超过多少KB,等等。那么,Base64又到底是什么呢?
·
2023-02-27 18:05
深入理解Java
Script字节二进制知识以及相关API
目录字节字节序BlobFile对Blob和File的读取ArrayBufferTypeArrayDataViewBlob和ArrayBuffer当前,前端对二进制数据有许多的API可以使用,这丰富了前端对文件数据的处理能力,有了这些能力,就能够对图片等文件的数据进行各种处理。本文将着重介绍一些前端二进制数据处理相关的API知识,如Blob、File、FileReader、ArrayBuffer、T
·
2023-02-27 18:04
JVM 方法区和元空间什么关系?为什么要将永久代替换为元空间?
多提一嘴,为了完善方法区这部分内容的介绍,我看了很多文档,还特意去扒了一下《
深入理解Java
虚拟机(第3版)》勘误的issues,简直看到的脑壳疼。。。
azhou的代码园
·
2023-02-20 10:11
java
一文精通常量池
答题链接和二维码:https://ks.wjx.top/vj/rlYibac.aspx视频分享:【
深入理解Java
常量
ME ++
·
2023-02-19 18:49
JVM
java
jvm
开发语言
常量池
程序员:必须得
深入理解Java
文件输入输出流和文件描述符
本文将深入理解文件描述符,并从JDK源码上分析文件描述符在文件输入输出流中的运用。点个赞收藏下吧特别声明,为避免重复造轮子,部分内容和图片摘自文末参考资料。本文仅限用于交流学习,严禁用于商业用途。文件描述符是什么?[1]在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(filedescriptor)是内核为了高效管理已被打开的文件所创建的索引
小白不想上班
·
2023-02-17 22:33
MacOS编译JDK8
在学习
深入理解Java
虚拟机时,作者建议编译一遍jdk,遂在实践中记录下一些针对jdk8的tips1。下载安装freetype2。下载安装xcode以及commandlinetools3。
群体驱散master
·
2023-02-06 14:45
【每日面试】2021字节跳动番茄小说Java二面
discuss_experience_nctrack&channel=-1来源:牛客网1.自我介绍2.项目相关3.Java中有个String类,如果我们自己写一个java.lang.String类,会出现问题吗(参考《
深入理解
BCS-点心
·
2023-02-06 09:06
每日面试题
BCS
Java
面试
编程
学习
350多本编程书籍是每个程序员值得拥有的一套编程百科全书
《代码大全》《HTTP权威指南》《UNIX程序设计艺术》《重来》《集体智慧编程》《疯狂的程序员》《Python金融数据分析》《智识分子:做个复杂的现代人》《C++primer》《禅与摩托车维修艺术》《
深入理解
代码技巧
·
2023-02-05 21:15
深入理解Java
Script之变量提升
变量提升原理:JS引擎的工作方式是先解析代码,获取所有被声明的变量;然后在运行。JS代码自上而下执行之前,浏览器首先会把所有带“VAR”/“FUNCTION”关键词的进行提前“声明”或者“定义”,这种预先处理机制称之为“变量提升”。console.log(a,b);//undefinedundefinedvara=12,b=12;functionfn(){console.log(a,b);//=>
杰哥随手录
·
2023-02-05 08:04
JS事件循环
深入理解java
script中的事件循环(1)JS为何设计为单线程js设计为单线程还是跟他的用途有关试想一下如果js设计为多线程那么同时修改和删除同一个dom浏览器又该如何执行?
崔某猿
·
2023-02-05 08:16
深入理解Java
虚拟机,JVM高级特性与最佳实践!
第一部分走进Java第二部分自动内存管理机制第三部分虚拟机执行子系统参考资料:书籍,网站资源Java不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合,如图1-1所示。时至今日,Java技术体系已经吸引了900多万软件开发者,这是全球最大的软件开发团队。使用
往复随安_5bb5
·
2023-02-04 13:08
JVM学习之java线程安全&锁优化技术
以下blog内容来自《
深入理解Java
虚拟机_JVM高级特性与最佳实践》感谢作者。
lidongxiu0714
·
2023-02-04 06:01
java基础
jvm学习
java面试小问题
线程安全
阻塞同步
非阻塞同步
JVM篇·线程安全与优化
线程安全与优化本文为《
深入理解Java
虚拟机_JVM高级特性与最佳实践·周志明》学习笔记文章目录线程安全与优化线程安全共享数据分类1.不可变2.绝对线程安全3.相对线程安全4.线程兼容5.线程对立线程安全的实现方法
BugGuys
·
2023-02-04 06:29
JVM
JAVA
java
jar
深入理解Java
虚拟机 JVM高级特性与最佳实践阅读笔记
本笔记记录了阅读本书觉得重要的知识点,有些过于繁琐的没有记录2.java内存区域与内存溢出异常2.2运行时数据区域JVM运行时数据区线程私有:JVM虚拟机栈,本地方法栈,程序计数器线程共享:方法区,堆2.2.1程序计数器时一块较小的内存空间,可以看作时当前线程所执行的字节码的行号指示器。字节码解释器通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功
kdlllll
·
2023-02-04 01:47
深入理解Java
虚拟机(三)--G1垃圾回收器
G1GC,全称Garbage-FirstGarbageCollector,从官网的描述中说明G1是一种服务器端的垃圾收集器,应用在多处理器和大容量内存环境中,在实现应用高吞吐量的同时,尽可能的满足垃圾收集暂停时间的要求(可预测停顿),停顿预测模型的意思是能够支持指定在一个时间长度为M毫秒的时间片段内消耗在垃圾收集上的时间大概率不超过N毫秒这样的目标。并且部分回收过程是和应用线程并发执行,采用复制和
yfsheng
·
2023-02-02 01:01
实战:自己编译JDK
在学习
深入理解Java
虚拟机的过程中,觉得自己编译JDK是很酷的一件事。所以就尝试一下,由于老版本编译的教程数不胜数,也没有挑战性,所以本文挑战社区最新版,希望有一些未知的事情发生。
井地儿
·
2023-02-02 00:33
java面试题
JavaGC机制详解]([https://blog.csdn.net/laomo_bible/article/details/83112622]2.JVMDVMART的区别3.javanew一个对象的过程
深入理解
罗赛尔_7709
·
2023-02-01 09:59
Java程序员必备基础图
前言最近看了
深入理解Java
虚拟机第三版,整理了一些基础结构图,算是比较全的了,做一下笔记,大家一起学习。1.Java虚拟机运行时数据区图JVM内存结构是Java程序员必须掌握的基础。
即将秃头的Java程序员
·
2023-02-01 07:15
Java语法糖的味道
-----摘自周志明《
深入理解Java
虚拟机》泛型泛型的本质是参数化类型(ParameterizedType)或者参数化多态(ParametricPolymorphism)的应用,即可以将操作的数据类型指定为方法签名中的一种特殊参数
ElegantApple
·
2023-02-01 02:40
深入理解Java虚拟机
jvm
《
深入理解Java
虚拟机》笔记--类加载机制
类加载机制虚拟机把描述类等数据从Class文件加载到内存,并对数据进行校验、转化解析和初始化,最终形成可以被虚拟机直接使用的Java类型。类型的加载、链接、初始化过程都是在程序运行期间完成的Java动态拓展的语言特性就是依赖于运行期动态加载和动态链接1.类加载的时机类从被加载到虚拟机内存中开始到卸载出内存为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载七个阶段。其实。验证、准备、
Android_17
·
2023-01-31 10:25
JVM学习-HotSpot虚拟机对象(学习笔记)
(注:本文全部
深入理解Java
虚拟机一书的笔记)对象的创建执行new指令时在执行new指令之前:首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载、解析和初始化过
if_wang
·
2023-01-31 07:43
深入理解Java
对象的创建过程:类的初始化与实例化
目录视图摘要视图订阅赠书|异步2周年,技术图书免费选程序员8月书讯项目管理+代码托管+文档协作,开发更流畅[置顶]
深入理解Java
对象的创建过程:类的初始化与实例化标签:类初始化过程类实例化过程类构造器与实例构造器对象创建的时机与过程对象创建过程剖析
小-鸟
·
2023-01-31 05:08
Mac编译OpenJDK12
最近在阅读《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第3版)》参照图书,在自己的Mac上进行OpenJDK12的编译.环境准备MAC参数xcode记得安装CommandLineToolsxcode-select
南山下北海北
·
2023-01-31 00:28
Java内存区域与内存溢出异常
本文为《
深入理解Java
虚拟机》第二章内容的学习笔记,部分内容经过二次加工。若对相关知识感兴趣,推荐购书深入阅读。若认为文章涉嫌侵权,请联系作者及时删除。
在咖啡里溺水的鱼
·
2023-01-30 15:15
《
深入理解Java
Script》笔记
参考:
深入理解Java
Script最下面有几点疑问,路过的朋友帮忙解答下七、JavaScript的语法多行注释,被/**/包裹的任意区域,它不能嵌套使用function(a/*int*/,b/*str*
孤鹰苍穹
·
2023-01-29 21:49
深入理解Java
Script的作用域和作用域链
一、作用域(一)作用域是什么了解作用域之前先看一下变量和函数,变量和函数都有一定的访问权限,就是必须满足条件或者在某个范围之内才能访问,这个范围就是作用域。它具体表现形式就是一段特定的代码,在该代码段中的变量和函数是封闭的、独立的,这样变量才不会泄露、污染。varcat='有鱼';functionPerson(){varname='张三';console.log(name);//张三,在函数内部,
有鱼是只猫
·
2023-01-29 11:29
深入理解Java
虚拟机(二)Java垃圾回收看这篇就够了!
引用《
深入理解Java
虚拟机》书里的一句话:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。
honehou
·
2023-01-29 09:34
OOM发生的可能(
深入理解Java
虚拟机读书笔记)
一、堆溢出1.堆用于存储对象的实例,-Xms参数表示堆容量的最小值,-Xmx表示堆容量的最大值。当这两个参数值相同时,表明该堆不可以进行动态扩展。我们可以通过-XX:+HeapDumpOnOutOfMemoryError让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照以便分析。2.首先通过内存印象分析工具对Dump出的堆转储快照进行分析,确认异常属于内存泄漏还是内存溢出。3.如果是内存泄
吐泡泡的喵_33ea
·
2023-01-28 13:48
《
深入理解Java
虚拟机》笔记--Java内存与内存溢出
一.JAVA内存1.运行时数据区域线程隔离区:程序计数器,虚拟机栈,本地方法栈线程共享区:方法区,堆1.1程序计数器多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一条线程的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各个线程直接计数器互不影响,独立存储。当前线程所执行的字节
Android_17
·
2023-01-26 22:08
【JUC并发编程】线程池及相关面试题 详解
【JUC并发编程】线程池及相关面试题详解参考资料:第十二章线程池原理·深入浅出Java多线程原理两道面试题,深入线程池,连环17问
深入理解Java
并发编程之线程池、工作原理、复用原理及源码分析硬核干货:
小颜-
·
2023-01-25 12:05
JUC
java
面试
jvm
后端
架构
《
深入理解Java
虚拟机》读书笔记--面试全面复习
1Java内存区域与内存溢出异常1.1运行时数据区域1.1.1程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。它是线程私有的字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。1.1.2
ZhiZDK
·
2023-01-14 01:18
面试准备
java
面试
后端
深入理解Java
Script——闭包
跟很多新手一样我也是初入前端,对闭包的理解花费的时间和精力相当的多。效果也还行,今天我就来根据自己的理解细致的讲一讲闭包,由于是初入学习的时候不免有一些弯路和困惑,我想信这也是很多跟我一样的人会同样遇到的问题。我就以自己的学习路径和遇到的各种坑来谈闭包。希望对各位有一定的帮助。(菜鸟,也请各位多多指教)闭包是什么?《JavaScript高级程序设计》上面这么描述的:闭包是指有权访问另一个函数作用域
weixin_30566111
·
2023-01-09 03:22
javascript
前端
ViewUI
深入理解java
script闭包系列第五篇——闭包的10中形式
前面的话根据闭包的定义,我们知道,无论通过何种手段,只要将内部函数传递到所在的词法作用域以外,它都会持有对原始作用域的引用,无论在何处执行这个函数都会使用闭包。接下来,我们将详细介绍闭包的10种形式。一、返回值最常用的一种形式是函数作为返回值返回。varF=function(){varb='local';varN=function(){returnb;}returnN;}console.log(F
AFeng521web
·
2023-01-09 03:22
JavaScript
深入理解java
泛型详解_
深入理解java
泛型
一、什么是泛型?泛型(Generictype或者generics)是对简单的理解,就是对类型的参数化,比如我们定义一个类属性或者实例属性时,往往要指定具体的类型,如Integer、Person等等,但是如果使用了泛型,我们把这些具体的类型参数化,用一个广泛的可以表示所有类型的“类型”T来定义,那这个T就是泛型的表示。可以在集合框架(Collectionframework)中看到泛型的动机。例如,M
weixin_39805906
·
2023-01-07 12:30
深入理解java泛型详解
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他