摘要: 一、基本pom.xml目录结构 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma 阅读全文
posted @ 2020-05-30 11:02 九·思 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 一 、生命周期 servlet 声明周期可以分四个阶段: 类装载过程 init() 初始化过程 service() 服务过程,选择doGet \ doPost destroy() 销毁过程 servlet接口如下 public interface Servlet { void init(Servle 阅读全文
posted @ 2018-11-28 12:00 九·思 阅读(9442) 评论(0) 推荐(3) 编辑
摘要: 概述 1、环境说明 2、HelloWorld项目细节 3、小结 一. 关于环境补充 在上一篇的HellWorld项目中,我们构建SpringBoot项目,采用的是jdk1.8版本,springboot官方建议配合jdk1.7及其以上版本来开发springboot。而如springboot1.5.8中 阅读全文
posted @ 2018-11-24 16:40 九·思 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 概述 1、了解springboot的作用 2、构建第一个springboot项目 一、springboot的作用 ① 原先在构建SSM项目的时候,可以感觉到,在一些不是很大的项目,构建配置文件的过程所需的时间花费甚至超过项目本身的业务,每次构建一个新项目都得搞各种配置文件(xml\configura 阅读全文
posted @ 2018-11-21 09:14 九·思 阅读(614) 评论(0) 推荐(1) 编辑
摘要: 一般认为并发可以分为阻塞与非阻塞,对于非阻塞可以进一步细分为无障碍、无锁、无等待,下面就对这几个并发级别,作一些简单的介绍。 1、阻塞 阻塞是指一个线程进入临界区后,其它线程就必须在临界区外等待,待进去的线程执行完任务离开临界区后,其它线程才能再进去。 2、无障碍(obstruction-free) 阅读全文
posted @ 2018-10-02 10:41 九·思 阅读(574) 评论(0) 推荐(0) 编辑
摘要: Java创建线程的主要方式 一、继承Thread类创建 通过继承Thread并且重写其run(),run方法中即线程执行任务。创建后的子类通过调用 start() 方法即可执行线程方法。 通过继承Thread实现的线程类,多个线程间无法共享线程类的实例变量。(需要创建不同Thread对象,自然不共享 阅读全文
posted @ 2018-09-23 13:52 九·思 阅读(17347) 评论(1) 推荐(1) 编辑
摘要: 介绍CAS操作前,我们先简单看一下乐观锁 与 悲观锁这两个常见的锁概念。 悲观锁: 从Java多线程角度,存在着“可见性、原子性、有序性”三个问题,悲观锁就是假设在实际情况中存在着多线程对同一共享的竞争,所以在操作前先占有共享资源(悲观态度)。因此,悲观锁是阻塞,独占的,存在着频繁的线程上下文切换, 阅读全文
posted @ 2018-08-23 11:10 九·思 阅读(5173) 评论(0) 推荐(0) 编辑
摘要: 以前有句话说:“Java是解释执行的 ” 。现在看来确实不是很准确,至于原因,在此简略解释: 首先,我们先解释一下在Java中解释执行和编译执行的区别。 在编译示时期,我们通过将源代码编译成.class ,配合JVM这种跨平台的抽象,屏蔽了底层计算机操作系统和硬件的区别,实现了“一次编译,到处运行” 阅读全文
posted @ 2018-07-31 09:46 九·思 阅读(14731) 评论(2) 推荐(4) 编辑