自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java多线程(四)—— 乐观锁和悲观锁

java多线程(四)—— 乐观锁与悲观锁1、前言 

2021-06-07 17:07:25 684 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 195

原创 java多线程(二)—— synchronized锁原理

java多线程(二)—— synchronized锁原理1、java对象头1.1、普通对象头  java中的对象是由三部分组成,分别是对象头、对象体和对齐填充;对象体是存储一个对象属性值和父类的属性值的地方,并且jvm虚拟机中要求一个对象大小必须是8字节的整数倍,通过对齐填充达到这个要求;而通过对象头来描述一个Java对象是何种对象,且是属于那个类的对象,对象头中的Klass Word存储的是Class对象的地址,表明该对象是属于那个类,标记字段Mark Word则存储了该对象运行时数据,如哈希码(h

2021-05-27 22:37:16 361

原创 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 114

原创 springmvc——DispatcherServlet源码解析

1、DispatcherServlet的类结构。  以上就是DispatcherServlet的类结构,它最终是继承了HttpServlet,所以它最终会被tomcat容器所实例化,然后具体对于DispatcherServlet的初始化和对请求的响应是通过DispacherServlet、FrameworkServlet、HttpServletBean一起联合实现。2、DispatcherServlet的初始化调用DispatcherServlet的无参构造函数。然后再调用从HttpSe

2021-05-15 10:53:21 963 2

原创 javaweb项目的文件结构

javaweb项目的文件结构1、前言  最近使用Intellij idea搭建一个springmvc的web项目时,突然发现,自己好像对web项目的文件结构不是很清晰,对于项目中应该有那些文件夹、文件夹里面又是怎么的文件、他们的作用又是什么?这些好像有点似懂非懂,所以索性就好好研究一下javaweb项目的文件结构是怎样的,如何用Intellij idea搭建一个基于spirngmvc框架的javaweb项目,又是如何部署到tomcat服务器中?2、tomcat项目结构  我想要研究清楚javaweb

2021-05-13 19:48:59 15490 3

原创 jvm详解(二)—— 类加载子系统

类加载子系统1、class文件结构  我们都知道,Java程序的运行过程是首先编写java源程序,然后通过编译器将源程序编译成class文件,也就是Java字节码文件,然后通过jvm虚拟机将字节码文件加载到内存中,再由jvm虚拟机中的执行引擎进行执行字节码中的指令,那jvm虚拟机是如何根据字节码文件将对应的数据或指令加载到内存中呢?又是如果去解析且执行对应的指令呢?我们就得先去了解一下字节码文件的结构是怎样的,这样就能知道jvm虚拟机是如果去加载内存、又如果去解析指令。1.1 class文件的组成 

2021-04-21 20:47:06 151 2

原创 jvm详解(一)—— jvm结构与运行时数据区

jvm(一)1、jvm的基础认识​ 定义: jvm是java程序的运行环境的一部分,也是最重要的一部分,它与操作系统直接交互,而操作系统能够操作计算机硬件,所以jvm能间接的操作计算机硬件。java代码通过编译器将其编译成字节码文件,jvm通过加载字节码文件,然后进行运行内存的申请与字节码文件中指令的解释,达到java程序运行的目的。​ 特性:跨平台。通过安装不懂平台的jvm虚拟机来实现跨平台性。垃圾回收​ 组成:类加载器子系统运行时数据区执行引擎​2、jvm的位置关系

2021-04-16 19:50:37 198

原创 第二章 线性表之单链表(二)

第二章 线性表(二)1、链表 定义: 链表是一种逻辑结构为线性表的格式,而它在物理存储单元上是非连续、非顺序的存储结构。他的存储的元素单元由一个链表节点所构成,这个节点包括对应的存储数据和指向下一个节点的指针,链表之间的连接也就是靠节点中的指针来进行关联。它和顺序表的差别就是存储结构的不同。  链表节点: 在链表中,每一个数据元素包括两个部分,一个部分是数据部分(data),另一个部分是指向下一个节点的指针(next),链表通过一个数据节点中的next指针,指向下一个节点来达到将所有的数据节点连接

2020-11-14 15:22:52 108

原创 第二章 线性表之顺序表(一)

第二章 线性表(一)1、 线性表的基本概念​  线性表定义:线性表是具有相同数据类型的n个数据元素的有序序列,其中n为表常,当n=0时即为空表,一般表示为:L=(a1,a2,a3,a4,....,ai,ai+1..,an)L = (a_1,a_2,a_3,a_4,....,a_i,a_{i+1}..,a_n)L=(a1​,a2​,a3​,a4​,....,ai​,ai+1​..,an​)​  其中aia_iai​表示的就是数据结构中的数据元素,它是由多个数据项所构成,表示的是第i个元素,这个

2020-11-13 16:14:40 263

原创 第一章 数据结构基本概念

第一章 数据结构基本概念1.1 数据结构概念和术语数据:数据使信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理,数据元素是再数据结构中被考虑操作的最小单位。它一般情况下由若干个数据项组成,数据项即是构成数据元素的最小单位,也是最基本的数据单位。例如一条学生记录就是一个数据元素,而它是由学号、姓名、性别等小的数据项所构成。数据对象:就是数据元素的一个集合,就叫做数据对象,例如:一个班的学生

2020-10-20 09:36:29 90

空空如也

空空如也

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

TA关注的人

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