自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 线程安全问题--理论基础

访问临界资源的代码块。

2024-09-28 13:47:09 319

原创 并发基础--java中的线程

interrupt的本质是将线程的打断标记设为true,并调用线程的三个parker对象(C++实现级别)unpark该线程。

2024-09-28 13:29:43 588

原创 并发基础--进程线程,同步异步,阻塞非阻塞

(concurrent)是同一时间**应对(dealing with)**多件事情的能力(轮流执行线程)。(parallel)是同一时间动手**做(doing)**多件事情的能力(多核同时执行多个线程)。定义:一个进程之内有多个线程,一个线程就是一个指令流,它是系统。在 windows 中进程是不活动的,只是作为线程的容器。进程基本上相互独立的,而线程存在于进程内,是进程的一个子集。进程拥有共享的资源,如内存空间等,供其内部的线程共享。阻塞,非阻塞则描述的是单个线程在调用方法时的“下,通过操作系统中的。

2024-09-28 13:18:13 381

原创 虚拟机字节码执行引擎

Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。

2024-09-28 11:53:18 258

原创 虚拟机类加载机制--类加载器

默认的类加载器**。

2024-09-28 11:47:37 374

原创 虚拟机类加载机制--类加载

Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销, 但是却为Java应用提供了极高的扩展性和灵活性,Java天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。

2024-09-27 21:35:50 558

原创 类文件结构

每个Class文件头4个字节的魔数用于确认文件是否为一个能被Java虚拟机接受的Class文件。

2024-09-26 17:08:17 748

原创 JVM监控和故障处理及内存调优

对JVM内存的系统级的调优主要的⽬的是减少GC的频率和Full GC的次数。过多的GC和 Full GC是会占⽤很多的系统资源(主要是CPU),影响系统的吞吐量。使⽤JDK提供的内存查看⼯具,⽐如JConsole和Java VisualVM。jconsole,Java Monitoring and Management Console是从java5开始,在JDK中⾃带的java监控和管理控制台,⽤于对JVM中内存,线程和类等的监控。提 供了实时分析线程、内存,CPU、GC等信息的可视化界⾯。

2024-09-26 16:58:26 203

原创 垃圾收集器与内存分配策略--经典垃圾收集器

图3-6展示了七种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用(jdk 9字样表示在jdk 9时废弃),图中收集器所处的区域,则表示它是属于新生代收集器抑或是老年代收集器。是HotSpot虚拟机运行在客户端模式下的默认新生代收集器历史地位: 最基础、历史最悠久的收集器,曾是JDK 1.3.1之前HotSpot虚拟机新生代收集器的唯一选择。工作方式: 单线程工作,进行垃圾收集时需暂停其他所有工作线程(“Stop The World”)。优点单/少核处理器优势: 在单核/核心数较少

2024-09-26 15:10:10 734

原创 垃圾收集器与内存分配策略--垃圾收集算法

写屏障是一种虚拟机层面的技术,用于在引用类型字段赋值时执行额外动作。它类似于面向切面编程(AOP)中的环绕通知。

2024-09-26 14:55:28 681

原创 垃圾收集器与内存分配策略--垃圾收集概述

垃圾收集(Garbage Collection,下文简称GC)需要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?第2章介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域的生命周期都是确定的,随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出而执行对应的入栈和出栈操作。同时,这几个区域所需的空间大小都是确定的,因此这几个区域的内存分配和回收都具备确定性,不需要过多考虑如何回收的问题:当方法结束或者线程结束时,内存自然就跟随着回收了。

2024-09-26 14:44:31 776

原创 Java内存区域与对象结构探秘--HotSpot虚拟机对象

以最常用的虚拟机HotSpot和最常用的内存区域Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。

2024-09-26 12:12:28 351

原创 Java内存区域与对象结构探秘--运行时数据区域

数据存储以变量槽(Slot)表示,其中long和double占用两个变量槽,其他类型占用一个。局部变量表所需的空间在编译期分配,运行期间大小不变,大小指的是变量槽的数量。存放基本数据类型、对象引用和returnAddress类型(指令地址)。

2024-09-26 12:07:05 545

原创 确保 Web 安全的 HTTPS

HTTPS 是身披 SSL 外壳的 HTTP。HTTPS 并非是应用层的一种新协议。只是 HTTP 通信接口部分用 SSL(Secure Socket Layer)和 TLS(Transport Layer Security)协议代替而已。

2024-09-26 12:01:54 780

原创 HTTP 首部

首部字段 Date 表明创建 HTTP 报文的日期和时间。

2024-09-26 11:54:49 706

原创 返回结果的 HTTP 状态码

2XX 的响应结果表明请求被正常处理了。

2024-09-26 11:42:45 265

原创 HTTP 报文内的 HTTP 信息

指定范围发送的请求叫做范围请求(Range Request)。

2024-09-25 18:55:35 509

原创 HTTP 协议

请求必定由客户端发出,而服务器端回复响应。通过请求和响应的交换达成通信。

2024-09-25 14:46:45 327

原创 Web 及网络基础

Uniform Resource Identifier,提供一种简单而扩展的方式来标识互联网上的资源。

2024-09-25 14:12:01 1022

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除