摘要: 先说结论,在java中,for(;;)和while(true)在性能上没有什么区别 那么为什么会有很多for(;;)这种奇怪的写法呢,其实在早期的一些语言中,这两者是有区别的。 比如在C中,如果没有通过include引入某些头文件的话,是不会有TRUE,FALSE等等这些常量的,而如果写出while 阅读全文
posted @ 2020-11-18 16:59 xyyyn 阅读(124) 评论(0) 推荐(0) 编辑
摘要: (目录) 什么是原子性问题 原子性是指在一个操作中,cpu不可以在中途暂停然后再调度,要么一次执行完成,要么就不执行。 在Java中当我们讨论一个操作具有原子性问题,是一般就是指这个操作会被线程的随机调度打断而产生的一系列的问题。 举例说明一下 我们先来看一些例子,来了解什么是原子性的操作 a = 阅读全文
posted @ 2020-11-18 16:58 xyyyn 阅读(371) 评论(0) 推荐(0) 编辑
摘要: (目录) 什么是内存屏障 在转载的大佬的文章既生synchronized,何生volatile中,提到了synchronized与volatile的底层实现原理的不同,synchronized本质上是一种阻塞锁,而volatile则是使用了内存屏障来实现。所以在这里对内存屏障进行一个简单的介绍 为了 阅读全文
posted @ 2020-11-18 16:57 xyyyn 阅读(588) 评论(0) 推荐(0) 编辑
摘要: (目录) happen-before是什么 happen-before出现的原因 为了明确定义多线程场景下重排序的问题,Java引入了JMM(Java Memory Model),也就是Java内存模型。如果有了重排序就会出现原子性,可见性,有序性的问题,但是性能会提升。所以Java内存模型不是真实 阅读全文
posted @ 2020-11-18 16:55 xyyyn 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 线程 多线程是同时有多个线程并发执行,同时完成多个任务,具有多个顺序执行流,且执行流之间互不干扰 Java语言对多线程有非常优秀的支持 线程和进程 在操作系统中,每一个独立的应用程序都是一个进程,当一个程序进入内存以后就会变成一个进程, 进程是操作系统进行资源分配和调度的独立单位。 进程的三个特征 阅读全文
posted @ 2020-10-21 20:44 xyyyn 阅读(131) 评论(2) 推荐(0) 编辑
摘要: Lambda表达式 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。 语法 (parameters) -> expression //或 阅读全文
posted @ 2020-10-21 11:07 xyyyn 阅读(62) 评论(0) 推荐(0) 编辑
摘要: Spring SpringMVC程序执行过程 用户通过浏览器向服务器发动请求,请求会被SpringMVC的前端拦截器(DispatcherServlet)所拦截 DispatcherServlet拦截以后会调用HandlerMapping处理器映射器 处理器映射器根据请求url找到具体的处理器,生成 阅读全文
posted @ 2020-10-21 11:06 xyyyn 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1、什么是xml、xml的作用 简介 在前面学习的html语言,html是超文本标记语言,使用html语言规定好的标签来封装文本数据。而html使用的标签html语言规定好的,每个标签都有自己特定的功能。 xml语言,可扩展的标记语言,这门语言它没有定义任何的标记,而标记是由使用者自己来定义,但是由 阅读全文
posted @ 2020-10-21 11:05 xyyyn 阅读(74) 评论(0) 推荐(0) 编辑
摘要: Javascript 简介 软件结构 C/S结构 Client+Server 客户端+服务器 使用前需要在电脑上安装特定的客户端 优点:可以在本地执行一些运算处理 缺点:安装很多客户端会占用很多资源 B/S结构 Browser+Server 浏览器+服务器 只需安装一个浏览器,通过网址访问不同的服务 阅读全文
posted @ 2020-10-21 11:04 xyyyn 阅读(154) 评论(0) 推荐(0) 编辑