- 博客(37)
- 资源 (7)
- 收藏
- 关注
转载 Mysql explain 用法及结果含义
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要...
2019-01-25 10:46:09
311
转载 Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录
参考:https://www.cnblogs.com/han-1034683568/p/8603588.html
2018-12-19 12:32:33
467
转载 CentOS 7 安装 Jenkins 并集成配置Gitee码云
参考地址:https://blog.csdn.net/mmingxiang/article/details/81978168
2018-12-10 17:41:32
532
原创 CentOS 7.4 终端安装自定义字体
字体默认存放路径:/usr/share/fonts在/usr/share/fonts目录下建立一个子目录:[root@localhost fonts]# mkdir inconsolata将需要安装的字体文件上传到步骤1中建立的目录中: [root@localhost inconsolata]#rz解压到当前目录:[root@localhost inconsolata]...
2018-12-05 10:50:46
2482
转载 使用Hexo+Github一步步搭建属于自己的博客
基础版 参考链接:https://www.cnblogs.com/fengxiongZz/p/7707219.html进阶版 参考链接:https://www.cnblogs.com/fengxiongZz/p/7707568.html
2018-11-15 09:52:28
182
转载 HashMap的实现原理
1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法—— 拉链法,我们可以理解为“链表的数组” ,如图: 从上图我们可以发现哈希表是由数组+链表组成的...
2018-08-21 10:05:48
144
转载 MySQL中MyISAM与InnoDB区别及选择
InnoDB:支持事务处理等 不加锁读取 支持外键 支持行锁 不支持FULLTEXT类型的索引 不保存表的具体行数,扫描表来计算有多少行 DELETE 表时,是一行一行的删除 InnoDB 把数据和索引存放在表空间里面 跨平台可直接拷贝使用 InnoDB中必须包含AUTO_INCREMENT类型字段的索引 表格很难被压缩MyISAM:不支持事务,回滚将造成不完全...
2018-08-07 15:32:51
222
转载 用redis实现消息队列(实时消费+ack机制)
消息队列首先做简单的引入。MQ主要是用来:解耦应用、 异步化消息 流量削峰填谷 目前使用的较多的有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等。 网上的资源对各种情况都有详细的解释,在此不做过多赘述。本文 仅介绍如何使用Redis实现轻量级MQ的过程。为什么要用Redis实现轻量级MQ?在业务的实现过程中,就算没有...
2018-08-07 15:12:21
2124
转载 BIO与NIO、AIO的区别
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,...
2018-08-06 11:36:59
140
转载 浅谈Java 10的10个新特性
Java 9才发布几个月,很多玩意都没整明白,现在Java 10又要来了。这时候我真想说:线上用的JDK 7,甚至JDK 6,而JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK 10……刚学Java的同学是不是感觉一脸蒙逼?就连我这个老司机也同样感觉如此!Java 更新越来越快,我们做技术的也要跟上步伐,不然总会慢别人一拍,这新东西从国外到国内应用一般要好几年的时间...
2018-08-03 14:49:48
138
转载 Java 9 新特性简述
Java 8 发布三年多之后,已经于在2017年9月21日发布了。 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新。 这里有九个令人兴奋的新功能。Java 平台级模块系统Java 9 的定义功能是一套全新的模块系统。当代码库越来越大,创建复杂,盘根错节的“意大利面条式代码”的几率呈指数级的增长。这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而...
2018-08-03 10:19:21
87
转载 HashMap、hashTable、ConcurrentHashMap的区别
HashMap和HashTable的区别一种比较简单的回答是:HashMap是非线程安全的,HashTable是线程安全的。HashMap的键和值都允许有null存在,而HashTable则都不行。因为线程安全、哈希效率的问题,HashMap效率比HashTable的要高关于使用ConcurrentHashMap的理由:众所周知,哈希表是中非常高效,复杂度为O(1)的数据结构,...
2018-08-03 09:49:19
174
原创 Redis集群实践操作之Codis
在讲述Codis集群的环境搭建之前,我先大致的介绍一下Codis Codis是什么? Codis是一款分布式Redis的解决方案; Codis可以使上层应用可以像使用单机的 Redis 一样使用Redis集群 Codis可以在应用运行期间动态增减节点和漂移插槽 为什么使用Codis?Redis Cluster的数据存储模块和分布式的逻辑模块是耦合在一起的,这样带来的好处和...
2018-07-31 10:20:24
715
转载 mysql数据库死锁的产生原因及解决办法
这篇文章主要介绍了mysql数据库锁的产生原因及解决办法,需要的朋友可以参考下数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的...
2018-07-29 21:02:18
437
原创 API Restful接口开发 版本控制
**API版本控制常用实践**URL:http://example.com/v1/helloworldHEADER:各大公司做法: http://www.lexicalscope.com/blog/2012/03/12/how-are-rest-apis-versioned/Spring Boot实践API版本管理原理在SpringMVC中Reques...
2018-07-29 20:49:27
12471
9
原创 Push to origin/master was rejected (Git提交错误)
【问题描述】 在使用Git Push代码的时候,会出现 Push to origin/master was rejected 的错误提示。 在第一次提交到代码仓库的时候非常容易出现,因为初始化的仓库和本地仓库是没有什么关联的,因此,在进行第一次的新代码提交时,通常会出现这个错误。【问题原因】 远程仓库和本地仓库的内容不一致 【解决方法】 在git项目对应的目录位置打开...
2018-07-16 13:57:33
516
2
原创 mac 安装Adobe Acrobat
参考:https://www.waitsun.com/adobe-acrobat-xi-pro-11.html http://xclient.info/s/adobe-acrobat-pro-dc.html?t=81b41a4f54893022cb5541eade51c093fa7b46e8#versions【激活方法】 1、断开网络连接,进行安装。安装时填写序列号:1118-...
2018-07-05 19:27:32
5694
1
转载 mac redis 3.2 安装
到官网下载最新版 稳定版解压安装$ wget [http://download.redis.io/releases/redis-3.2.9.tar.gz](1)$ tar xzf redis-3.2.9.tar.gz$ cd redis-3.2.9$ make启动服务src/redis-server新开一个终端$ src/redis-cliredi...
2018-06-15 15:37:38
605
转载 【Redis】SpringBoot集成Redis分布式锁以及Redis缓存
集成Redis首先在pom.xml中加入需要的redis依赖和缓存依赖<!-- 引入redis依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</...
2018-06-12 18:04:09
207
转载 spring boot 2.0 + 静态资源被拦截,怎么办?
问题描述:使用springboot 2.0后,按照springboot 1.5版本(以下简称旧版)的方式去配置项目。结果发现静态资源访问不到了,本文对此情况分析、处理 项目结构: 直接上图 如果是在旧版,需要访问下图静态资源, 地址应该为: localhost:8080/admin/js/base.js 原因在于:META-INF/resources / resources / ...
2018-06-07 14:15:06
4609
转载 【转载】分布式之redis复习精讲
**引言** 为什么写这篇文章?博主的《分布式之消息队列复习精讲》得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章。但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中,还是脚踏实地,一步一个脚印,不要投机取巧。 考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会setvalue和getvalue两个操作,对redis整体缺乏一个认知。...
2018-06-01 10:43:52
494
转载 IntelliJ IDEA 自定义方法注解模板
我们今天要讲的“自定义方法注解模板”,类注解模板可以很简单的设置,这里我就不重复,而网上很多关于自定义方法注解模板的文章大多是抄袭获取转发根本自己就没有验证,本文经过自己亲自验证有效。File->settings->Editor->Live Templates 点击右上角的绿色+号,然后选择template group ,然后输入group的name,随便输入就好了:m...
2018-05-21 17:46:46
223
转载 Intellij IDEA 使用Spring-boot-devTools无效解决办法
相信大部分使用Intellij的同学都会遇到这个问题,即使项目使用了spring-boot-devtools,修改了类或者html、js等,idea还是不会自动重启,非要手动去make一下或者重启,就更没有使用热部署一样。出现这种情况,并不是你的配置问题,相信自己,热部署那几个设置很简单,其根本原因是因为Intellij IEDA和Eclipse不同,Eclipse设置了自动编译之后,修改类它...
2018-05-16 09:36:52
1498
转载 互联网协议入门
我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。下面就是...
2018-04-18 10:09:55
130
转载 HashMap的默认长度为什么是16?
如果两个元素不相同,但是hash函数的值相同,这两个元素就是一个碰撞因为把任意长度的字符串变成固定长度的字符串,所以存在一个hash对应多个字符串的情况,所以碰撞必然存在为了减少hash值的碰撞,需要实现一个尽量均匀分布的hash函数,在HashMap中通过利用key的hashcode值,来进行位运算公式:index = e.hash & (newCap - 1)举个例子:1.计算"boo...
2018-04-08 17:31:25
12637
9
原创 使用SpringBoot 热部署
第一种方式: 使用Spring Loaded 实现1. 以Run As JavaApplication运行<build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org...
2018-04-03 16:44:49
160
转载 Redis分布式锁的正确实现方式
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足...
2018-04-03 09:34:38
387
转载 管理用户状态——Cookie与Session
利用Cookie跟踪用户状态博客系统由多个功能(页面)组成:首页——包含博客功能简介、用户列表用户博客列表——包含某一用户的文章列表文章详细页面——包含某一篇文章的标题、详细内容、创建时间等信息创建文章页面——包含文章标题、内容的表单在创建文章时,除了标题和内容,还需要知道是谁创建的这篇文章,当然我们不能够在表单中添加一个输入框让用户输入自己是谁——因为用户的身份很有可能被伪造。一个办法是在每一个...
2018-02-27 15:55:57
926
转载 Web开发技术发展历史
Web的诞生 提到Web,不得不提一个词就是“互联网”。Web是World Wide Web的简称,中文译为万维网。“万维网”和我们经常说的“互联网”是两个联系极其紧密但却不尽相同的概念。今天“互联网”三个字已经承载了太多的内涵,提到互联网,我们通常想到的一种战略思维,或者是一种颠覆传统的商业模式。抛开那些纷繁凌乱的商业化概念,回归技术本身,互联网就是指通过TCP/IP协议族互相连接...
2018-02-26 16:53:07
7567
原创 SpringBoot 项目如何在tomcat容器中运行
SpringBoot内嵌容器的部署方式SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行java -jar demo.jar即可运行,但是这种方式的运行退出进程就结束了。如果想在后台可以运行,则需要执行 java -jar demo.jar > log_demo.file 2>&1 & 即可在后台运行该服务了
2017-12-13 10:41:53
51570
原创 对象属性复制工具类
具有相同属性名称的对象之间的属性值复制,具体代码如下public class BeanUtil { /** * 利用反射实现对象之间相同属性复制 * * @param source 要复制的 * @param target 复制给 */ public static void copyProperties(Object source, O
2017-06-26 15:46:21
549
原创 Sublime Text 插件 HTML+CSS+JAVASCRIPT+JSON 快速格式化
HTML/CSS/JS 格式化插件:HTML/CSS/JS Prettify安装过程: 在Sublime Text中,按下Ctrl+Shift+P/Command+Shift+P调出命令面板; 输入install 调出 Install Package 选项并回车; 输入pretty,并在列表中选择HTML-CSS-JS Prettify后回车即可安装 使用方法: 举例: 打开一个压缩的j
2017-06-24 18:48:29
337
原创 springboot处理session时间周期
springboot处理session时间周期在使用springboot开发过程中发现用户登陆后60s后session就自动失效了,需要重新登陆,明明application.yml 文件里已经配置了server.session.timeout的失效时长,但是并没有效果。 通过简单的分析,spring1.4后基于注解开发 几乎抛弃了繁琐了XML配置文件 既然是通过注解来开发的 那么为什么不通过注
2017-06-24 13:31:50
9196
3
原创 -source 1.6 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式)
出现这样的问题,需要保持以下几点的jdk版本一致就可以了Project Structure 配置 Project、Modules、SDKs的JDK版本保持一致Java Compiler 的JDK版本保持一致 maven conf settings.xml 配置的JDK版本保持一致以上JDK版本都保持一致后 重新编译就不会出现类似的问题了
2017-06-13 10:17:12
2771
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人