- 博客(25)
- 收藏
- 关注
原创 线程通信
为了实现多个线程之间的协同,如线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间的相互通信,可分为四类:文件共享网络共享共享变量jdk提供的线程协调API:suspend/resume (弃用)、wait/notify、park/unpark这里多说说第四类。...
2021-03-02 22:59:29
233
2
原创 “Could not retrieve transation read-only status server“异常处理
当遇到这个问题,前去百度,应该会找到“驱动版本不一致”类似的答案。确实,基本上这就是异常的原因,不过实操才是关键。需要注意的地方有两处(这里主要是针对8.0之后的版本的记录):1.驱动更新,更新如下:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</v
2020-11-24 21:23:19
1378
原创 Spring源码剖析——AOP篇
Spring AOP,作为了解Spring的两个重头戏之一。其思想比实现更为重要。本篇给出了AOP的基本概念和基本使用,算是入门篇,掌握了这些,也就有了基础,为后续的原理、实现做铺垫。
2020-08-30 20:14:43
123
原创 了解dom4j——解析xml
dom4j是一个Java的XML API,可以很灵活的生成和解析xml,不过一般来说解析的场景更为常见,在学习Spring源码等之前,不妨先来了解下dom4j。准备工作在maven项目的pom文件中加入dom4j的依赖 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</v
2020-08-29 18:36:10
463
原创 数据库事务的特性、隔离级别以及丢失更新的处理
数据库事务的特性包括原子性、一致性、隔离性、持久性。数据库的隔离级别有四种,分别是读未提交,读已提交,可重复读、串行化。解决丢失更新:悲观锁、乐观锁
2020-07-07 21:21:02
1538
1
原创 缓存使用时的三大问题——缓存穿透、缓存击穿、缓存击穿
了解缓存的基本内容以及缓存穿透、缓存击穿、缓存雪崩三大场景的具体描述,解决难题从发现问题、了解问题开始
2020-06-13 15:40:08
200
原创 掌握JS的几种空判断(undefined、null、NaN)
判断是否为空在前端判断尤为常见,其实不止js,微信小程序等使用这些判断同样适用,是一通百通的知识点
2020-05-28 23:22:50
23884
原创 Java中常见日期获取——本周、本月、本季、本年第一天和最后一天
总有需要获取指定时间,这里的方法适合封装,本周、本月、本季、本年第一天和最后一天,这些常见的都有,返回结果“YYYY-mm-dd”形式,方便处理。
2020-05-20 19:42:43
2829
3
原创 常用数据类型转换——BigDecimal,字符串,数组,List
工作中常用数据类型转换,包括BigDecimal与字符串、数组与字符串、数组与list的相互转化,忘了就来转一转
2020-05-19 20:54:05
2203
原创 mysql日期查询-获取今天,昨天,本周,上周,本月,上月,本年、去年、本季、上季日期及数据
获取今天日期:SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY);获取昨天日期:SELECT DATE_SUB(CURDATE(),INTERVAL 0 DAY);获取本周一:SELECT SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%W')-1);获取本周日:SELECT SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%W')-7);获取上周周一:SELECT SUBDATE
2020-05-18 20:12:19
3585
原创 MyBatis基础进阶篇
实际的开发中,往往我们需要多表联查获取数据,以下给出一个例子:场景描述:获取学生信息,包括学生姓名,课程名,任课老师姓名。场景分析:学生实体中包含课程集合,课程实体中包含老师id,通过学生-课程关系表将各个结果集串联起来,从而可以获取所需信息。场景实现:掌握MyBatis的基础使用后,此处的难点、不同点就主要集中在mapper.xml中了。下面给出映射关系图(略显凌乱,凑合看哈):图中红线相连部分即使名称应该对应的部分,有几处要特别说明:Student的id、名称获取方式是利用const
2020-05-17 11:00:46
182
原创 Mybatis的认知与使用
问前世今生,言了了自述MyBatis的前身是Apache下的一个开源项目ibatis,后在2010年迁移到Google,更名为Mybatis,又于2013年迁移到 Github。它是一种半自动的ORM框架,它不是直接建立Java对象到关系数据库表的数据的映射,而是建立在对Java对象的操作方法到sql语句之间的映射关系上,所以,它让使用者可以自由编写SQL、存储过程、视图等等,使用者自己编写的高效SQL会让项目的执行更优化。MyBatis依靠XML文件配置映射关系,通过XML+接口的方式实现增删改查。
2020-05-16 15:08:28
337
1
原创 封装、继承、多态,认识一下!
封装、继承、多态,认识一下!作为学习java必须了解的Java特性,跟随本文,认识一下它们封装最常见的操作,比如我们要定义一个Book类,会将其下定义的变量私有化,然后提供公开的get、set方法。那为什么要这样做呢?原因呢也很简单,我们不希望类以外的程序可以随意的修改我们已经定义好的变量,只能通过我们提供的公有方法来修改或获取;甚至有些字段我们可以只提供get方法,不提供set方法,那么外部就无法修改我们的变量。而这就是封装的基本表现了。除此之外,有时我们也会对方法进行封装,比如我们有一段逻辑,要
2020-05-10 22:15:45
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人