07 2020 档案
摘要:一、引言 其实按道理来说,学习Java web应该在前面的篇幅就写有关tomcat相关的知识点,不过近期看了一些资料,觉得以前仅仅只是知道用tomcat去发布我的项目,一些细节的东西也没有好好总结,这里从新写一篇进行tomcat知识点的总结。 二、Tomcat的结构 网上看到一张图片很好的涵盖了To
阅读全文
摘要:文章更新时间:2020/07/24 一、概念 定义 HTTP:超文本传输协议,是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 HTTP协议:用于定义客户端与web服务器通迅的格式。 版本 通讯中真正使用的http协议一般有两种: HTTP1.0 HTTP1
阅读全文
摘要:一、引言 今天学习第三种排序算法:直接插入排序,以前没怎么详细了解过,今天来看看图解一下~~ 二、直接插入算法 插入算法工具类 /** * 直接插入排序算法工具类 */ public class ChaRuUtil { /** * 直接插入排序【对外暴露静态方法】 */ public static
阅读全文
摘要:文章更新时间:2021/09/03 一、引言 线程并发的过程中,肯定会涉及到一个变量共享的概念,那么我们在多线程运行过程中,怎么保证每个先拿获取的变量信息都是最新且有序的呢?这一篇我们来专门学习一下Lock锁。 我们先来了解几个概念: 乐观锁与悲观锁 悲观锁: 假定会发生并发冲突,即共享资源会被某个
阅读全文
摘要:文章更新时间:2021/07/10 一、初认volatile 首先学习volatile关键字时,我们先简单的了解一下它能干啥: 工作内存与主内存同步延迟现象导致的可见性问题: 可通过synchronized或volatile关键字解决,他们都可以使一个线程修改后的变量立即对其它线程可见 对于指令重排
阅读全文
摘要:文章更新时间:2021/07/08 一、数据依赖性 在学习JVM的指令重排序之前,我们先了解一下什么是数据依赖性: 编译器和处理器在处理具体的指令时,可能会对操作进行重排序来提高执行性能【多条指令并行执行,所以提升性能的同时也可能会导致指令乱序】;而上面3种情况,只要重排序两个操作的执行顺序,程序的
阅读全文
摘要:文章更新时间:2021/07/10 一、什么是JMM 概念:Java内存模型是一种抽象的概念,并不真实存在,定义了Java程序在各种平台下对内存访问的机制及规范。 PS:线程是程序运行的载体 图示: 解析:首先我们要明确一点:内存模型主要是影响线程共享的内存可见性问题,Java线程之间的通信由Jav
阅读全文
摘要:一、引言 上一篇学习了冒泡排序,还是比较简单的一种排序,这一篇学习一下选择排序,也是基础排序的其中一种,手写一遍,加上自己的注释,理解以后写图例,其实算法也不是很高深的东西,记录一下~~ 二、选择排序算法 选择算法工具类 /** * 选择排序算法工具类 */ public class XuanZeU
阅读全文
摘要:一、引言 算法知识是计算机和软件工程的基础,虽然日常开发中很少会让我们自己写算法,但是对于不是科班出身的我来说,技术就是我的精神食粮,所以这一分类开始记录学习算法的过程~~~ 二、冒泡算法 冒泡工具类 /** * 冒泡排序算法工具类 */ public class MaoPaoUtil { /**
阅读全文