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
中停止线程
一.停止线程会带来什么?对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预测,所以必须去做好防备。二.认识停止线程的几个方法2.1三个被弃用的方法stop()、suspend()、resume()。stop()方法被弃用的原因:无论线程执行到了什么位置,一旦被stop就会被马上强制中断
Java架构_师
·
2022-02-10 15:58
深入理解Java
的分级引用模型
本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。1Java的引用对于Java中的垃圾回收机制来说,对象是否被应该回收的取决于该对象是否被引用。因此,引用也是JVM进行内存管理的一个重要概念。Java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用C语言那样担心内存)
java高并发
·
2022-02-10 06:54
深入理解Java
虚拟机
深入理解Java
虚拟机封面
begonia_rich
·
2022-02-10 02:15
《
深入理解Java
虚拟机》(一)--Java内存区域与内存溢出异常(2)
-2HotSpot虚拟机对象探秘-2.1对象的创建当虚拟机收到一条new指令的时候,首先检查常量池中是否有这个对象的引用,意思就是你这个对象的类型有没有。再检查一下这个类有没有加载,解析,和初始化过,如果没有的话就执行类加载(这个操作执行完毕之后,就可以确定对象分配的大小)。JVM街道new指令之后的操作之后进入到内存分配的阶段:如果堆内存的分配是规整的,那么已分配区域和未分配区域会有一个指针,如
蓝色_fea0
·
2022-02-09 16:01
聊聊JDBC是如何破坏双亲委派模型的
资源来源《
深入理解Java
虚拟机》双亲委派模型的第一次“被破坏”其实发生在双亲委派模型出现之前--即JDK1.2发布之前。
曾泽浩
·
2022-02-09 15:15
Android程序员该如何进阶学习以预防35岁中年职场危机?
(一)架构师必备Java基础1、
深入理解Java
泛型2、注解深入浅出3、并发编程4、数据传输与序列化5、Java虚拟机原理6、高效IO……(二)设计思想解读开源框架1、热修复设计2、插件化框架设计3、组件化框架设计
AI设计大师
·
2022-02-09 11:35
程序员
架构
移动开发
android
深入理解Java
中的位操作
与、或、非、位移原码、反码、补码字节、位、超区间......开始本章节之前,我们先思考一个问题:bytea=33;byteb=-3;若我们输出a、b的二进制字符串是多少?答案是这样的么?a->//00100001b->//10100001当然同学们可能会觉得我既然问了就肯定不是这样;是吧~别着急你们试试就知道了。在Java中输出一个值对应的二进制方法有很多,这里提供一个简单的方法:intvalue
墨雨轩夏
·
2022-02-08 23:42
你的单例模式是真的线程安全吗?
本文的知识点主要来源: 1.方腾飞、魏鹏、程晓明三位老师的《Java并发编程的艺术》 2.周志明老师的《
深入理解Java
虚拟机》1.传统的单例模式 大家都知道,单例模式主要分为:懒汉模式和饿汉模式
琼珶和予
·
2022-02-08 15:42
深入理解JAVA
虚拟机学习笔记4——垃圾收集器概述
时隔这么久,这个系列又和大家见面了,感谢支持我的朋友,只要能给大家带来一点点收获,我真的时发自内心的开心!今天先简单了解一下虚拟机的垃圾收集器。前面已经介绍过了,程序计数器,虚拟机栈和本地方法栈是属于线程私有区域,这三个区域分配和回收都是确定的,方法和线程结束后,内存自认而然就回收了。而Java堆和方法作为公共区域回收则比较复杂,垃圾收集器所关注也是这两个部分的内存。但是如何判断哪些对象应该被回收
徐可心
·
2022-02-08 12:31
深入理解Java
虚拟机第四章 虚拟机性能监控与故障处理工具
下面说明几种基于JDK1.6的几种主要的命令行监控工具jps--JVMProcessStatusTool,显示指定系统内所有的HotSpot虚拟机进程可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(LocalVirtualMachineIdentifier,LVMID)。jps命令格式为:jps[options
Yufail
·
2022-02-07 08:03
深入理解java
虚拟机(一)java内存区域与内存溢出异常
写在前面:为了更加深入的了解java虚拟机,就看了一下《
深入理解java
虚拟机》这本书,一方面为了总结一下自己的认识,另一方面就是想与各位分享,如果有什么不对的地方,欢迎指正在进行java开发的时候,开发人员一般都不需要关注内存的请求
z七夜
·
2022-02-06 14:19
【并发编程】一文带你读懂
深入理解Java
内存模型(面试必备)
并发编程这一块内容,是高级资深工程师必备知识点,25K起如果不懂并发编程,那基本到顶。但是并发编程内容庞杂,如何系统学习?本专题将会系统讲解并发编程的所有知识点,包括但不限于:线程通信机制,深入JMM内存模型原理,深入synchronized原理,深入volatile原理,DCL,详解AQS,CAS,可重入锁,读写锁原理,详解并发工具类,深入理解threadLocal,Fork、Join,原子类详
风平浪静如码
·
2022-02-06 08:30
深入理解Java
Script中的堆与栈 、浅拷贝与深拷贝
JavaScript中的浅拷贝与深拷贝学了这么长时间的JavaScript想必大家对浅拷贝和深拷贝还不太熟悉吧,今天在项目中既然用到了,早晚也要理清一下思路了,在了解之前,我们还是先从JavaScript的数据类型存放的位置堆栈开始说起吧!现在我们带着问题来学习!一:什么是堆栈?我们都知道:在计算机领域中,堆栈是两种数据结构,它们只能在一端(称为栈顶(top))对数据项进行插入和删除。堆:队列优先
雪妮爸爸
·
2022-02-06 07:27
2018-05-11
《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结本节常见面试题(推荐带着问题阅读,问题答案在文中都有提到):简单介绍一下Class类文件结构(常量池主要存放的是那两大常量
玲小喵
·
2022-02-05 09:51
【Java】Java内存模型(JMM)
网上有很多关于Java内存模型的文章,在《
深入理解Java
虚拟机》和《Java
littlefogcat
·
2022-02-05 00:42
阿里大牛力荐6篇实战文档:JVM+多线程+Kafka+Redis+Nginx+MySQL
深入理解Java
虚拟机:JVM高级特性与最佳实践第一部分走近Java第1章走近Java第二部分自动内存管理机制第2章Java内存区域与内存溢出异常第3章垃圾收集器与内存分配策略第4章虚拟机性能监控与故障处理工具第
Java微服务
·
2022-02-04 16:41
深入理解Java
并发编程(一):JMM(Java内存模型)详解
一、JMM是什么?JMM是一个抽象的概念:描述的是一组围绕原子性、有序性、可见性的规范。其定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是共享变量。JMM规定:所有共享变量存储在主内存中,每条线程有自己的工作内存,线程的工作内存保存了被该线程使用到的变量的主内存副本,线程对变量的所有操作都必须在工作内存上进行,线程不能直接读写主内存的共享变量。
SEMINECES
·
2022-02-04 16:35
Java并发与多线程
Java并发指南2:
深入理解Java
内存模型JMM
本文转载自并发编程网,侵删本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《Java并发指南》其中一篇,本文大部分内容来源于网络,为了把本文主题讲得清
Java技术江湖
·
2022-02-04 15:34
Java并发编程指南
Java
深入理解Java
虚拟机_2(垃圾收集器与内存分配策略)
Ceratedbywestfallonon8/21哪些内存需要回收程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭。在这几个区域不需要过多考虑回收的问题,因为方法或者线程结束时,内存自然就随着回收了Java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间的时候才会知道创建哪些对象,这部分内存的分配和
westfallon
·
2022-02-03 08:04
阿里内部都在学习的五大
深入理解Java
虚拟机PDF,真的强
前言Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三方Java框架(如Spring、MyBatis等)构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。这种状况很大程度上是由Jav
程序员高级码农
·
2022-02-02 22:48
深入理解Java
虚拟机之Java内存区域与内存溢出异常
Java内存区域与内存溢出异常运行时数据区域程序计数器用于记录从内存执行的下一条指令的地址,线程私有的一小块内存,也是唯一不会报出OOM异常的区域Java虚拟机栈Java虚拟机栈(JavaVirtualMachineStack)是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(StackFrame)用于存
·
2022-01-12 21:47
java
深入理解Java
虚拟机之自己编译JDK
题外话最近在阅读《
深入理解Java
虚拟机》,其中有一小节实战是自己编译JDK,实际操作过程中遇到了不少问题,为此特地记录一下,也希望可以为大家带来一些参考前置准备平台及工具:Windows10+WSL(
·
2022-01-10 10:13
java
深入理解java
中的SPI机制
1.开始感受SPI机制的作用SPI(ServiceProviderInterface),翻译成为中文叫做"服务提供接口"。它的作用是什么呢?它的作用其实就是根据一个接口,找到项目中要使用的实现类,用户可以根据实际需要启用或者是扩展原来的默认策略。下面先以jdk提供的ServiceLoader这个类库去进行举例吧。通过ServiceLoader.load方法中传入指定的接口,它会加载这个接口下的指定
Wannay
·
2022-01-01 03:16
CentOS7 编译 JDK17
CentOS7编译JDK17引言最近看《
深入理解JAVA
虚拟机》,决定实操下编译OpenJDK。目前LTS版本是17,选择的OpenJDK版本为17。
biaoqianwo
·
2021-12-31 15:02
[基要稳]
深入理解Java
虚拟机随笔之运行时数据区域
运行时数据区域Java虚拟机运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。1.程序计数器(ProgramCounterRegister)-------线程私有2.Java虚拟机栈(JVMStack)------------------------线程私有3.本地方法栈(NativeMethodStack)------------线城私有4.堆(H
Guxxxd
·
2021-12-09 15:51
【
深入理解JAVA
虚拟机】读书笔记——调优案例分析总结
学习参考资料:周志明老师的著作《
深入理解Java
虚拟机(第3版)》1.大内存硬件上的程序部署一般单体应用在较大内存的硬件方式,有下面两种:1)通过一个单独的Java虚拟机实例来管理大量的Java堆内存2
遇事不决问清风
·
2021-12-05 10:02
JVM学习篇
java
jvm
后端
java虚拟机
深入理解Java
Script的事件执行机制
目录前言浏览器JS异步执行的原理浏览器中的事件循环执行栈与任务队列宏任务和微任务Async/await的运行顺序特点示例个人分析前言熟悉事件循环,了解浏览器运行机制将对我们理解JavaScript的执行过程和排查运行问题有很大帮助。以下是总结的一些浏览器事件循环的一些原理和示例。浏览器JS异步执行的原理JS是单线程的,也就是同一个时刻只能做一件事情,那么,为什么浏览器可以同时执行异步任务呢?因为浏
·
2021-12-03 13:16
深入理解Java
并发内存模型
为什么要有Java内存模型在介绍JMM时,先看《
深入理解Java
虚拟机》中的一张图,如下:jmm.png上图描述的意思是,在每一个线程中,都会有一块内部的工作内存(wor
有没有口罩给我一个
·
2021-12-03 10:02
浅析Java NIO 直接缓冲区和非直接缓冲区
定义以上是书《
深入理解java
虚拟机》对直接内存的描述。直接缓冲区用的就是直接内存。javanio字节缓冲区要么是直接的,要么是非直接的。
·
2021-11-30 11:54
JAVA基础之虚拟机故障处理工具
今天学习了《
深入理解java
虚拟机》的故障处理工具,都是一些小命令,不复杂,只不过有些命令在prod环境不要使用,jmap这种,在动辄几G的内存的pod中,生成一次文件可能就导致了环境停止,这时如果还有大量请求进来
·
2021-11-23 17:44
java虚拟机
深入理解Java
设计模式之简单工厂模式
目录一、什么是简单工厂模式二、简单工厂模式的结构三、简单工厂模式的应用场景四、简单工厂模式和工厂方法模式区别五、简单工厂模式和策略模式的异同六、简单工厂模式的优缺点七、简单工厂模式的实现八、总结一、什么是简单工厂模式简单工厂模式又称为静态工厂模式,实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。简单工厂模式的创建目标,所有创建的对象都是充当这
·
2021-11-22 11:44
深入理解Java
虚拟机 -- JMM(Java内存模型)
文章目录1、为什么要有Java内存模型?1.1、CPU和缓存一致性1.2、处理器优化和指令重排1.3、并发编程带来的问题1.4、JMM诞生的原因2、Java内存模型2.1、JMM对内存的划分2.2、完成主内存和工作内存交互的操作2.3、线程间的通信机制2.4、volatile关键字解析2.4.1、volatile关键字的特性2.4.2、volatile关键字可见性问题2.4.3、volatile关
崇尚学技术的科班人
·
2021-11-18 22:50
JVM
java
开发语言
后端
深入理解Java
main方法详解
目录1.深入理解main方法2.在Idea下如何传递参数总结1.深入理解main方法解释main方法的形式:publicstaticvoidmain(String[]args){}1..main方法是虚拟机调用的2.java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public3.java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static4.该方法接收St
·
2021-11-18 19:19
Java虚拟机内存分配与回收策略问题精细解读
本文参考于《
深入理解Java
虚拟机》内存分配与回收策略Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存。
·
2021-11-17 11:31
熟练掌握Java8新特性之Stream API的全面应用
大家可以参考我的这两篇文章:
深入理解Java
8新特性之StreamAPI的创建方式和中间操作步骤、
深入理解Java
8新特性之StreamAPI的终止操作步骤那么这篇文章主要就是说一个StreamAPI的简单应用练习题
·
2021-11-16 11:35
深入理解Java
8新特性之接口中的默认方法和静态方法
1.接口中的默认方法和静态方法Java8中允许接口中包含具有具体实现的方法,该方法称为“默认方法”,默认方法使用default关键字修饰。接口默认方法的”类优先”原则。若一个接口中定义了一个默认方法,而另外一个父类或接口中又定义了一个同名的方法时选择父类中的方法。如果一个父类提供了具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略。接口冲突。如果一个父接口提供一个默认方法,而另一个接口也提
·
2021-11-16 11:00
深入理解Java
虚拟机 -- 内存分配与回收策略
文章目录内存分配与回收策略(1)、对象优先在Eden分配(2)、大对象直接进入老年代(3)、长期存活的对象将进入老年代(4)、动态对象年龄判定(5)、空间分配担保本文参考于《
深入理解Java
虚拟机》内存分配与回收策略
崇尚学技术的科班人
·
2021-11-16 00:22
JVM
java
开发语言
后端
作用域(一)
这段时间小编把两本js的经典图书看完了,一本是《
深入理解Java
Script》,一本是《你不知道的JavaScript》。
·
2021-11-12 21:20
深入理解Java
虚拟机 -- Java运行时数据区域
文章目录1.运行时数据区域1.1程序计数器1.2Java虚拟机栈1.3本地方法栈1.4Java堆1.5方法区1.6运行时常量池2.直接内存本文参考于《
深入理解Java
虚拟机》运行时数据区域Java虚拟机在执行
·
2021-11-12 20:17
jvm
深入理解Java
虚拟机 -- HotSpot虚拟机对象探秘
、分配内存的方式(2)、分配内存的并发问题1.3初始化零值1.4设置对象头1.5执行方法2.对象的内存布局2.1对象头2.2实例数据2.3对齐填充3.对象的访问定位3.1句柄3.2直接指针本文参考于《
深入理解
崇尚学技术的科班人
·
2021-11-12 19:53
JVM
java
经验分享
开发语言
深入理解Java
8新特性之Stream API的终止操作步骤
目录1.写在前面2.终止操作2.1终止操作之查找与匹配2.2终止操作之归约与收集1.写在前面承接了上一篇文章(说完了StreamAPI的创建方式及中间操作):
深入理解Java
8新特性之StreamAPI
·
2021-11-11 10:17
深入理解Java
8新特性之Stream API的创建方式和中间操作步骤
目录1.什么是StreamAPI?2.StreamAPI操作的三个步骤2.1创建Stream2.2中间操作2.2.1中间操作之筛选与切片2.2.2中间操作之映射2.2.3中间操作之排序1.什么是StreamAPI?Java8中有两大最为重要的改变。第一个是Lambda表达式;另外一个则是mStreamAPI(java.util.stream.*)。Stream是Java8中处理集合的关键抽象概念,
·
2021-11-11 10:46
深入理解Java
8新特性之Optional容器类的应用
1.Optional容器类Optional类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用null表示一个值不存在,现在Optional可以更好的表达这个概念。并且可以避免空指针异常。常用方法:Optional.of(Tt):创建一个Optional实例Optional.empty():创建一个空的Optional实例Optional.ofNullable(T
·
2021-11-11 10:45
深入理解Java
8新特性之Lambda表达式的基本语法和自定义函数式接口
1.写在前面目前我们学习Java主要用到的应该就是Java8了,或者说大部分企业当前使用的也是Java8。那么既然Java8的应用如此之广泛,一定有一些亮点所在:Lambda表达式函数式接口方法引用与构造器引用StreamAPI接口中的默认方法与静态方法新时间日期API其他新特性速度更快、代码更少(增加了新的语法Lambda表达式)、强大的StreamAPI、便于并行、最大化减少空指针异常Opti
·
2021-11-10 18:01
深入理解java
script原型和原型链
构造函数通过new函数名来实例化对象的函数叫构造函数。任何的函数都可以作为构造函数存在。之所以有构造函数与普通函数之分,主要从功能上进行区别的,构造函数的主要功能为初始化对象,特点是和new一起使用。new就是在创建对象,从无到有,构造函数就是在为初始化的对象添加属性和方法。构造函数定义时首字母大写(规范)。functionPerson(name){this.name=name;}letp1=ne
猫老板的豆
·
2021-11-08 18:39
深入理解Java
设计模式之代理模式
目录一、引言二、什么是代理模式三、代理模式的结构四、代理模式和装饰模式的异同五、代理模式和委托六、代理模式的种类七、代理模式的应用场景八、代理模式的优缺点九、代理模式的实现总结一、引言我们都知道,数据库连接是很珍贵的资源,频繁的开关数据库连接是非常浪费服务器的CPU资源以及内存的,所以我们一般都是使用数据库连接池来解决这一问题,即创造一堆等待被使用的连接,等到用的时候就从池里取一个,不用了再放回去
·
2021-11-08 16:53
深入理解Java
设计模式之外观模式
目录一、什么是外观模式二、外观模式的使用场景三、外观模式的优缺点四、外观模式的实现总结一、什么是外观模式定义:为子系统中的一组接口提供一个一致的界面,用来访问子系统中的一群接口。外观模式组成:Facade:负责子系统的的封装调用SubsystemClasses:具体的子系统,实现由外观模式Facade对象来调用的具体任务二、外观模式的使用场景1、设计初期阶段,应该有意识的将不同层分离,层与层之间建
·
2021-11-08 16:53
深入理解Java
设计模式之适配器模式
目录一、什么是适配器模式二、适配器模式的结构三、适配器模式的使用场景四、适配器模式的优缺点五、适配器模式的实现1.类适配器模式2.对象适配器模式六、适配器模式的.NET应用总结一、什么是适配器模式定义:适配器模式属于结构型模式,把一个类的接口变成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。适配器模式又可以分为4种类型,类适配器模式、对象适配器模式、单接口适配
·
2021-11-08 13:09
深入理解Java
设计模式之组合模式
目录一、什么是组合模式动机(Motivation)意图(Intent)二、组合模式的结构结构图说明:三、组合模式的使用场景四、组合模式的优缺点五、组合模式的实现六、组合模式的.NET下应用一、什么是组合模式定义:将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。动机(Motivation)客户代码过多地依赖于对象容器复杂的内部实现结构,对象容
·
2021-11-08 09:39
深入理解Java
设计模式之享元模式
目录一、引言二、什么是享元模式三、享元模式的结构四、享元模式和单例模式的异同五、享元模式的优缺点六、享元模式的使用场景七、享元模式的实现八、总结一、引言大家都知道单例模式,通过一个全局变量来避免重复创建对象而产生的消耗,若系统存在大量的相似对象时,又该如何处理?参照单例模式,可通过对象池缓存可共享的对象,避免创建多对象,尽可能减少内存的使用,提升性能,防止内存溢出。在软件开发过程,如果我们需要重复
·
2021-11-08 09:39
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他