![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 94
小先生duang
这个作者很懒,什么都没留下…
展开
-
java多线程(四)—— 乐观锁和悲观锁
java多线程(四)—— 乐观锁与悲观锁1、前言原创 2021-06-07 17:07:25 · 750 阅读 · 6 评论 -
java多线程(三)—— java内存模型JMM
java多线程(三)—— java内存模型JMM 此篇文章准备研究的就是java中的JMM,也就是java内存模型(Java Memory Model),那到底为什么要有JMM?什么又是JMM呢?它又有什么作用?它和java内存结构又有什么样的区别?1、cpu缓存 要知道为什么有JMM,JMM是什么?我们得要从cpu缓存模型说起,当我们介绍完cpu缓存模型,并且知道了cpu缓存模型中所会出现的问题以后,对于JMM就会有很直观的认识,那cpu缓存模型长啥样呢?请由我慢慢道来。1.1、cpu缓存模型原创 2021-06-01 19:40:10 · 219 阅读 · 0 评论 -
java多线程(二)—— synchronized锁原理
java多线程(二)—— synchronized锁原理1、java对象头1.1、普通对象头 java中的对象是由三部分组成,分别是对象头、对象体和对齐填充;对象体是存储一个对象属性值和父类的属性值的地方,并且jvm虚拟机中要求一个对象大小必须是8字节的整数倍,通过对齐填充达到这个要求;而通过对象头来描述一个Java对象是何种对象,且是属于那个类的对象,对象头中的Klass Word存储的是Class对象的地址,表明该对象是属于那个类,标记字段Mark Word则存储了该对象运行时数据,如哈希码(h原创 2021-05-27 22:37:16 · 383 阅读 · 0 评论 -
java多线程(一)—— 基础使用篇
java多线程(一)—— 基础使用篇1、线程的创建1.1、继承Threadpublic class main { public static void main(String[] args) { Thread t1 = new MyThread();//创建一个自己定义的线程 t1.setName("mythrea");//设置线程的名字 t1.start();//通过调用start()来进行线程的运行 }}class MyThre原创 2021-05-24 14:54:46 · 139 阅读 · 0 评论 -
springmvc——DispatcherServlet源码解析
1、DispatcherServlet的类结构。 以上就是DispatcherServlet的类结构,它最终是继承了HttpServlet,所以它最终会被tomcat容器所实例化,然后具体对于DispatcherServlet的初始化和对请求的响应是通过DispacherServlet、FrameworkServlet、HttpServletBean一起联合实现。2、DispatcherServlet的初始化调用DispatcherServlet的无参构造函数。然后再调用从HttpSe原创 2021-05-15 10:53:21 · 995 阅读 · 2 评论 -
javaweb项目的文件结构
javaweb项目的文件结构1、前言 最近使用Intellij idea搭建一个springmvc的web项目时,突然发现,自己好像对web项目的文件结构不是很清晰,对于项目中应该有那些文件夹、文件夹里面又是怎么的文件、他们的作用又是什么?这些好像有点似懂非懂,所以索性就好好研究一下javaweb项目的文件结构是怎样的,如何用Intellij idea搭建一个基于spirngmvc框架的javaweb项目,又是如何部署到tomcat服务器中?2、tomcat项目结构 我想要研究清楚javaweb原创 2021-05-13 19:48:59 · 15818 阅读 · 3 评论 -
jvm详解(二)—— 类加载子系统
类加载子系统1、class文件结构 我们都知道,Java程序的运行过程是首先编写java源程序,然后通过编译器将源程序编译成class文件,也就是Java字节码文件,然后通过jvm虚拟机将字节码文件加载到内存中,再由jvm虚拟机中的执行引擎进行执行字节码中的指令,那jvm虚拟机是如何根据字节码文件将对应的数据或指令加载到内存中呢?又是如果去解析且执行对应的指令呢?我们就得先去了解一下字节码文件的结构是怎样的,这样就能知道jvm虚拟机是如果去加载内存、又如果去解析指令。1.1 class文件的组成原创 2021-04-21 20:47:06 · 158 阅读 · 2 评论 -
jvm详解(一)—— jvm结构与运行时数据区
jvm(一)1、jvm的基础认识 定义: jvm是java程序的运行环境的一部分,也是最重要的一部分,它与操作系统直接交互,而操作系统能够操作计算机硬件,所以jvm能间接的操作计算机硬件。java代码通过编译器将其编译成字节码文件,jvm通过加载字节码文件,然后进行运行内存的申请与字节码文件中指令的解释,达到java程序运行的目的。 特性:跨平台。通过安装不懂平台的jvm虚拟机来实现跨平台性。垃圾回收 组成:类加载器子系统运行时数据区执行引擎2、jvm的位置关系原创 2021-04-16 19:50:37 · 221 阅读 · 0 评论 -
第二章 线性表之单链表(二)
第二章 线性表(二)1、链表 定义: 链表是一种逻辑结构为线性表的格式,而它在物理存储单元上是非连续、非顺序的存储结构。他的存储的元素单元由一个链表节点所构成,这个节点包括对应的存储数据和指向下一个节点的指针,链表之间的连接也就是靠节点中的指针来进行关联。它和顺序表的差别就是存储结构的不同。 链表节点: 在链表中,每一个数据元素包括两个部分,一个部分是数据部分(data),另一个部分是指向下一个节点的指针(next),链表通过一个数据节点中的next指针,指向下一个节点来达到将所有的数据节点连接原创 2020-11-14 15:22:52 · 120 阅读 · 0 评论