自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 学习 Git 玩转 GitHub

一、基本了解1.1 什么是版本控制系统版本控制系统是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。1.2 什么是 GitGit是一个免费、开源的版本控制软件1.3 什么是 GithubGithub是全球最大的社交编程及代码托管网站1.4 Git 和 GitHub 的关系Git是版本控制软件Github是项目代码托管的平台,借助git来管理项目代码1.5 什么要学习 GitH...

2018-04-08 10:27:41 306

转载 MySQL 实现主从复制

一、前言随着应用业务数据不断的增大,应用的响应速度不断下降,在检测过程中我们不难发现大多数的请求都是查询操作。此时,我们可以将数据库扩展成主从复制模式,将读操作和写操作分离开来,多台数据库分摊请求,从而减少单库的访问压力,进而应用得到优化。本次测试使用两个虚拟机:ip:192.168.2.21(主)ip:192.168.2.22(从)二、主从复制原理同步操作通过 3 个线程实现,其基本步骤如下:1...

2018-04-08 10:22:41 199

转载 MySQL 5.7 安全操作

一、前言笔者之前写过《MySQL 性能优化技巧》文章,但没有涉及到 MySQL 安全方面的知识。虽说这是 DBA 需要学习的内容与后端开发人员关系不大,但俗话说技多不压身,即便不深入学习,也需要对其相关内容有所了解。测试环境 MySQL 5.7.20以下便是笔者浅学后的内容总结。二、用户相关创建新用户并合理地设置权限是安全的保障。2.1 新建用户1mysql> create user 用户名...

2018-04-08 10:20:55 460

转载 MySQL 性能优化技巧

一、背景最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者在查阅网上 SQL 优化的资料后成功解决了问题,在此从全局角度记录和总结 MySQL 查询优化相关技巧...

2018-04-08 10:19:10 145

转载 jQuery 性能优化技巧

一、使用最新版本 jQuery 类库二、合理使用选择器1234567891011121314# 推荐使用$("#id") # 可以使用$("p"),$("span") # 可以使用$(".class") # 尽量避免$("[attribute=value]") # 尽量避免$(":hidden")三、使用缓存对象场景:修改某个按钮的文本和颜色12345# 不好的写法$("#bt

2018-04-08 10:17:57 119

转载 Spring Session 实现 Tomcat 集群的 Session 共享

一、背景笔者在讨论组中看到网友提到的 Session 共享问题,因此私下查阅文档,最终锁定使用 Spring Session 解决问题并在此记录。二、介绍Spring Session 提供了一套 API 来管理用户的会话信息。使用 Spring Session 可以替换项目容器中 HttpSession 的实现。此外, Spring Session 还提供如下功能:1) Session 集群:Sp...

2018-04-08 10:16:06 1474

转载 Spring Boot 入门之消息中间件篇(五)

一、前言在消息中间件中有 2 个重要的概念:消息代理和目的地。当消息发送者发送消息后,消息就被消息代理接管,消息代理保证消息传递到指定目的地。我们常用的消息代理有 JMS 和 AMQP 规范。对应地,它们常见的实现分别是 ActiveMQ 和 RabbitMQ。上篇文章《Spring Boot 入门之缓存和 NoSQL 篇(四)》。二、整合 ActiveMQ2.1 添加依赖12345678910&...

2018-04-08 10:13:42 240

转载 Spring AOP 实现读写分离

一、前言上一篇《MySQL 实现主从复制》 文章中介绍了 MySQL 主从复制的搭建,为了在项目上契合数据库的主从架构,本篇将介绍在应用层实现对数据库的读写分离。二、原理配置主从数据源,当接收请求时,执行具体方法之前(拦截),判断请求具体操作(读或写),最终确定从哪个数据源获取连接访问数据库。在 JavaWeb 开发中,有 3 种方式可以对请求进行拦截:123filter:拦截所有请求interc...

2018-04-04 11:23:21 715

转载 Spring Boot 入门之缓存和 NoSQL 篇(四)

一、前言当系统的访问量增大时,相应的数据库的性能就逐渐下降。但是,大多数请求都是在重复的获取相同的数据,如果使用缓存,将结果数据放入其中可以很大程度上减轻数据库的负担,提升系统的响应速度。本篇将介绍 Spring Boot 中缓存和 NoSQL 的使用。上篇文章《Spring Boot 入门之持久层篇(三)》。二、整合缓存Spring Boot 针对不同的缓存技术实现了不同的封装,本篇主要介绍 E...

2018-04-04 11:22:36 127

转载 Shiro 实现 Tomcat 集群的 Session 共享

一、背景Session 共享有多种方案,之前写过《Spring Session 实现 Tomcat 集群的 Session 共享》 文章,功能实现起来非常简单和方便。最近在学习 Shiro 框架,Shiro 也提供了会话管理的功能。如果项目中选用 Shiro 作为权限控制的方案,同时项目又需要集群,那么可以自定义 sessionDAO 来实现 Session 共享。二、实现JDK:1.8容器:To...

2018-04-04 11:21:03 1633

转载 Shiro 基础教程

一、前言Apache Shiro 是 Java 的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。二、介绍2.1 功能特点Shiro 包含 10 个内容,如下图:1) Authentication:身份认证/登录,验证用户是不是拥有相应的身份。2) Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某...

2018-04-04 11:20:17 2063 1

原创 使用 Ant 实现远程部署 Tomcat 项目

一、背景笔者用 Hexo 搭建此博客系统,搭建过程非常方便。但是,有个麻烦的操作就是每次发布文章都需要重新 clean 和 generate。由于笔者使用的是云服务器,使用 Tomcat 运行博客系统,因此每次还得需要挑选新博文相关的文件远程上传到服务器上。为此,笔者通过 ant 实现自动部署项目。二、编码2.1 搭建环境1) 安装 jdk 和 ant,并配置环境变量。2) 下载 catalina...

2018-04-04 11:18:56 1423

转载 Maven 插件实现 Tomcat 热部署

一、前言传统的部署项目方式:关闭 web 容器,将项目放入到 web 容器,启动 web 容器这个三个步骤。步骤不多,但是需要手动完成,频繁的操作总会让人心累。为了“解放双手”,实现自动化部署,本篇介绍通过使用 Maven 实现 Tomcat 的热部署。二、准备本次测试使用一台ip为 192.168.2.25 的虚拟机,系统为 centos 7.2,tomcat 使用 8.5 版本。2.1 配置 ...

2018-04-04 11:16:04 983

转载 Spring Boot 入门之持久层篇(三)

一、前言上一篇《Spring Boot 入门之 Web 篇(二)》介绍了 Spring Boot 的 Web 开发相关的内容,项目的开发离不开数据,因此本篇开始介绍持久层相关的知识。二、整合 JdbcTemplate2.1 添加依赖12345678910<dependency> <groupId>org.springframework.boot</groupId...

2018-04-04 11:14:55 112

转载 Spring Boot 入门之 Web 篇(二)

一、前言上一篇《Spring Boot 入门之基础篇(一)》介绍了 Spring Boot 的环境搭建以及项目启动打包等基础内容,本篇继续深入介绍 Spring Boot 与 Web 开发相关的知识。二、整合模板引擎由于 jsp 不被 SpringBoot 推荐使用,所以模板引擎主要介绍 Freemarker 和 Thymeleaf。2.1 整合 Freemarker2.1.1 添加 Freema...

2018-04-04 11:13:55 354

转载 Spring Boot 入门之基础篇(一)

一、前言Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。本系列以快速入门为主,可当作工具小手册阅读二、环境搭建创建一个 maven 工程,目录结构如下图:2.1 添加依赖创建 maven 工程,在 pom.xml 文件中添加如下依赖:1234...

2018-04-04 11:12:32 154

转载 spring4.0整合了validation验证功能

Bean Validation 1.1当前实现是hibernate validator 5,且spring4才支持。接下来我们从以下几个方法讲解Bean Validation 1.1,当然不一定是新特性: 集成Bean Validation 1.1到SpringMVC 分组验证、分组顺序及级联验证 消息中使用EL表达式 方法参数/返回值验证 自定义验证规则 类级别验证器 脚本验证器 cro

2017-05-23 15:38:23 594

原创 五种方式让你在java中读取properties文件内容不再是难题

一、背景  最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题。就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享。二、项目环境介绍    Spring 4.2.6.REL

2017-05-17 09:19:52 2701

原创 用maven创建多模块项目

Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。  项目结构如下:      test-hd-parent   (父级)             ---pom.xml             ---test-hd-api         

2017-05-15 16:43:14 381

转载 log4j详细配置

来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:

2017-05-15 11:13:18 351

转载 Java 字符串操作封装

Java 对常用字符串操作的封装[java] view plain copypackage com.wiker;    import java.beans.XMLDecoder;  import java.io.BufferedInputStream;  import java.io.ByteArrayInputS

2017-05-11 17:02:29 652

转载 Spring注解@Resource和@Autowired区别对比

@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。2、不同点(1)@Autowired

2017-05-11 13:48:26 211

转载 Spring框架中context-param与servlet中init-param的contextConfigLocation的区别

最近在使用spring这一个框架做定时任务的时候,发现一个问题。当我们不在浏览器中调用一下我们的接口,是不会自动运行定时文件的,这个原因是什么呢?刚开始的时候,使我费解了很长事件,不知道问题出现再哪里。但是当冷静下来思考一下的时候,发现了问题出现再servlet中。接着,对它进行分析一下。在springmvc这个框架中,一般spring默认存在两个配置文件,一个是applicationCont

2017-05-10 15:09:58 711

转载 maven常用插件配置详解

先将我用到的自定义变量贴过来,防止插件中出现一些变量,大家不理解   Java代码           tools      UTF-8    project.build.name:  用来定义war包名称  project.build.sourceEncoding:  用来定义资源文件的编码格式  下面开始讲解常用的maven插件配置  

2017-05-08 19:37:17 872

转载 Java多线程学习(吐血超详细总结)

目录(?)[-]一扩展javalangThread类二实现javalangRunnable接口三Thread和Runnable的区别四线程状态转换五线程调度六常用函数说明使用方式为什么要用join方法七常见线程名词解释八线程同步九线程数据传递     本文主要讲了Java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。首先讲

2017-04-17 08:46:48 592

转载 高并发量网站解决方案

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht

2017-04-12 10:33:58 323

原创 JAVA高并发秒杀API项目的学习笔记

一步一步的搭建JAVA WEB项目,采用Maven构建,基于MYBatis+Spring+Spring MVC+Bootstrap技术的秒杀项目学习的视频:http://www.imooc.com/learn/587创建Maven项目创建目录,执行Maven命令mvn archetype:generate -DgroupId=org.seckill -Darti

2017-04-11 11:14:27 2570

空空如也

空空如也

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

TA关注的人

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