随笔分类 - 后端
摘要:案例 public class ReentrantLockDebugDemo { // 变量i private int i = 0; // new1个reentrantLock private ReentrantLock reentrantLock = new ReentrantLock(); //
阅读全文
摘要:公平锁与非公平锁的区别 公平锁:所有线程都老老实实排队 非公平锁:只要有机会,就先尝试抢占资源 非公平锁的弊端 可能导致后面排队等待的线程等不到相应的cpu资源,从而引起线程饥饿 源码解析 public class ReentrantLockDemo { public static void mai
阅读全文
摘要:代码案例 public class ReentrantLockDemo { public static void main(String[] args) { ReentrantLock reentrantLock = new ReentrantLock(); reentrantLock.lock()
阅读全文
摘要:锁的分类 1、自旋锁: 线程状态及上下文切换消耗系统资源,当访问共享资源的时间短,频繁上下文切换不值得。jvm实现,使线程在没获得锁的时候,不被挂起,转而执行空循环,循环几次之后,如果还没能获得锁,则被挂起 2、阻塞锁:阻塞锁改变了线程的运行状态,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒或
阅读全文
摘要:参考1 参考2 参考3 参考4 导入依赖 <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-sdk-java</artifactId> <version>2.14.26</version> </depende
阅读全文
摘要:参考1 参考2 参考3 下载jar到本地 jave 导入本地仓库 mvn install:install-file -Dfile=jave-1.0.2.jar -DgroupId=joinery -DartifactId=jave -Dversion=1.0.2 -Dpackaging=jar 工程
阅读全文
摘要:线程安全 当多个线程访问某个类,不管运行时环境采用何种调度方式或者这些线程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类为线程安全的 新建线程不安全操作的案例类 public class UnSafeThread { private static
阅读全文
摘要:进程与线程的区别 1、进程:是系统进行分配和管理资源的基本单位 2、线程:进程的一个执行单元,是进程内调度的实体、是CPU调度和分派的基本单位,是比进程更小的独立运行的基本单位。线程也被称为轻量级进程,线程是程序执行的最小单位 3、一个程序至少一个进程,一个进程至少一个线程 4、进程有自己的独立地址
阅读全文
摘要:并发编程 计算机能运行多个程序,不同的程序在不同的单独的进程中运行 串行与并行 串行是大家排队一个一个来,并行是大家一起上 并发编程目的 摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。这一定律揭示了信息技术进步的速度。 让程序充分利用计算
阅读全文
摘要:查看源码 # 查看DispatcherServlet类 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { // 1.到发送的请求,并赋值给pro
阅读全文
摘要:查看源码 # 查看Servlet接口中的service方法 public interface Servlet { void init(ServletConfig var1) throws ServletException; ServletConfig getServletConfig(); void
阅读全文
摘要:SpringMVC常用组件 # DispatcherServlet:前端控制器,不需要工程师开发,由框架提供 作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求 # HandlerMapping:处理器映射器,不需要工程师开发,由框架提供 作用:根据请求的url、metho
阅读全文
摘要:构建1个maven项目 导入依赖 <packaging>war</packaging> <dependencies> <!-- SpringMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-w
阅读全文
摘要:拦截器 简介 SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor 拦截器中的3个抽象方法 # 浏览器 -> filter -> DispatcherServlet -> controller # preHandle方法则是在
阅读全文
摘要:异常处理 简介 SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver和 SimpleMappingExc
阅读全文
摘要:文件上传下载 导入文件上传所需的依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependenc
阅读全文
摘要:简介 HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,ResponseEntit
阅读全文
摘要:简介 REST:Representational State Transfer,表现层资源状态转移。 a>资源 资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个 可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件、 数据
阅读全文
摘要:视图简介 SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户 SpringMVC视图的种类很多,默认有转发视图和重定向视图 当工程引入jstl的依赖,转发视图会自动转换为JstlView 若使用的视图技术为Thymeleaf,在SpringMVC的配置文
阅读全文
摘要:使用ServletAPI向request域对象共享数据 # 后端:向request域对象中添加数据,并转发到success页面 @RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest req
阅读全文