首页
学习
活动
专区
工具
TVP
发布

一只程序原

有人问我,我就会讲。
专栏成员
173
文章
130245
阅读量
29
订阅数
死磕juc(五)volatile与Java内存模型
内存屏障(也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作),避免代码重排序。内存屏障其实就是一种JVM指令,Java内存模型的重排规则会要求Java编译器在生成JVM指令时插入特定的内存屏障指令,通过这些内存屏障指令,volatile实现了Java内存模型中的可见性和有序性,但volatile无法保证原子性。
yuanshuai
2022-09-26
2570
死磕juc(四)Java内存模型之JMM
计算机存储结构,从本地磁盘到主存到CPU缓存,也就是从硬盘到内存,到CPU。一般对应的程序的操作就是从数据库查数据到内存然后到CPU进行计算
yuanshuai
2022-09-23
2440
JVM内存与垃圾回收篇第3章运行时数据区概述及线程
当我们通过前面的:类的加载 --> 验证 --> 准备 --> 解析 --> 初始化,这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区
yuanshuai
2022-08-22
2330
JVM内存与垃圾回收篇第4章程序计数器
https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
yuanshuai
2022-08-22
1970
JVM内存与垃圾回收篇第5章虚拟机栈
https://docs.oracle.com/javase/specs/jvms/se8/html/index.html
yuanshuai
2022-08-22
4210
JVM内存与垃圾回收篇第6章本地方法接口
Java使用起来非常方便,然而有些层次的任务用Java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。
yuanshuai
2022-08-22
1440
JVM内存与垃圾回收篇第7章本地方法栈
第 7 章 本地方法栈 1、本地方法栈 本地方法栈的特点 Java虚拟机栈于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小(在内存溢出方面和虚拟机栈相同) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个stackoverflowError 异常。 如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应的本地方法栈,那么J
yuanshuai
2022-08-22
1600
JVM内存与垃圾回收篇第8章堆
为新对象分配内存是一件非常严谨和复杂的任务,JVM的设计者们不仅需要考虑内存如何分配、在哪里分配等问题,并且由于内存分配算法与内存回收算法密切相关,所以还需要考虑GC执行完内存回收后是否会在内存空间中产生内存碎片。
yuanshuai
2022-08-22
4240
JVM内存与垃圾回收篇第1章JVM和Java体系架构
英文文档规范:https://docs.oracle.com/javase/specs/index.html
yuanshuai
2022-08-22
2680
JVM内存与垃圾回收篇第2章类加载子系统
在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。那为什么还需要自定义类加载器?
yuanshuai
2022-08-22
2340
深入拆解Tomcat和Jetty之通用组件
每一个系统都有一些通用的模块,比如日志模块、异常处理模块、工具类等,对于 Tomcat 来说,比较重要的通用模块有日志、Session 管理和集群管理。从今天开始我会分三期来介绍通用模块,今天这一期先来讲日志模块。
yuanshuai
2022-08-22
4860
SpringBoot2核心技术-web开发
ServletModelAttributeMethodProcessor 这个参数处理器支持
yuanshuai
2022-08-22
7550
SpringBoot2核心技术-原理解析
xxxAutoConfiguration --- 容器中放入组件 ---- 绑定xxxProperties ----** 配置项
yuanshuai
2022-08-22
2530
SpringBoot2核心技术-基础入门
YAML 是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。
yuanshuai
2022-08-22
2270
SpringMVC之响应数据和结果视图
controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。
yuanshuai
2022-08-22
3350
SpringMVC之常用注解
表现层(Representation):把资源具体呈现出来的形式,叫做它的表现层 (Representation)。
yuanshuai
2022-08-22
4210
SpringMVC之文件上传
--------------------------7de1a433602ac 分界符
yuanshuai
2022-08-22
3640
SpringMVC之请求参数的绑定
SpringMVC 绑定请求参数的过程是通过把表单提交请求参数,作为控制器中方法参数进行绑定的。
yuanshuai
2022-08-22
6310
死磕juc(二)java的“锁”事(2)
可以看到三个线程a,b,c,同时卖票,线程默认抢占式的,哪个线程比较猛(上图c线程比较猛),就可以获得更多资源。
yuanshuai
2022-08-17
3220
死磕juc(二)java的“锁”事(1)
ObjectMonitor.java→ObjectMonitor.cpp→objectMonitor.hpp
yuanshuai
2022-08-17
3440
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档