咚咚锵的记事本

转载的博文只是为了日后学习备用,若侵害到了原著者的权益,可联系删除。...

SpringBoot记录一次循环依赖

一、情景: 项目中用到了@Async注解,在项目的Application启动类中加上了@EnableAsync注解,等到启动运行服务的时候控制台日志报错: Error starting ApplicationContext. To display the auto-configuration...

2018-11-01 11:46:39

阅读数:311

评论数:0

SQL视图简介

一、视图简介: 视图可以看作定义在SQL Server上的虚拟表。视图正如其名字的含义一样,是另一种查看数据的入口。 常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 。 视图不能被修改,表修改或者删除后应该删除视图再重建。 从数据库系统内部来看,视图是由一...

2018-10-30 20:22:33

阅读数:37

评论数:0

Spring Data JPA 三:实现多表联查的另一种方式

         在一个项目的实际开发过程中牵涉到复杂业务的时候,我们不可避免的需要使用中间表来进行数据连接,有的同学就说了,我可以采用JPA进行主外键进行关联啊?多对多,多对一,一对一,等,采用主外键关联在数据的操作过程中具有很强的耦合性,尤其对于需要经常删改数据表而言,我们是不建议采用主外键...

2018-10-30 19:51:41

阅读数:206

评论数:0

idea自动生成UUID和解决办法

        序列化运行时使用一个称为 serialVersionUID 的版本号与每个可序列化类相关联,该序列号在反序列化过程中用于验证序列化对象的发送者和接收者是否为该对象加载了与序列化兼容的类。如果接收者加载的该对象的类的 serialVersionUID 与对应的发送者的类的版本号不同,...

2018-10-18 11:56:47

阅读数:250

评论数:0

submit与execute区别

(1)可以接受的任务类型                submit:                               execute:                             可以看出:                         execute只能接...

2018-10-08 11:08:27

阅读数:116

评论数:0

记录一个基础线程的创建

线程池负责管理工作线程,包含一个等待执行的任务队列。线程池的任务队列是一个Runnable集合,工作线程负责从任务队列中取出并执行Runnable对象。下面是一个简单示例: 首先创建一个Runable 类: public class ThreadPoolTest extends Thread...

2018-09-20 11:06:59

阅读数:35

评论数:0

ThreadPoolExecutor简介

         项目中涉及到了线程池的使用,最初使用的是Executors的工厂模式向我们提供了4种线程池实现方式,但是阿里的编码规约并不推荐使用,原因是使用Executors创建线程池不会传入这个参数而使用默认值所以我们常常忽略这一参数,而且默认使用的参数会导致资源浪费,不可取。 阿里的 ...

2018-09-20 10:31:55

阅读数:37

评论数:0

Spring Data JPA 二:实现多表关联分页查询

最近在对JPA的使用过程中发现对于单表的操作很是方便,但是当设计到多表联查的时候就需要有一些特殊的操作了。 项目中有一个场景是后台需要做一个分页的列表查询,所需要的数据分散在两张表中,如果是用mybatis的话直接定义resultMap,然后手写SQL就可以了。而在JPA中就需要用到JPQL了。...

2018-09-12 15:50:18

阅读数:261

评论数:2

Spring Data JPA 一:实现多表关联查询

多表查询在spring data jpa中有两种实现方式,第一种是利用hibernate的级联查询来实现,第二种是创建一个结果集的接口来接收连表查询后的结果,这里介绍第二种方式。 一、一对一映射 实体 UserInfo :用户。 实体 Address:家庭住址。 这里通过外键的方式(一个实...

2018-08-30 17:08:48

阅读数:143

评论数:0

记录两个简单的桶排序和冒泡排序

桶排序 关于桶排序先做几点说明: 1)桶排序是稳定的;  2)桶排序是常见排序算法中最快的一种,大多数情况下比快排和归并排序还要快  3)桶排序非常快但是也非常消耗空间,典型的以空间换时间,基本上是最耗内存的一种排序算法。 桶排序中:无序数组有个要求,就是成员隶属于固定(有限的)的区间,...

2018-08-21 12:01:03

阅读数:65

评论数:0

Spring AOP的实现原理

AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为...

2018-08-03 11:12:30

阅读数:66

评论数:0

关于单例模式的总结

常用的单例模式基本上只有静态内部类和枚举两种形式: 枚举 public enum SomeThing { INSTANCE; private Resource instance; SomeThing() { instance = new Resourc...

2018-08-01 16:14:10

阅读数:83

评论数:0

单例模式的七种写法

写在前面:单例模式,是设计模式中最简单的一种,但是,他却有很多的东西需要注意,性能、线程安全等。 原文地址:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): public class Singleton {      priv...

2018-08-01 15:41:28

阅读数:55

评论数:0

SpringBoot ——异步调用Async

什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。 如何实现异步调用? 多线程,这是很多人第一眼想到的关键词,没错,多线程就是一种实现异步调用的方式。 在非spring目...

2018-06-28 17:49:08

阅读数:69

评论数:0

LINUX 查找Tomcat日志关键词

    1、根据关键字查询: #查询catalina.out日志文件中的关键词为2016-04-13 11:26:00的日志信息 grep -C 10 '2016-04-13 11:26:00' catalina.out |more 或者  从前往后  cat /logs/web-and...

2018-06-10 16:18:41

阅读数:440

评论数:0

记录一次MySql锁等待 (Lock wait timeout exceeded)异常

Java执行一个SQL查询未提交,遇到1205错误。    java.lang.Exception:    ### Error updating database.  Cause: java.sql.SQLException: Lock wait timeout exceeded; try res...

2018-05-27 00:23:35

阅读数:896

评论数:0

mysql 索引整理记录

mysql 索引使用原则:            通过上面说的优点和缺点,我们应该可以知道,并不是每个字段度设置索引就好,也不是索引越多越好,而是需要自己合理的使用。       1、对经常更新的表就避免对其进行过多的索引,对经常用于查询的字段应该创建索引,       2、数据量小的表最好不要使...

2018-05-25 11:57:23

阅读数:163

评论数:0

去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告

IntelliJ IDEA 打开 mybatis 的 xml 文件时,对应的 xml 文件中 sql 语句背景色总是有黄色或绿色的背景色。提示(红圈处)上已经说明,需要配置在 IDEA 中配置 data source (通常我们很少使用 IDE 去查看数据库内容,而是使用其他专门的 DB 工具)。...

2018-05-07 18:16:25

阅读数:143

评论数:0

spring data jpa 详解

本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有...

2018-04-11 20:11:22

阅读数:80

评论数:0

StringRedisTemplate常用操作

[java] view plain copystringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向redis里存入数据和设...

2018-04-11 11:32:43

阅读数:2269

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭