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
实战:自己编译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泛型详解
java 泛型深入_
深入理解java
的泛型
简介泛型是JDK5引入的概念,泛型的引入主要是为了保证java中类型的安全性,有点像C++中的模板。但是Java为了保证向下兼容性,它的泛型全部都是在编译期间实现的。编译器执行类型检查和类型推断,然后生成普通的非泛型的字节码。这种就叫做类型擦除。编译器在编译的过程中执行类型检查来保证类型安全,但是在随后的字节码生成之前将其擦除。这样就会带来让人困惑的结果。本文将会详细讲解泛型在java中的使用,以
weixin_39851977
·
2023-01-07 12:30
java
泛型深入
java泛型深入,深入理解 Java 泛型
[TOC]
深入理解Java
泛型概述泛型的本质是参数化类型,通常用于输入参数、存储类型不确定的场景。相比于直接使用Object的好处是:编译期强类型检查、无需进行显式类型转换。
公诸同好
·
2023-01-07 12:29
java泛型深入
深入理解Java
泛型
目录前言为什么要有泛型具体举例泛型的概念具体举例集合中如何使用泛型注意自定义泛型结构自定义泛型类举例自定义泛型接口自定义泛型方法泛型继承如何使用通配符通配符的上下界(有限制条件的通配符)前言在jdk5.0之前Java所使用的类,接口,泛型都是没有指定可以操作的数据类型的,这个问题在集合中体现得很突出,这样的话就会使得数据有可能不安全,在jdk5.0以后java引进了泛型,解决了这一问题,在操作数据
Super若离风
·
2023-01-07 12:58
java
java
开发语言
后端
泛型
掌握未来趋势的Java成长之路
入门javaSE基础java基础语法核心技能1、掌握Java开发环境基本配置2、掌握运算符、表达式、流程控制语句、数组等的使用3、熟练使用IDEA开发工具4、
深入理解Java
面向对象思想5、掌握开发中常用基础
startwe2022
·
2023-01-05 12:37
低代码Java架构师
低代码架构师
java
java
servlet
jvm
深入理解Java
8 Lambda(类库篇——Streams API,Collectors和并行)
2019独角兽企业重金招聘Python工程师标准>>>
深入理解Java
8Lambda(类库篇——StreamsAPI,Collectors和并行)发表于2016-09-27|分类于编程|关于
深入理解Java
8Lambda
weixin_34034261
·
2023-01-04 23:21
java
数据结构与算法
python
手写一个mini-webpack
90%打包速度优化包体积优化首屏加载时间与页面流畅度构建包分析详细配置手写一个webapck插件(模拟HtmlWebpackPlugin的实现)webapck4核心源码解读webapck5展望在这章你将会
深入理解
一行注释
·
2022-12-31 18:12
echarts
Java多线程、操作系统内存模型,Java内存模型、volatile
文章目录多线程与多任务Java内存模型内存间交互操作volatileCAS构成死锁条件锁的类型自旋锁锁消除锁粗化知识来源
深入理解Java
虚拟机多线程与多任务多任务处理在现代计算机操作系统中几乎已是一项必备的功能
swg321321
·
2022-12-30 13:59
架构与规范
java
Java虚拟机内存划分、垃圾收集算法、垃圾收集器
堆方法区运行时常量池直接内存对象存活判断垃圾收集算法分代收集理论标记-清除标记-复制标记-整理垃圾收集器SerialParNewParallelScavengeSerialOldParallelOldCMSG1参考书籍
深入理解
swg321321
·
2022-12-30 13:29
架构与规范
java
jvm
算法
项目终于用上了插入式注解,真香!
插入式注解处理器在《
深入理解Java
虚拟机》一书中有一些介绍(前端编译篇有提到),但一直没有机会使用,直到碰到这个需求,觉得再合适不过了,就简单用了一下,这里做个记录。
·
2022-12-28 09:35
后端java
项目终于用上了插入式注解,真香!
插入式注解处理器在《
深入理解Java
虚拟机》一书中有一些介绍(前端编译篇有提到),但一直没有机会使用,直到碰到这个需求,觉得再合适不过了,就简单用了一下,这里做个记录。
·
2022-12-28 09:04
后端java
【并发编程】一文带你读懂
深入理解Java
内存模型(面试版本)
并发编程这一块内容,是高级资深工程师必备知识点,25K起如果不懂并发编程,那基本到顶。但是并发编程内容庞杂,如何系统学习?本专题将会系统讲解并发编程的所有知识点,包括但不限于:线程通信机制,深入JMM内存模型原理,深入synchronized原理,深入volatile原理,DCL,详解AQS,CAS,可重入锁,读写锁原理,详解并发工具类,深入理解threadLocal,Fork、Join,原子类详
sllin
·
2022-12-25 06:05
JVM
及
JDK
多线程并发
【Java书笔记】:《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第3版)》第2部分-自动内存管理,第3部分-虚拟机执行子系统,第5部分-高效并发
作者:周志明整理者GitHub:https://github.com/starjuly/UnderstandingTheJVM第2部分-自动内存管理第2章Java内存区域与内存溢出异常2.2运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的进程的启动而一直存在,有些区域则是依赖用户线程
DougLeaMrConcurrency
·
2022-12-19 20:29
读书笔记
Java
jvm
jvm.gc
深入理解JVM
Java
深入理解Java
虚拟机— jvm调优案例分析与实战
上一篇:
深入理解Java
虚拟机—垃圾收集器适用场景下一篇:
深入理解Java
虚拟机—虚拟机类加载机制jvm调优案例分析与实战一.高性能硬件上的调优:1.采用64位操作系统,并为JVM分配大内存我们知道,如果
迷途知返-
·
2022-12-17 06:24
java
jvm
jvm
java
深入理解Java
Script系列(1):编写高质量JavaScript代码的基本要点
才华横溢的StoyanStefanov,在他写的由O’Reilly初版的新书《JavaScriptPatterns》(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情。具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多。此摘要也包括一些与代码不太相关的习惯,但对整体代码
huang_zd
·
2022-12-15 07:38
javascript
javascript引擎
javascript
web开发
重构
性能优化
深入理解Java
虚拟机:(一)Java代码是如何运行的?
jdk的子目录下也存在一个jre。而我C盘目录下也有一个jre。这两个jre有啥联系吗?答案是:没有联系。甚至准确的来说,它俩是一样的,无论是用哪一个都是可以的。只是很多人习惯将会单独安装另一个jre,虽然单独安装的jre也并没有被使用,原因可能就是刚开始大家都不清楚jdk和jre之间的关系,所以就默认的都安装上了。在jdk的bin目录下,基本上都是一些可执行文件,并且它们还不大。其实这些可执行文
程序员8000
·
2022-12-13 07:51
程序员
经验分享
java
后端
java内存溢出
这篇文章整理自《
深入理解java
虚拟机》。因为内存溢出问题不仅是工作中的一个重要方面,而且面试中也是经常问。
闻道☞
·
2022-12-12 23:53
JVM
java
面试
开发语言
GraalVM学习笔记
sdkman来安装graal(需要网络环境)二:手工安装(推荐)前言官网:https://www.graalvm.org/Github:https://github.com/oracle/graal我是在看《
深入理解
0x2015
·
2022-12-06 03:57
个人笔记
java
graalVM
jvm
graal
深入理解Java
类加载器(2):线程上下文类加载器
目录1线程上下文类加载器2何时使用Thread.getContextClassLoader()?3类加载器与Web容器4类加载器与OSGi总结1线程上下文类加载器线程上下文类加载器(contextclassloader)是从JDK1.2开始引入的。类java.lang.Thread中的方法getContextClassLoader()和setContextClassLoader(ClassLoad
pengjunlee
·
2022-12-04 19:51
深入理解Java虚拟机
线程上下文类加载器
classloader
java
深入理解Java
线程间通信
合理的使用Java多线程可以更好地利用服务器资源。一般来讲,线程内部有自己私有的线程上下文,互不干扰。但是当我们需要多个线程之间相互协作的时候,就需要我们掌握Java线程的通信方式。本文将介绍Java线程之间的几种通信原理。锁与同步在Java中,锁的概念都是基于对象的,所以我们又经常称它为对象锁。一个锁同一时间只能被一个线程持有。也就是说,一个锁如果被一个线程所持有,那其他线程如果需要得到这个锁,
小二上酒8
·
2022-11-28 08:11
java
jvm
开发语言
数据库
大数据
JVM垃圾回收系列之垃圾收集器一
序“黑发不知勤学早,白发方悔读书迟”引言本文将介绍HotSpot中常见的几种垃圾收集器,如:Serial、ParNew、ParallelScavenge、CMS等参考书籍:“
深入理解Java
虚拟机”个人
a_ittle_pan
·
2022-11-26 03:35
jvm
jvm
JVM垃圾回收系列之垃圾收集器二
随笔最近两个星期因为要忙公司项目上线的事情以至于发表的文章会显得碌碌庸流,在此以示歉意引言本文将介绍HotSpot中的G1GC参考书籍:“
深入理解Java
虚拟机”个人java知识分享项目——gitee地址个人
a_ittle_pan
·
2022-11-26 03:35
jvm
jvm
JVM垃圾回收系列之GCRoot算法实现
序国庆和朋友过了一个开心国庆引言这篇文章会详细介绍HotSpot虚拟机是如何去实现根可达算法(GCROOT)参考书籍:“
深入理解Java
虚拟机”个人java知识分享项目——gitee地址个人java知识分享项目
a_ittle_pan
·
2022-11-26 03:05
jvm
jvm
JVM虚拟机
推荐书籍:《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第3版)》看Java性能优化实战9.1JVM是基于栈的解释型机器。
wanglei1598
·
2022-11-15 20:31
Java
java
深入理解java
异常处理机制-exception
1.引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。packageTest;publicclassT
NowIWanaBe
·
2022-11-05 16:25
JAVA
exception
try-catch
深入理解Java
虚拟机:Java类的加载机制
本篇内容包括:Java类的加载机制(Jvm结构组成、Java类的加载)、类的生命周期(加载-验证-准备-解析-初始化-使用-卸载)、类加载器以及双亲委派模型。一、Java类的加载机制1、Jvm结构组成Jvm整体组成可分为四个部分:类加载器、运行时数据区(RuntimeDataArea)、执行引擎(ExecutionEngine)、本地库接口(NativeInterface)类加载器:负责从字节码(
栗筝i
·
2022-11-05 09:23
Java基础
java
jvm
开发语言
深入理解Java
Script——字符串
概要String()构造函数用于创建字符串对象和字符串原始值属性和方法字符串对象具有以下属性和方法(不包括继承的属性和方法)属性prototype方法froCharCode()实例属性和方法实例属性constructorlength实例方法slice():提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串substr():返回一个字符串中从指定位置开始到指定字符串的字符PS:未来可能
·
2022-10-30 23:40
深入理解Java
Script——循环都来这儿
写这篇文章真的很痛苦,因为我的心已经不在这里。前前后后花了一周时间才撬动键盘循环集合令JavaScript中有各种循环,如for,for(reverse),for...in,for...of,forEach,map等,这些循环各有什么特点呢?for循环这是最常见的循环for(vari=0;i0;i--){console.log(i)}同样的可读性差for...infor循环可以以任意顺序迭代一个对
·
2022-10-30 22:16
深入理解Java
Script——数组
我们在前文系列中,我们以内置构造函数Object开始讲起,并从中衍生出各种知识点。而后我们又讲另一个大构造函数Function,同样引出了比肩Object的知识点。这两者之后,笔者认为JavaScript的大厦已经建成,只是天边还有两朵小乌云,今天我们就讲其中的一朵——数组概要数组是一组按序排列的值,创建数组的目的通常是遍历数字索引值,以零索引开始。我们需要了解的是,数组是按照数字顺序排列的集合,
·
2022-10-30 22:08
深入理解Java
Script——垃圾回收机制
灵魂三问:什么是垃圾回收,回收的是什么?为什么要有这东西?本文会介绍并尝试回答这三个问题什么是垃圾回收?在说这个东西之前,先要解释什么是内存泄漏,因为内存泄漏了,所以引擎才会去回收这些没有用的变量,这一过程就叫垃圾回收什么是内存泄漏?程序的运行需要占用内存,当这些程序没有用到时,还不释放内存,就会引起内存泄漏。举个通俗的例子,就好比占着茅坑不拉屎,坑位(内存量)就这么多,你还不出去(释放内存),就
·
2022-10-30 22:52
深入理解java
多线程中的join()
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join();//使调用线程t在此之前执行完毕。t.join(1000);//等待t线程,等待时间是1000毫秒先上一段JDK中代码:Java代码/***Waitsatmostmillismilliseconds
Influencing
·
2022-10-29 01:18
java
thread.Join
Java
深入理解Java
Script——函数式编程
前言在讲函数式组件之前,笔者有必要声明一下,笔者对函数式编程知之甚少,此篇文章全是因为函数式编程在当今前端开发较为流行,所以才要去学习Orz。像ES6中的箭头函数,Redux中的compose,React16.6之后的React.memo(),16.8之后的Hooks,使用函数式组件成为主流(自然,Vue3中也有compositionAPI等)因为我们使用的各种框架,越来越偏向于函数式开发,所以为
·
2022-10-20 22:48
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他