摘要: 什么是框架?框架解决的是什么问题? 编程有一个准则,Don't Repeat Yourself(不要重复你的代码),所以我们会将重复的代码抽取出来,封装到方法中;如果封装的方法过多,将将这些方法封装成工具类;如果工具类形成了规模,就整合成类库。类库更加系统,功能更加齐全。既然别人已经造好了轮子,我们 阅读全文
posted @ 2018-08-15 11:14 浅滩沙洲 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 我知道在web.xml文件中我们是这样配置springmvc的: 我们的加载的入口就是dispatcherServlet。上一篇中我们说到了dispatcherServlet的集成关系,也反编译源码看到了具体的源码的截图。这里我们接着上篇中的集成关系说。在上篇说的httpServletBean的in 阅读全文
posted @ 2018-08-15 11:09 浅滩沙洲 阅读(3660) 评论(1) 推荐(3) 编辑
摘要: SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处 阅读全文
posted @ 2018-08-15 08:37 浅滩沙洲 阅读(217) 评论(0) 推荐(0) 编辑
摘要: IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 阅读全文
posted @ 2018-08-14 21:58 浅滩沙洲 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1.什么是AQS? AQS的核心思想是基于volatile int state这样的volatile变量,配合Unsafe工具对其原子性的操作来实现对当前锁状态进行修改。同步器内部依赖一个FIFO的双向队列来完成资源获取线程的排队工作。 2.同步器的应用 同步器主要使用方式是继承,子类通过继承同步器 阅读全文
posted @ 2018-08-14 20:46 浅滩沙洲 阅读(1579) 评论(0) 推荐(0) 编辑
摘要: 一、什么是CAS? 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一 阅读全文
posted @ 2018-08-14 20:41 浅滩沙洲 阅读(786) 评论(0) 推荐(0) 编辑
摘要: java在编写多线程程序时,为了保证线程安全,需要对数据同步,经常用到两种同步方式就是Synchronized和重入锁ReentrantLock。 相似点: 这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的 阅读全文
posted @ 2018-08-14 20:39 浅滩沙洲 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1、使用 排序 2、原理 事实上Collections.sort方法底层就是调用的array.sort方法,而且不论是Collections.sort或者是Arrays.sort方法, 跟踪下源代码吧,首先我们写个demo 简单得不能再简单的方法了,让我们一步步跟踪 ​ 我们没有写比较器,所以用的第 阅读全文
posted @ 2018-08-14 20:30 浅滩沙洲 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 提到集合之前,先说说数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) (2)JAVA集合可以存储和操作数目不固定的一组数据。 (3)若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。 F 阅读全文
posted @ 2018-08-14 20:15 浅滩沙洲 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1.java内存模型 1.JVM内存模型 JVM内存模型如上图,需要声明一点,这是《Java虚拟机规范(Java SE 7版)》规定的内容,实际区域由各JVM自己实现,所以可能略有不同。以下对各区域进行简短说明。 1.1程序计数器 程序计数器是众多编程语言都共有的一部分,作用是标示下一条需要执行的指 阅读全文
posted @ 2018-08-14 17:56 浅滩沙洲 阅读(1804) 评论(0) 推荐(0) 编辑