自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 事务特性及隔离级别

事务:数据库操作的最小工作单元.事务特性原子性一致性隔离性持久性事务隔离级别READ UNCOMMITED:未提交读READ COMMITTED:读已提交REPEATABLE READ:重复读Serializable:串行Mysql默认隔离级别:重复读...

2020-09-17 14:46:37 156

原创 基于自定义注解、切面实现防止重复提交

自定义注解:import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * 防止重复提交 * @author s */@Inherited@Rete

2020-07-10 15:10:05 377

原创 ConcurrentHashMap 模拟缓存,增加过期机制(惰性+定期删除)

import java.util.Map;import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentMap;public class ConcurrentMapCache { /** * 缓存对象 */ private ConcurrentMap<String, Cac

2020-07-07 16:24:35 3390 2

原创 Redis 过期策略

1、设置过期时间expire key time(以秒为单位)setex(String key, int seconds,String value) 字符串独有的方式注意:除了字符串自己独有设置过期时间的方法外,其他方法都需要依靠expire方法来设置时间如果没有设置时间,那缓存就是永不过期如果设置了过期时间,之后又想让缓存永不过期,使用persist key2、三种过期策略定时删除含义:在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,

2020-07-07 14:42:07 203

原创 maven-jar-plugin 打包排除配置文件

在maven多项目/模块中会存在项目/模块间相互引用,此时会涉及到配置文件的加载,如果想过滤被引用项目中的配置文件,且被引用项目的单元测试能够正常独立使用,可以通过如下配置在打包过程中进行过滤。相同名称的文件名,【被引用项目】中的不会被加载。可参考spring boot 配置文件加载优先级。<build> <plugins> <!-- 打jar包的时...

2019-06-14 13:35:08 7790 1

原创 Spring Boot 结合 Maven 多环境切换

父工程pom.xml 中profile配置<!-- maven 多环境配置 --><profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </proper...

2019-06-04 17:39:55 431

原创 二、centos 安装 gogs

环境mysql : 5.7git : 1.8mysql安装mysqlcentos yum 安装mysql创建gogs数据库登录mysql数据库,创建新用户gogs查看mysql已经提供的存储引擎# show engines;查看mysql当前默认的存储引擎# show variables like '%storage_engine%';此处默认是innodb,如果不是...

2019-05-21 15:54:15 553

原创 一、centos yum 安装 git

1. 环境centos: 7.5 (64)git:1.8.32. 步骤Set1:查看已有GIT版本# git --versionSet2:

2019-05-16 13:58:02 6225

原创 一、centos yum 安装 mysql

1. 版本centos:7.5 (64位)mysql:5.7.26 (64位)2. 安装步骤Set1: 检测系统是否存在# yum list installed | grep mysqlSet2: 删除系统自带mysql及其依赖如果Set1检测存在,执行下面删除操作,如果不存在直接跳过执行Set3# yum -y remove mysql-libs.x86_64...

2019-05-14 17:14:35 260

转载 mybatis generator详解

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-confi...

2019-04-29 14:23:51 171

原创 notify() wait()模拟简单异步任务

package com.example.task;import java.util.concurrent.Callable;/** * 开启线程,任务执行、返回数据代理对象 */public class AsyncTask { public &lt;T&gt; CallableData&lt;T&gt; execute(final Callable&lt;T&gt; calla...

2018-08-17 15:38:49 237

原创 Java内存溢出异常(二)

    OutOfMemoryError简称OOM   java.lang.OutOfMemoryError:Java heap space    1. 除了程序计数器外,其他几个区域均会出现内存溢出情况。    2. 虚拟机栈如果动态扩展栈空间的情况下获取不到内存同样会发生内存溢出。    堆内存溢出的场景:堆用于存储对象实例,只要不断创建对象,并保证GC Roots到对象之间有可达路径来避免垃...

2018-05-23 23:01:05 148

原创 Java虚拟机内存区域(一)

1. 程序计数器    它可以看作成当前线程所执行的字节码的行号指示器。在虚拟机概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。    多线程操作通过线程轮流切换并分配处理器执行时间的方式来实现,因此为了保证线程切换后能恢复到正确位置,每条线程都会有一个独立的程序计数器,各个线程之间...

2018-05-22 09:18:12 197

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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