自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 第一章、跟着Calvin了解多线程

多线程,在我们现实生活中存在很多广泛的例子。比如我们可以和自己心仪的妹子一边聊骚,一边听音乐,兴起之时还可以哼几段小曲,即我们的大脑在同一个时间点可以同时处理很多件事情。其中和妹子聊骚是一个线程,听音乐是一个线程,哼曲也可以是一个线程。 在更进一步地分析多线程的概念之前,我们还需要理清楚两个专有名词的区别,即进程与线程。 进程:在操作系统中运行的程序就是一个进程,比如快播、探探、陌陌等等。 线程:一个进程可以有多个线程,如我们看文艺动作片...

2020-05-16 08:08:14 113

原创 LESS命令介绍以及使用

本文内容出处:https://www.cnblogs.com/molao-doing/articles/6541455.htmlless工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less的用法比起more更加的有弹性。在more的时候,我们并没有办法向前面翻,只能往后面看,但若使用了less时,就可以使用[pag...

2020-01-13 10:18:33 117

原创 Java深拷贝和浅拷贝的区别

本文部分内容参考自:https://www.cnblogs.com/lgxblog/p/11568153.html浅拷贝:被拷贝(复制)的对象的所有的属性都与原对象有相同的值,且所有的对象引用仍然指向原来的对象。package com.design.clone;public class Experience implements Cloneable{ private...

2020-01-09 15:14:01 92

原创 UML笔记

本文部分内容源自:http://c.biancheng.net/view/1319.html一、类构成元素:类名、属性和操作(由上而下的层级)类名:是一个字符串,例如 Student属性:类的特性,即类的成员变量,格式如下[可见性]属性名:类型[=默认值] 例如:-no:long操作:类的任意一个实例对象都可以使用的行为,是类的成员方法,格式如下[可见性...

2020-01-07 14:38:37 81

原创 CentOS 7镜像下载

CentOS 7镜像下载地址官网站点:http://isoredirect.centos.org/centos/7/isos/x86_64/阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/注意:每个链接都包括了镜像文件的地址、类型及版本号等信息,选择当前国家资源区站点下载,获取资源速度比较快。各个版本ISO镜像文件说明...

2019-12-24 14:55:08 209

原创 LocalDateTime、LocalDate、LocalTime与Date对比

Java8以前,我们一直长期使用Date和Calendar来处理时间,而在使用Date处理日期时间问题上会存在一定的隐患,产生线程不安全的问题,最典型的就是在一定负载并发量的情况下使用SimpleDateFormat引发的线程安全性问题。如今Java8提供了LocalDate、LocalTime、LocalDateTime三个日期时间类,在安全性和操作性上对比Date和Calendar非常可观,...

2019-12-18 16:43:20 416

原创 Linux安装JDK、Maven、Tomcat、Redis、Dubbo Admin以及Zookeeper

作为开发,在日常工作和学习过程中,无法避免在Linux系统上安装各类开发工具及软件,这在本人看来是耗时耗力且繁琐的工作,如能记录下所用到的工具包的安装步骤,那么将会节省大量的时间。本文将详细阐述并记录JDK、Maven、Tomcat、Redis、Dubbo Admin以及Zookeeper的完整安装步骤。一、准备安装包以下为各个安装包的下载地址,大家可根据自身情况选择所需的版本:注...

2019-12-14 19:34:33 56

原创 Windows本地访问虚拟机Linux

最近本人业余时间准备着手搭建一套VR系统,采用分布式微服务架构,因此我在本地创建了三台虚拟机作为三台服务器。当本地Windows系统在与虚拟机中Linux系统进行通信时,需要先进行相关的网络配置,否则将无法访问。因此本文将针对这方面的网络配置问题进行详细阐述。本文对于虚拟机安装Linux操作系统的操作不做讲解,默认读者已经安装虚拟机和Linux操作系统。笔者预装的Linux系统版本是Re...

2019-12-08 15:44:38 143

转载 分组密码算法的填充模式

分组密码中,需要将明文按指定大小进行分组,由于明文并非指定大小的整数倍,因此在明文的最后一个分组需要将其填充至加密算法所要求的分组大小后进行加密。在解密时,按照同样的填充模式将填充的数据去除。斜体表示 SunJCE 支持,非斜体为 BouncyCastle 支持NOPADDING不填充,在此填充下原始数据必须是分组大小的整数倍,非整数倍时无法使用该模式PKCS5PADDING ...

2019-11-06 15:26:00 335

原创 MySQL之添加联合唯一索引

场景:库中有一张用户产品信息表 t_user_product_info表:表中有主键自增长id,user_id,product_id,validate_time,create_time,updated_time五个字段,其中user_id和product_id分别是用户和产品信息表的主键自增长id。t_user_product_info表中,通过user_id和prodcut_id两个...

2019-10-25 09:34:04 588

原创 Spring编程之美——走进AOP

部分概念引子文章:https://blog.csdn.net/changudeng1992/article/details/80625134在理解AOP(面向切面)前,我们先来回顾下日常我们开发过程中经常接触的OOP(面向对象编程)。百度百科OOP:面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面...

2019-10-24 22:24:37 69

转载 关于 Spring AOP (AspectJ) 你该知晓的一切

本篇是年后第一篇博文,由于博主用了不少时间在构思这篇博文,加上最近比较忙,所以这篇文件写得比较久,也分了不同的时间段在写,已尽最大能力去连贯博文中的内容,尽力呈现出简单易懂的文字含义,如文中有错误请留言,谢谢。OOP的新生机 OOP新生机前夕 神一样的AspectJ-AOP的领跑者 AspectJ的织入方式及其原理概要 基于Aspect Spring AOP 开发 简单案例快...

2019-10-24 22:22:06 61

原创 Java 自定义注解

直接切入正题,下面我们自定义一个注解Entity,并通过Entity注解动态获取指定类的映射表进行数据查询(本案例只作为演示,所以比较简要),请看代码:1、定义一个Java注解Entitypackage com.tyyd.anno;import java.lang.annotation.ElementType;import java.lang.annotation.Retent...

2019-10-18 07:19:42 45

原创 Spring Profile切换环境配置

当我们在开发过程中,有生产环境、开发环境、测试环境、QA环境等等,每种环境可能数据库都不同,还可能会有很多其他不同的配置,甚至说类也有可能不一样。通过使用@Profile注解,可以让某个对象或者配置单独起作用,进行对象或者环境配置切换。下面以代码为例:package com.tyyd.ioc.bean.dependence.dao;public interface IndexDa...

2019-10-17 22:45:48 29

原创 Spring Bean Dependence

我们通过JavaConfig进行Spring配置的话,其中Bean的依赖可参考如下代码,以Mybaits-Spring数据库连接为例:首先添加必要的依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...

2019-10-17 21:57:58 45

原创 Spring之spring-context-indexer依赖

<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-indexer</artifactId> <version>5.2.0...

2019-10-17 21:34:52 809

原创 Spring注解之@Primary和@Qualifier的功能和使用

我们直接切入正题 ,请看下列代码,我们定义了一个dao接口 两个dao接口实现 一个service接口 一个service接口实现,其中service接口实现类依赖dao接口 一个javaConfig配置类 一个测试类package com.tyyd.qualifier.dao;public interface IndexDao { void test();}...

2019-10-17 16:55:52 75

原创 Spring 使用过滤器自定义扫描路径

includeFilters过滤器:指定包含某个路径或实体类excludeFilters过滤器:指定不包含某路径或实体类示例代码如下:package com.tyyd.lifecallbacks.config;import org.springframework.context.annotation.ComponentScan;import org.springfram...

2019-10-17 15:06:22 78

原创 Spring depends-on的使用

通过在XML中的<bean>里配置depends-on属性或者在一个类上使用注解@DependsOn,可以使一个Bean的产生依赖于其他几个Bean。请看如下代码:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" ...

2019-10-17 14:23:12 648

原创 Spring——Bean的声明周期和回调

概述:本文讲解的是Spring中Bean的声明周期和回调,不是bean的生命周期。bean的生命周期我会在后续分析讲解Spring-context源码的时候专门写一篇博客。所谓bean的声明周期和回调,好比就是在类初始化或者销毁的时候,会调用一个方法(即回调),类似于try-catch-finally中的finally。Bean的声明周期回调有三种方式:实现InitializingBe...

2019-10-17 13:38:35 65

原创 Spring自动装配、以及@Autowired与@Resource注解的使用与区别

上篇文章说过,IOC的注入有两个地方需要提供依赖关系,一个是在类中定义,二是在Spring的XML配置文件中需要去定义(描述)。通过使用自动装配,则省去了第二个依赖关系的定义,减少不必要地重复工作。即我们仅仅需要在类中提供依赖关系,继而把对象交给容器管理就可以完成注入。我们在实际的程序开发过程中,通过Spring XML描述类之间的依赖关系通常是大篇幅的,如果使用自动装配则省去了很多配置...

2019-10-17 06:52:53 86

转载 【玩转ElasticSearch】横向对比ElasticSearch与Sphinx

摘要:打算写几篇ElasticSearch使用心得。第一篇,先从ElasticSearch与Sphinx的横向对比开始。横向对比是反应优点和暴露问题的好方法。我是Sphinx阵营转向ElasticSearch阵营的,两者都是成熟的开源搜索引擎,各有优劣,这篇文章也可以给纠结使用哪套方案的同学提供一些选择的依据。 • 导入MySQL数据生成索引 ElasticSearch:Gi...

2019-10-16 14:35:53 59

原创 Spring的编码方式——XML、注解、JavaConfig

Spring为我们提供了三种编码方式,Schema-based(XML)、Annotation-based(注解)和Java-based Container Configuration(JavaConfig),且三种方式可以混合使用,其中目前比较主流的是注解+JavaConfig混合使用。下面通过代码给大家展示三种编码方式分别如何实现。首先为项目添加maven的pom依赖spring-co...

2019-10-16 06:28:53 57

原创 Spring IOC——控制反转(IOC)、依赖注入(DI)、依赖查找(DL)、依赖拖拽(DP)

IOC概念IOC全称Inversion Of Control,即控制反转,它不是一项技术,而是面向对象编程中的一种设计原则(思想),可以用来降低我们计算机程序代码之间的耦合度,提高优化软件程序设计。它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。也就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。更通俗的讲,传统的应用程序都是由程序猿同胞们...

2019-10-15 22:08:45 538

原创 Spring懒加载与非懒加载以及Scope作用域

Spring默认为非懒加载(即在项目启动时——Spring容器初始化过程中加载)Spring设置为非懒加载时,项目(Spring容器:ApplicationContext)启动时立刻初始化,Spring容器会把所有的扫描包下的带Spring注解(@Component、@Repository、@Service、@Controller)或者通过Spring xml配置的bean全都初始化。Sp...

2019-10-11 21:52:33 227

原创 获取当前系统UTC时间戳

摘要:在日常的开发过程中,我们经常会遇到很多关于时间格式化、字符串截取等等相关的一些基本功能逻辑,本人也不例外。每当遇到此类问题,以往总会不停地百度查阅别人的博客,会浪费特别多的时间。因此,现阶段每遇到一项此类问题,通过自身的实践后,我都会书写博客。写博客的好处显而易见,每当自身遇到的问题通过实践总结后印象会比较深刻,日后再有需要可以重新翻看自身博客,另外通过展示自身的博客,可以吸纳他人好的建议...

2019-09-23 17:09:58 1317

原创 产品需求文档(PRD)

俗语有云:人人都是产品经理,身为开发人员,要开发一款卓越的产品,还必须得从产品经理的角度去思考、设计以及看待遇到的各类问题。产品需求文档是将商业需求文档(BRD)和市场需求文档(MRD)用更加专业的语言进行描述。一、什么是产品需求文档该文档是产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的一个文档。当然,这个定义针对的是一个全新的产品。广义上来讲,产品需求的描述,应该包含有...

2019-09-17 17:11:31 452

转载 Java编程Retry重试机制实例详解

目录1、业务场景 2、常规解决方案演化 1)try-catch-redo简单重试模式: 2)try-catch-redo-retry strategy策略重试模式: 3、优雅重试方案尝试: 1)应用命令设计模式解耦正常和重试逻辑: 2)spring-retry 规范正常和重试逻辑 3)guava-retryer 分离正常和重试逻辑 总结本文研究的主要是Java编...

2019-09-11 15:53:42 186

原创 spring boot 整合rabbitmq

工程引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>配置连接,创建交换机,队列首先配置连接信息,这...

2019-09-11 13:19:55 36

原创 RabbitMQ入门介绍、安装、代码案例

一、消息中间件介绍引言:为什么要使用消息中间件?什么时候使用消息中间件?举个栗子我们客户端发送一个下单请求给订单系统(order)订单系统发送了 一个请求给我们的库存系统告诉他需要更改库存了,我已经下单了,这里,每一个请求我们都可以看作一条消 息, 但是我们客户端需要等待订单系统告诉我这条消息的处理结果(我到底有没有下单成功)但是订单系统不需要知道库存系统这条消息的处理情况因为无论...

2019-09-10 17:26:32 155

原创 Webservice CXF 调用报错 Could not find conduit initiator for address:

缺少CXF依赖的引入本项目是基于SpringBoot,所以需要引入以下依赖<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version&gt...

2019-09-05 12:12:26 481

原创 Idea同时打开多个窗口

一、 菜单栏 File——Settings 打开如下窗口:二、点选“Open project in new window” 项三、点击“Apply”后点击“OK”即可,新建或者新打开的项目会在新的窗口。...

2019-08-30 18:11:28 260

转载 处理ip,java判断ip是否在指定的ip段范围内,给定的ip地址是否在某个ip段范围内,将字符串形式IP地址转换long类型

public class IPUtils { /** * 将字符串形式IP地址127.0.0.1转换10234564321 * * @param strIP * @return */ public static long ip2Long(String strIP) { long[] ip = new long[4...

2019-08-30 16:39:52 171

原创 Git中文学习网站地址

https://git-scm.com/book/zh/v2

2019-08-28 21:39:07 88

原创 使用MySQL存储过程,为128个分表新增或删除字段

本文作者通过Navicat图形化客户端工具操作MySQL数据库,使用其他工具操作与之类似。一、点击函数二、新建函数三、选择过程四、点击完成五、书写新增字段函数BEGIN DECLARE i INT; SET i = 0; WHILE i < 128 DO SET @_SQL = CONCAT('ALTER TABLE t_user_info...

2019-08-28 09:26:14 243

原创 不要使用Windows自带的记事本编辑任何文本文件

内容摘自 廖雪峰 Git教程文章https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304日后的开发生涯中要警钟长鸣:千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf...

2019-08-26 16:04:41 496

转载 maven deploy时报错

Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project admin: Deployment failed: repository element was not specified in the POM inside distributio...

2019-08-25 22:45:20 685

原创 第五章、Maven私服

一、概述私服的好处缓存Maven中央仓库的jar包,这样避免每次本地仓库没有jar包直接去中央仓库下载,而是先到私服下载。 解决公司无法上网,而又要连接中央仓库的问题。只要连接私服,确保私服可以连接到中央仓库。 方便公司内部不同团队或者项目共享jar包。需要共享jar包的,可以上传到私服,通过私服共享。二、Nexus安装与仓库概念Nexus下载地址:https://www.son...

2019-08-25 22:37:32 41

原创 第四章、Maven插件

Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的。每个插件都能实现多个功能,每个功能就是一个插件目标。Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务。例如:compile就是插件maven-compiler-plugin的一个插件目标。maven仓库地址:https://mvnrepository.com1、JDK编译插件在maven工程项...

2019-08-22 21:58:17 37

转载 从事软件工程开发的大牛对从业七年的一些经验总结

一个从事软件工程开发的大牛对从业七年的一些经验总结。感觉挺不错,转来与大家分享:1、分享第一条经验:“学历代表过去,能力代表现在,学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!2、一定要确定自己的发展方向,并为此目的制...

2019-08-22 16:55:09 299

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