5 ~石头

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5w+

linux docker 安装

前言:docker就不用说了,好东西啊。更好的利用服务器的资源,各个服务是相互隔离的,文件的存放更加规律,也好清理空间及数据备份docker安装-----社区版ce(免费的,另一版本收钱的)系统:centos 7.4前提:内核版本需要不小于3.10,不然docker起不来uname -r 查看当前内核版本1.配置docker源yum install -y epel-release2.安装dockeryum install ...

2020-07-03 19:12:41

spring Boot 应用通过Docker 来实现构建、运行、发布

1. Docker 简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker image 是用于运行容器化进程的方案,在本文中,我们将构建一个简单的 Spring Boot 应用程序。2.环境搭建JDK 1.8+Maven 3.0+Docker 最新版。3.用 Maven 构建项目3.1 创建目录结构mkdir -p src/.

2020-07-02 17:45:28

mysql数据库错误1067 - Invalid default value for

一、问题详情Linux服务器下,mysql版本5.7.22导入数据库提示错误[Err] 1067 - Invalid default value for 'date_added'查找字段date_added,发现结果为`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',完整脚本:DROP TABLE IF EXISTS `attachments`;CREATE TABLE `attachments` ( `id` i...

2020-06-30 15:28:03

Redis键的生存时间(expire)

一、redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它。expire 设置生存时间(单位/秒)pexpire设置生存时间(单位/毫秒)ttl/pttl 查看键的剩余生存时间persist 取消生存时间expireat [key] unix时间戳1351858600pexpireat [key] unix时间戳(毫秒)1351858700000二、 应用场景:限时的优惠活动网站数据缓存(对于一些需要定时更新的数据)限制网站访客访问频

2020-06-30 09:19:49

redis之expire命令详解

expire是设置redis过期时间的命令,需要注意的点有以下几点expire设置过期时间的单位是秒,如设置name的过期时间为1000秒expire name 1000超过时间后会自动删除key,但是不一定是立即删除,因为redis的过期策略是惰性删除和定期删除的策略。超过时间以后,所有会改变此key的值都会立即触发对key的删除操作,例如:del,set,getset命令;另一种删除方式就是定期删除策略即redis会定期检查过期的key,然后统一删除。persist命令可以清除超

2020-06-30 09:19:17

AES加密解密Windows下跟linux下结果不同的解决方案

现象描述:在 windows 操作系统下加解密正常,但部署到 linux 环境中相同的输入加密结果不正确,并且每次运行返回的结果都不同。原理:加密过程需手动指定随机数的生成规则,同理在解密过程中也需手动指定随机数的生成规则。java.security.SecureRandom此类提供加密的强随机数生成器 (RNG)。许多实现都是伪随机数生成器 (PRNG) 形式,这意味着它们将使用确定的算法根据实际的随机种子生成伪随机序列。其他实现可以生成实际的随机数,而另一些实现则可能结合...

2020-06-30 08:54:20

Nginx Linux详细安装部署教程

一、Nginx简介Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤二、Nginx安装1、下载Nginx及相关组件Linux系统是Centos 6.5 64位,我直接切换到root用户下安装进入用户目录下载程序 安装make:yum -y install gcc ...

2018-11-24 10:21:20

StringRedisTemplate使用

1,导包(因为习惯用sb框架,所以这里用的也是data-redis)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2,配置文件中配置(!!还要注意一点,这里...

2020-06-29 18:08:56

Java-char类型详解

char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式://字符,可以是汉字,因为是Unicode编码char c = 'c';.

2020-06-29 18:07:40

equals和hashCode的区别和联系

equals和hashCode的区别和联系一、前言前段时间使用list.remove(obj)的时候重写了obj的equals方法,因为list的remove是以equals来判断标准的。但是,今天被公司的代码扫描工具提示未重写hashCode方法!!之前准备面试时也多少看过,但是没有细细研究过这个hashCode和equals到底背后是什么个关系,趁此机会,总结一波。本文章所用到的自定义测试对象类Stu:public class Stu { private String name; pri

2020-06-29 18:06:52

事务的传播级别(行为)

事务的传播级别(行为)在TransactionDefinition接口中定义了七个事务传播行为。PROPAGATION_REQUIRED如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。PROPAGATION_SUPPORTS如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。但是对于事务同步的事务管理器,PROPAGATION_SUPPORTS与不使用事务有少许不同。PROPAGATION_MANDATORY如果已经存在一个事务,支持当前事务。如果没有...

2020-06-29 18:05:04

Spring声明事务属性

Spring声明事务属性在声明事务时,用到了@Transactional(readOnly = false, propagation = Propagation.REQUIRED)。中间的参数readOnly,propagation我们称为事务属性。它就是对事务的基本配置。事务属性有五个方面:传播行为,隔离级别,事务超时时间,回滚规则,是否只读。1,spring支持事务传播行为:propagation(常用以下两个) ① required 使用调用方法的事务,即在当前事务进行,买...

2020-06-29 18:04:11

spring事务的隔离级别

事务的隔离级别数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。更新丢失(Lost update)两个事务都同时更新一行数据,一个事务对数据的更新把另一个事务对数据的更新覆盖了。比如CMS系统中,两个同时打开一篇文章进行修改,一个人先保存,另一个人后保存,后保存的就覆盖了先保存的那个人的内容,这就造成更新丢失。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。在并发事务处理带来的问题中,“更新丢失”通常应该是完全避免的。但防止更新丢失,.

2020-06-29 18:03:43

Spring配置声明式事务

Spring配置声明式事务* 配置DataSource* 配置事务管理器* 事务的传播特性* 那些类那些方法使用事务Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问 时,DataSource实际为Sessi...

2020-06-29 18:02:28

-bash: xxx: 未找到命令

-bash: xxx: 未找到命令1.-bash: netstat: 未找到命令yum -y install net-tools2.javac java-version 找不到命令yum install java-devel3.linux安装jdk时,vim 未找到命令当进行安装jdk时,往往需要配置系统环境,当输入vim命令时,找不到vim命令,那么就需要加载插件了。1、输入命令 rpm -qa|grep vim 查询已有的vim插件,正常此命令需要系统存在这样4条。.

2020-06-29 17:59:32

IDEA使用Maven命令

IDEA使用Maven命令IntelliJ IDEA自身已经集成了maven,不需要再去下载!1 点击"Edit Configurations"2 进入Run/Debug Configurations窗口,点击左上角的"+",在弹出的"Add New Configuration"列表中选择"maven".3.为新的configuration输入名称和执行的命令,点击确认4.配置完成后,新的configuration会成为默认的configur...

2020-06-29 17:56:59

swagger2 自动生成HTML、PDF接口文档

模块名称:swagger2pdf-master使用测试类启动:Swagger2PdfTest生成的文档存放的目录:当前项目的target\asciidoc\html和target\asciidoc\pdf分别存放着HTML文档和PDF文档。再次生成之前需要清除原文档指定项目Swagger2:...

2020-06-29 17:53:23

java集合相关面试题整合(最全版本)

一、集合容器概述1、什么是集合集合框架:用于存储数据的容器。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。(1)接口:表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。(2)实现:集合接口的具体实现,是重用性很高的数据...

2020-04-11 11:58:45

5步搞定vue-webpack前端项目本地启动

1.安装nodenode-v10.15.3-x64.msiNode.js :http://nodejs.cn/2. 安装npm淘宝NPM:https://npm.taobao.org/npm-v6.9.0.zip3.进入前端项目目录cd /d D:\GitRepos\account_frontend4.安装依赖npm install5.启...

2020-01-06 09:40:41

并发编程CAS机制原理分析及ABA问题解决

CAS:微信公众号一、为什么需要CAS机制?为什么需要CAS机制呢?我们先从一个错误现象谈起。我们经常使用volatile关键字修饰某一个变量,表明这个变量是全局共享的一个变量,同时具有了可见性和有序性。但是却没有原子性。比如说一个常见的操作a++。这个操作其实可以细分成三个步骤:(1)从内存中读取a(2)对a进行加1操作(3)将a的值重新写入内存中在单线程状态下这个操作没...

2020-01-04 16:30:43

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。