自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker容器与容器云(第2版) pdf百度网盘下载

链接: https://pan.baidu.com/s/1tDUh9-NpCSMETU6V9zRVXA 提取码: bqhr

2019-06-30 22:47:32 5280

原创 数据库自增主键可能的问题

单表的情况下数据库自增id并没有什么问题,在一张表分布到多个数据库的情况下,使用表自增将会出现id重复的问题。解决的办法有两个方向,一个是在应用层做处理,一个是数据库上去做处理。目前生成主键方法主要有以下几种:1、采用mysql自增长主键策略优点:简单,不需要程序特别处理缺点:这种方法对以后如果项目移植到其它数据库上改动会比较大,oracle、 db2采用Sequence,mysq...

2019-06-30 15:26:19 2060

原创 MySQL中 in 和 exists 区别

一、提前准备为了大家学习方便,北哥在这里面建立两张表并为其添加一些数据。一张水果表,一张供应商表。水果表 fruits表f_idf_namef_pricea1apple5a2appricot2b1blackberry10b2berry8c1cocount9供应商表 suppliers表s_ids_name...

2019-06-29 02:43:40 8079 2

原创 全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别

全局变量全局变量又叫成员变量,它是声明在类里,函数,静态语句块外的变量,全局变量又分为类变量(静态变量)、实例变量两种.通过代码来看一下:private inti;//实例变量private static int j;//类变量实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。而由static修饰的类变量(静态变量)在类装载的时候就会被初始化,也就是说一处修改多处改变....

2019-06-28 00:07:07 1177

原创 MySQL导入数据时提示 USING BTREE 报错解决办法

错误原因:主要是是MYSQL 5.0的一个BUG,其出现原因是mysql 5.1和mysql 5.0在处理到索引语句时有所区别。怎么查看自己mysql的版本?mysql> select version();+-----------+| version() |+-----------+| 5.0.18-nt |+-----------+1 row in set (0.00 s...

2019-06-27 00:04:41 575

原创 某个表有近千万数据,CRUD比较慢,如何优化?

优化之前我们先思考一下下面的问题:思考如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节;2.数据项:是否有大字段,那些字段的值是否经常被更新;3.数据查询SQL条件:哪些数据项的列名称经常出现在WHERE、GROUP BY、OR...

2019-06-26 00:28:06 2118

原创 static 关键字用法总结

一、static 关键字的含义static是Java50个关键字之一。static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法。(注意:不能修饰普通类,除了内部类,这是为什么?)class A { static { System.out.println("A : 静态代码块"); } static int i ; // 静态变量...

2019-06-24 23:57:05 136

原创 SpringBoot项目中集成Quartz实现定时调度任务

一、Quartz1、简介起初是OpenSymphony组织提供的一个功能丰富的开源作业调度框架官网:http://www.quartz-scheduler.org/纯java编写,用法简单而功能强大。2、特点强大的作业调度功能作为spring默认的调度框架,极易与spring无缝整合,实现灵活可配置的调度功能,quartz提供了调 度运行环境持久化机制,可以保存并恢复调度现场,即使...

2019-06-23 21:04:29 828 2

原创 SpringBoot项目中集成FreeMarker实现模板发送邮件

最近项目中有个这样的需求:客户升级设备失败的话,需要给客户发送一个模板邮件,参数可以自己定义传入由邮件形式发送给客户。我们通过SpringBoot自带的mail服务及FreeMarker模板引擎,实现模板发送邮件。一、pom.xml中添加jar包依赖<!-- freemarker实现邮件发送 --><dependency> <groupId>or...

2019-06-23 13:39:58 1704 2

原创 数据库的ACID是什么

事务在当今的企业系统无处不在,即使在高并发环境下也可以提供数据的完整性。一个事务是一个只包含所有读/写操作成功的集合。如下图:一、事务本质上有四个特点ACID:Atomicity 原子性Consistency 一致性Isolation 隔离性Durability 耐久性原子性原子性任务是一个独立的操作单元,是一种要么全部是,要么全部不是的原子单位性的操作。一致性一个事务可以...

2019-06-22 21:55:26 346

原创 select for update 是什么含义,会锁表还是锁行或是其他。

每次拿数据的时候都认为别的线程会修改数据,所以每次拿数据的时候都会给数据上锁。上锁之后,当别的线程想要拿数据时,就会阻塞。直到给数据上锁的线程将事务提交或者回滚。传统的关系数据库里面很多用了这种锁机制,比如行锁,表锁,共享锁,排他锁等,都是在做操作之前先上锁。(1)、 左边的线程,在事务中通过select for update语句给sid=1的数据行上了锁,右边的线程此时可以使用select语句...

2019-06-22 21:30:56 7769 1

原创 SpringBoot项目中解决Fortify漏洞Log Forging日志伪造

一、例子下列 Web 应用程序代码会尝试从一个请求对象中读取整数值。如果数值未被解析为整数,输入就会被记录到日志中,附带一条提示相关情况的错误消息。String val = request.getParameter("val");try {  int value = Integer.parseInt(val);}catch (NumberFormatException nfe) {...

2019-06-22 20:06:27 1715 4

原创 Octotree插件安装报程序包无效:"CRX_HEADER_INVALID"以及解决好以后Github不能正常显示树形结构

一、下载Octotree插件网上找了很多都是不安全的链接,以下这个百度云网盘分享的是博主亲测有效的。。。链接: https://pan.baidu.com/s/1q50jRLZgafe-Rvii_X8Vqg 提取码: nkbh二、安装插件直接在地址栏输入 chrome://extensions/然后会提示 安装报程序包无效:"CRX_HEADER_INVALID"三、解决安装报程序包...

2019-06-19 23:18:47 1095

原创 SpringBoot项目中基于jasypt实现mysql配置文件自定义密码加密

一、背景由于我习惯把代码上传至Github上去,不论什么代码以及配置文件的信息一览无余的暴露在众人面前,想着能不能对我的mysql的密码进行加下密,即使我的数据库啥有用的信息都没有哈哈哈哈,但还是要有这个安全意思。想着以后项目中可能会遇到,故自己研究了下,记录于此,希望对你有帮助。二、前期准备1、pom文件引入jarb包依赖<!-- Jasypt加密 --><depen...

2019-06-15 23:49:27 1022 2

原创 MySQL的索引原理,索引的类型有哪些,如何创建合理的索引,索引如何优化。

一、为什么需要索引?索引是数据表种一个或者多个列进行排序的数据结构索引能够大幅提升检索速度创建、更新索引本身也会耗费空间和时间二、查找结构进化史线性查找:一个个找;实现简单;太慢二分查找:有序;简单;要求是有序的,插入特别慢HASH查找:查询快;占用空间;不太适合存储大规模数据二叉查找树:插入和查询很快(log(n));无法存大规模数据,复杂度退化平衡树:解决 BST 退化...

2019-06-09 23:15:03 2126

原创 数据库会死锁吗,举一个死锁的例子,MySQL怎么解决死锁。

数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并 发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严 重影响应用的正常执行。在数据库...

2019-06-09 00:57:26 5994 5

原创 SQL优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义。

一、执行计划是什么?执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。在MySQL中使用 explain 关键字来查看二、查看执行计划EXPLAIN + sql语句mysql> explain select 1;+----+-------------+-------+------+---------------+------+-----...

2019-06-09 00:19:27 2134

原创 SpringBoot的异常处理机制

小伙伴们是不是刚接触Spring Boot做网页开发的时候,如果代码发生异常,会返回一个错误信息页面,如下图springboot中是如何处理异常的呢?这里就要接触到一个Spring Boot类BasicErrorController,如下图注释信息也说明了,这是一个基础全局错误controller,Spring Boot自带的,看到这个RequestMapping地址,这是一个相当于三元...

2019-06-08 17:08:39 955

原创 23种设计模式汇总整理

设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。设计模式...

2019-06-02 02:10:19 161

原创 JAVA设计模式之(二十三)解释器模式

本文继续介绍23种设计模式系列之解释器模式。在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。虽然使用解释器模式的实例不是很多,但对于满足以上特点,且对运行效率要求不是很高的应用实例,如果用解释器模式来实现,其效果是非常好的,本文将介绍其工作原理与使用方法...

2019-06-02 01:55:26 103

原创 JAVA设计模式之(二十二)中介者模式

本文继续介绍23种设计模式系列之中介者模式。在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。例如,每个人必须记住他(她)所有朋友的电话;而且,朋友中如果有人的电话修改了,他(她)必须告诉其他所有的朋友修改,这叫作“牵一发而动全身”,非常复杂。如果把这种“网状结构”改为“星形结构”的话,将大大降低它们之间的“耦合...

2019-06-02 01:17:31 177

原创 JAVA设计模式之(二十一)访问者模式

本文继续介绍23种设计模式系列之访问者模式。在现实生活中,有些集合对象中存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价,药房工作人员根据处方单的内容进行抓药。这样的例子...

2019-06-02 00:17:16 107

原创 Spring的几个经典常见面试题

一、什么是 Spring 框架?Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:https://spring.io/。我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试...

2019-06-01 01:03:37 22729 4

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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