在各自岗位上尽职尽责,无需豪言壮语,默默行动会诠释一切。这世界,虽然没有绝对的公平,但是努力就会增加成功和变好的可能性!而这带着未知变量的可能性,就足以让我们普通人拼命去争取了。
欢迎来到~一支会记忆的笔~博客主页
摘要: 如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</vers 阅读全文
posted @ 2019-09-23 16:23 一支会记忆的笔 阅读(2532) 评论(0) 推荐(1) 编辑
摘要: jdbc连接池的弊端 1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。设想:使用数据库连接池管理数据库连接。2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。设想:将sql语句配 阅读全文
posted @ 2019-09-23 15:29 一支会记忆的笔 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 在应用中,有时没有把某个类注入到IOC容器中,但在运用的时候需要获取该类对应的bean,此时就需要用到@Import注解。示例如下: 先创建两个类,不用注解注入到IOC容器中,在应用的时候在导入到当前容器中。 1、创建Dog和Cat类 package com.example.demo; public 阅读全文
posted @ 2019-09-23 15:13 一支会记忆的笔 阅读(1381) 评论(0) 推荐(3) 编辑
摘要: MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处理器, 无需在xml中注册. 只需在代码中通过对类与方法的注解, 即可完成注册. 定义处理器 @Controller: 当前类为处理器 @RequestMapping: 当前方法为处理器方法, 方法名随意, 对于请求进行处理与响应. @C 阅读全文
posted @ 2019-09-23 14:57 一支会记忆的笔 阅读(433) 评论(0) 推荐(0) 编辑
摘要: SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处 阅读全文
posted @ 2019-09-23 14:30 一支会记忆的笔 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 今天看到一篇文章,很详细的描述了锁和锁粒度的概念,如下 为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。打个比方:人是不同的线程,卫生间是共享资源你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别人才能用。想象一下如果卫生间的门没有锁会 阅读全文
posted @ 2019-09-23 13:15 一支会记忆的笔 阅读(457) 评论(1) 推荐(0) 编辑
摘要: 总览图 如果文中内容有错误,欢迎指出,谢谢。 悲观锁、乐观锁 悲观锁、乐观锁使用场景是针对数据库操作来说的,是一种锁机制。 悲观锁(Pessimistic Lock):顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿 阅读全文
posted @ 2019-09-23 13:11 一支会记忆的笔 阅读(2621) 评论(0) 推荐(4) 编辑
摘要: 警告⚠️:本文耗时很长,先做好心理准备................哈哈哈 本篇我们讲通过大量实例代码及hotspot源码分析偏向锁(批量重偏向、批量撤销)、轻量级锁、重量级锁及锁的膨胀过程(也就是锁的升级过程) 我们先来说一下我们为什么需要锁? 因为在并发情况为了保证线程的安全性,是在一个多线程 阅读全文
posted @ 2019-09-23 11:41 一支会记忆的笔 阅读(5937) 评论(1) 推荐(9) 编辑
摘要: 一、原子性 原子性操作指相应的操作是单一不可分割的操作。例如,对int变量count执行count++d操作就不是原子性操作。因为count++实际上可以分解为3个操作:(1)读取变量count的当前值;(2)拿count的当前值和1做加法运算;(3)将加完后的值赋给count变量。 在多线程环境中 阅读全文
posted @ 2019-09-23 11:07 一支会记忆的笔 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: CPU的缓存一致性协议MESI 在多核CPU中,内存中的数据会在多个核心中存在数据副本,某一个核心发生修改操作,就产生了数据不一致的问题,而一致性协议正是用于保证多个CPU cache之间缓存共享数据的一致性。 cache的写操作 write through 写通 每次CPU修改cache中的内容会 阅读全文
posted @ 2019-09-23 10:43 一支会记忆的笔 阅读(1936) 评论(2) 推荐(1) 编辑
摘要: 什么是进程?什么是线程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程。 进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等 阅读全文
posted @ 2019-09-23 10:27 一支会记忆的笔 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 什么是线程阻塞? 在某一时刻某一个线程在运行一段代码的时候,这时候另一个线程也需要运行,但是在运行过程中的那个线程执行完成之前,另一个线程是无法获取到CPU执行权的(调用sleep方法是进入到睡眠暂停状态,但是CPU执行权并没有交出去,而调用wait方法则是将CPU执行权交给另一个线程),这个时候就 阅读全文
posted @ 2019-09-23 10:21 一支会记忆的笔 阅读(8288) 评论(3) 推荐(3) 编辑
返回顶部
【学无止境❤️谦卑而行】