自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人在江湖

我应在江湖悠悠~饮一壶浊酒~

原创 ubuntu18.04 安装Navicat 解决字体无法识别,各种方框问题

前景 最近带着看一点数据库的知识,装一下navicat,就是这个玩意儿,在我编码毫无问题的情况下,这个软件上却显示各种乱码 环境 ubuntu 18.04 navicat 12(最新版) mysql 5.7 (已经保证mysql字符没有问题)解决mysql内部编码问题 参见楼主的这篇...

2018-05-29 17:38:06 6384 5

翻译 docker 管理 应用数据(一) 存储 overview 概述

在Docker中管理数据 默认 所有被容器创建的文件都被存储在容器中的可写layer中,这就意味着 当容器不再存在的时候数据也不会持久化,因此如果有其它进程也想用它的时候很难获取到容器中的数据。 当容器运行时,容器的可写层会紧紧和宿主机进行绑定,不能将数据轻易地移动到别的地方去。 对容器的可写层...

2019-09-01 14:20:13 62 0

翻译 Docker Overview docker概述

docker overview 本文完全翻译docker文档。 https://docs.docker.com/engine/docker-overview 作为docker的概述,个人觉得很合适。   docker是一个运行软件的平台,docker把你的应用从你的基础设施中分离开来,所以你能快速...

2019-08-10 16:42:31 89 0

原创 docker 对比 VM虚拟机

前言   当我遇到docker的时候,我只能用兴奋来形容,真好用!今天看见网上将它和vm虚拟机进行了对比,我也去搜索了一波。以此作为总结记录。 vm VS docker   从架构部分来看:这张图应该是表现最合理的,从图上可以看出,在基础架构部分之上vm多了一层Hypervisor(虚拟...

2019-08-05 22:10:31 179 0

原创 mysql workbench 如何查看日志文件

前言   今天学MySQL技术内幕,正好看到了我想学的日志部分,便开始了捣鼓,配置完慢查询日志之后,知道如何从mysql 命令行查看,后来想着从navicat上查看日志,但是发现navicat没有达到我想要的效果,便转手想到了workbench,workbench的功能还是很强大的,并且能够在上面...

2019-01-19 13:48:10 2611 0

转载 PO/POJO/VO/BO/DAO/DTO的一些理解

PO   PO(Persistant Object)可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 好处就是可以把一条记录作为一个对象处理,可以方便的转为其他对象。 VO VO(Value...

2019-01-19 13:37:30 203 0

原创 git笔记系列(一):忽略特定的文件(gitignore)

作用:   gitignore文件指定了Git应该忽略的文件,已经被Git追踪的文件不会受到这个影响。 4个动作的优先级   Git 会从4个地方读取到pattern。优先级从高到低:(也就是说上面的会覆盖下面的) 命令行 .gitignore文件:这个文件位于同级directory下面或者父级...

2018-12-27 11:13:43 203 0

原创 SpringMVC 全局异常处理的三种方法 从鸟枪到炮的使用

异常处理   之前学JAVA-WEB的时候一直有这么一个概念,数据库查,查不到信息,null 然后主动抛出一个异常,然后捕获住,获取一个writer 返回给前端,对不起我没有找到。我去,太经典了 有没有。就像下面一样。 @WebServlet(name = "TestServlet&qu...

2018-12-11 16:22:11 155 0

原创 Spring Boot(三): 在Spring Boot中使用log4j2,让你的console端丰富起来。

maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar...

2018-11-27 19:48:37 449 0

原创 Spring Boot (二):关于Spring Boot的pom 配置。spring-boot-starter-parent.pom

关于依赖 简介   Spring Boot 自带了一个它能够支持的依赖表,在用的时候不需要提供这些依赖的版本信息,Spring Boot会帮你管理好,更新Spring Boot的时候,依赖也会跟着更新,从而保持一致。   这个依赖list包含了Spring Boot能够包含的所有module...

2018-11-23 09:08:34 8126 1

原创 SpringBoot 2.1.0.RELEASE (一):IDEA构建 SpringBoot项目 实现Hello World,兼容jsp

前言 SpringBoot 用的第一次,你就会发现,世界真美妙,下面开始第一步。 IDEA搭建环境 项目结构: 右上角运行一把: 到这里就配置成功了。 第一个Application @SpringBootApplication public class SpringbootApplica...

2018-11-20 20:14:00 1619 1

转载 两台Linux系统之间传输文件的几种方法

scp传输 当两台LINUX主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名@计算机IP或者计算机名...

2018-11-14 13:34:02 372 0

转载 Cookie加密处理

在保存用户信息阶段,主要的工作是对用户的信息进行加密并保存到客户端。加密用户的信息是较为繁琐的,大致上可分为以下几个步聚:① 得到用户名、经MD5加密后的用户密码、cookie有效时间(本文设置的是两星期,可根据自己需要修改)② 自定...

2018-11-05 12:44:50 5524 0

原创 用Quartz+Mysql+Spring+SpringMVC,写一个自己的小调度器

前言   本来想写一个Quartz系列的,然前人之述备矣,于是就有了这篇实战,自己动手写一个小调度器。经过几天的努力终于完成了。PS: 笔者学习java未满一年,写的代码可能很烂。最后会给出详细的资料可以进一步了解。 环境 quartz: 2.3.0 spring系列: 5.1.0.RELEASE...

2018-10-31 15:54:12 261 0

原创 SSM框架整合:完成登录,解释配置文件为何这么使用,父子容器问题

前言   简单学习了SSM框架,现在开始完成第一个任务:SSM框架整合,以及搞明白为什么要这么配置文件~第一次整合,搞明白里面如何运作是很关键的。 项目目录 名称 作用 mapper mybatis映射文件 spring spring家族配置文件=context为父(全局性)...

2018-10-01 11:06:14 265 0

原创 mybatis(1):maven下完成配置,进行一次查询

前言 基于对mybatis的崇拜,我开始了第一次的配置,代码就开始写了起来。 一款好用的插件: Mybatis plugin 安装:在IDEA 的插件安装即可安装 它的功能如下:https://blog.csdn.net/yangshijin1988/article/details/6325...

2018-09-28 12:16:17 248 0

原创 设计模式---代理模式,从实例看静态代理,动态代理,CGLIB

前言   最近完成了自己的个人博客项目,要继续学习Spring了,AOP用的是动态代理,今天特地好好理解一下代理模式 路线 静态代理 jdk动态代理 CGLIB动态代理 写在前面   代理模式和装饰器模式,实现路线都是实现特地的接口,然后增加一些功能,那么它们的重要区别在哪呢?职能!,装饰器模...

2018-09-26 18:37:28 196 0

原创 作业调度框架-Quartz(一) 整合log4j-slf4j,入门小案例

介绍 from:教程https://www.w3cschool.cn/quartz_doc/ Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。 Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单...

2018-09-10 17:00:12 652 0

原创 设计模式---> 用通俗的话说明白观察者模式

何为观察者模式 观察者,就是这样的几个问题: 谁是观察者 观察什么 做出反应 举个例子,小王小明小李,三个人去看烟花,烟花绽放了,小王说:哇塞 好漂亮哦,小明说:真的好美哦。小李说,我想找女票了。   我们可以看到,这里面有3个人,它们看烟花,并各自发出了赞叹。小王,小明,小李这三个人...

2018-09-08 15:09:51 101 0

原创 基于Servlet4的文件上传下载功能,原生态。

效果展现 maven依赖 为了让同学们直接引入依赖,我这里贴出了dependencies <dependencies> <!-- https://mvnrepository.com/artifact/jstl/jstl --&a...

2018-09-08 11:39:19 920 0

转载 设计原则(三):依赖倒置原则

https://blog.csdn.net/zhengzhb/article/details/7289269 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。...

2018-09-06 09:43:18 55 0

转载 设计原则(一):单一职责

定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2...

2018-09-06 09:41:00 52 0

原创 Spring第一课:IOC控制反转,什么是反转,什么又是控制?

前言 学习Spring第一课,就是认识IOC控制反转,要了解它还真得花一些功夫。今天主要理解透彻它的真谛,而不仅限于表面。 上道小菜 public class BusinessService { private UserDao dao = new UserDao(); ...

2018-09-06 09:29:37 5030 1

转载 了解锁的类型

原文:http://www.aneasystone.com/archives/2017/11/solving-dead-locks-two.html November 20, 2017 ...

2018-09-03 14:15:16 168 0

转载 意向锁

Gtaker2018年08月28日阅读 280详解 MySql InnoDB 中意向锁的作用前言 InnoDB 支持多粒度锁(multiple granularity locking),它允许行级锁与表级锁共存,而意向锁就是其中的一种表锁。 意向锁(Intention Locks) 需要强调一下,...

2018-09-03 11:23:21 951 10

原创 mysql innodb行级锁的理解,究竟是什么解决了幻读

行锁   行锁是为了最大并发化所提供的一种锁,封锁某一行数据。我知道的mysql行锁有三种,就间隙锁使用场景,我分成了唯一索引和非唯一索引两种情况。记住所有的for update都是当前读并且加上行锁,跟快照读不一样,你需要明白这个问题。 Record Lock: 记录锁,就是字面意思锁定某...

2018-09-03 10:59:39 1753 0

原创 搞清楚mysql的MVCC实现

高性能mysql 在InnoDB中,会在每行数据后添加两个额外的隐藏的值来实现MVCC,这两个值一个记录这行数据何时被创建,另外一个记录这行数据何时过期(或者被删除)。 在实际操作中,存储的并不是时间,而是系统的版本号,每开启一个新事务,系统的版本号就会递增。 在可重读Repeatable...

2018-09-02 13:43:56 1725 0

原创 IDEA是如何部署tomcat项目的,了解一下它的实现原理

前言   在最初认识tomcat的时候,我知道部署web项目,就是把自己的项目打包成war然后往webapp里面一扔,tomcat就会自动将项目部署起来了,但是用IDEA的时候我总是很奇怪,它不是直接放到webapp面的,而是生成一个target目录,外加一个war文件。今天偶然间总算明白过来了...

2018-08-29 19:13:25 3840 3

原创 心心念念的ajax,左边菜单右边内容的简单实现

效果图 ’ 代码 用了简单的bootstrap 和 jQuery,简单实现了ajax的页面内容跳转。 <!DOCTYPE html> <html lang="en"> <head> ...

2018-08-25 22:31:41 1401 1

原创 Filter+redis-做一个简单的缓存入门,解决redis超时问题

需求 为了提高数据的访问速度,我们经常会把有一些数据放进缓存里面,读取磁盘的速度要比读取内存的速度慢很多,说到缓存我便想到了redis,于是便有了把一段jsp页面的内容缓存进redis里面的想法。顺便解决了TCP,TIME_Wait的问题 思路 1、来了一个访问请求,filter进行拦截。先...

2018-08-25 19:21:08 732 0

原创 Filter小应用/ 动态jsp页面不缓存,静态文件缓存,Firefox如何去查看和清除缓存

前言 今天学习了Filter的小作用,这个缓存还是比较重要的一门技术,能够加快你网页的访问。往往动态的jsp页面,是不需要缓存的,一个动态的玩意儿你缓存了干嘛。但是往往那些持久的,不变的静态资源你需要进行缓存。这样可以加快浏览器的访问速度。 代码 缓存静态资源: @WebFilter(fi...

2018-08-23 15:00:11 237 0

原创 mysql 错误号1553 MySQL Cannot drop index needed in a foreign key constraint,外键也会创建索引

表 被参照表: | teacher | CREATE TABLE `teacher` ( `id` varchar(20) NOT NULL, `name` varchar(255) DEFAULT NULL, `salary` decimal(10,2) DEFAULT NULL...

2018-08-22 20:00:18 11528 4

原创 从源码看ThreadLocal 实现原理及其内存泄露分析

前言 ThreadLocal的作用:   ThreadLocal提供的实际上就是一种线程隔离,不同的线程的变量归属不同的线程,线程之间不能想问访问各自的变量,当线程生命周期结束的时候,线程会被销毁。   之前只知道它的作用,大概还了解一点原理知道内部用的是Map,今天又遇见了,于...

2018-08-21 21:01:55 1605 1

原创 自己写一个JDBC持久化框架,各种知识运用起来~

引言 作为一个初学jdbc的人,你一定会被大量的语句编码所烦恼,一个连接就得啪啪啪写上10多行语句就是单单的为了仅仅执行一条sql语句,然后从结果集中写上了大量的get方法,苦的一笔啊~今天看了我这个,你讲告别烦恼,以后只需要使用简简单单的一条语句就行,其它框架帮你搞定。ps其实就是dbUtil...

2018-08-20 20:24:09 240 0

原创 学习一下强大的druid,看看druid 连接池部分的源码-创建,使用,销毁。

前言 druid是阿里爸爸的开源数据库连接池,据说其性能算是位于领先的水平,从连接的创建和销毁这个性能方面优于其它连接池,但是觉得和HikariCP,的速度比起来还是差点。但是两者各有好处,一个是扩展性比较优秀功能比较全,一个是速度比较块。以下是性能对照图: 图片出处:https://gith...

2018-08-20 12:37:14 11462 0

转载 事务的4种隔离级别,3大问题,脏读幻读不可重复读

转自:https://blog.csdn.net/jiesa/article/details/51317164 一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为R...

2018-08-19 10:24:07 4724 0

原创 JDBC-批处理-rewriteBatchedStatements=true,让你的批处理速度增长无数倍,自制一个数据导入工具

前言 今天学习了JDBC预编译的批处理,预编译批处理适用于单个sql语句,不同值的多次处理。 关键字段 连接的时候,默认是不会重写你的Batch的,这个时候就要在连接的后面添上。 url=jdbc:mysql://localhost:3306/day14_customer?useSSL=t...

2018-08-14 15:36:57 1613 0

原创 JQuery Ajax后台无刷新验证用户名重复,前台验证两次密码一致,后台创建并验证 验证码

写在前面 写web 的人,我想最先要解决的就是注册登录的界面了,一个小小的界面却包含着各种基本的知识,让我这个新手摸了一天。 效果图 知识 1.bootstrap渲染表单 2.JQuery ajax验证用户名 3.两次密码输入要一致 4.后台密码验证 5.点击图片刷新 代码 ...

2018-08-12 20:29:45 2157 2

原创 IDEA 2018.1.5 为JS 添加JQuery的代码提示功能(JDK1.8),解决several 重复的问题

简介 主要的方法就是为IDEA 添加js 的lib库,它会给代码添加提示功能 方法一 第一步: <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script...

2018-08-01 20:35:09 6965 6

转载 强悍的 vim —— 删除空行、删除注释以及加注释解注释

1. 删除空行 空行的构成比较复杂 (1)删除没有内容的空白行 :g/^$/d1 (2)删除包含空格(%s)的空白行 :g/^%s*$/d1 2. 删除注释 :%s/^#.*$//g...

2018-07-30 22:57:24 46 0

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