Servlet详解(下)

Servlet详解(下)前言​在这一篇文章里,将会讨论ServletContext以及Servlet映射规则。这两个知识点非常重要,ServletContext直接关系到SpringIOC容器的初始化(请参考ContextLoaderListener解析),而Servlet映射规则与SpringMV

Servlet详解(上)

Servlet详解(上)原文:servlet的本质是什么,它是如何工作的?主要内容servlet的前世今生我所理解的javaweb三大组件如何编写一个servlet前言​首先servlet是一个很简单的东西,很多人把servlet和太多东西联系起来才感觉servlet很神秘。事实上,servlet就

AQS工作原理分析

java中synchronized的底层实现​在java中如果使用了多线程对共享数据进行操作,那无可避免会遇到同步问题。为解决此问题可以使用synchronized对方法或者代码进行修饰。java代码执行时先编译成.class文件再在JVM上运行,在讲述JVM如何实现synchronized前先了解

JVM 知识点总结

java类加载过程1、概述Q1:JVM类加载机制定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型的过程Q2:特性运行期类加载。即在语言里面,类型的加载、连接和初始化过程都是在程序运行期完成的,从而通过牺牲一些性能开销来

java中synchronized的底层实现

java中synchronized的底层实现​在java中如果使用了多线程对共享数据进行操作,那无可避免会遇到同步问题。为解决此问题可以使用synchronized对方法或者代码进行修饰。java代码执行时先编译成.class文件再在JVM上运行,在讲述JVM如何实现synchronized前先了解

Collection集合容器总结

一、集合容器框架图说明:对于以上的框架图有如下几点说明1、所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2、集合接口:6个接口(短虚线表示),

水群笔记

因为临时线程有超时时间 到了超时时间就会走出死循环 自然就结束了核心线程是一直在死循环里的 没任务就阻塞 有任务就干活ThreadPoolExecutor// 表示已经到达了该移除多余线程的时间 boolean timedOut = false; // 死循环 for (;;)

java面试题

tips指令重排主要有两个阶段,一个是编译阶段,另一个是CPU阶段。volatile通过加内存屏障来禁止了这两个阶段的指令重排。也可以通过锁总线保证单线程执行,这样即使发生指令重排,也可以保证结果正确编译阶段重排序后,在CPU阶段是单线程执行,不影响最后的结果每日一题:用户每看一次电影有一条记录,一

jvm1 笔记

类加载过程类加载到内存的流程类加载器:双亲委派原则一个class需要被load到内存中时先去自定义加载器里找一级一级向上找如果上面都没有自顶向下加载如果没加载进来就classNotFound为啥要搞双亲委派?主要为了安全防止类覆盖和修改次要资源避免浪费$表示内部类sun.xxx.Launcher$x