- 博客(23)
- 收藏
- 关注
原创 关于敏捷的一点收获
前言从毕业至今,差不多刚好过了一年,在我老大的指引下,勉勉强强完成了从学生过渡到职场人的过程,不说技术上能有多大的提升,至少在这一年里,敏捷让我学会了在互联网开发下成为一个会做事的人,在这里我想记录一下我所经历的敏捷。敏捷开发角色在我的团队里,敏捷分为产品和开发,产品有1人,开发leader有1人,而其他开发有多人。在这里,我将团队比作一条船上划龙舟的一帮人。产品产品的定位是船头掌舵控制方向的人,从拿到用户需求,到初步的需求分析,择出可行实际的需求后,再到产品规划,制定出整个团队下一阶段
2020-09-17 23:21:13
558
原创 一个通用的Excel导入导出功能
前言Excel表单导入,是将Excel文件中的数据导入到数据库;而Excel表单导出,是将数据库的数据导出到Excel文件中。在本文中开发的功能是基于SpringBoot + JPA框架进行开发,而在系统中,数据库表结构又分成了两种情况,一种是单表结构,另一种是存在@OneToMany注解的主外键关联的主辅表结构,所以本次开发目的是可以同时兼容两种情况。另外,因为不同的数据表对应的Excel...
2019-07-30 17:39:52
4597
2
原创 SpringBoot整合RocketMQ消息队列demo
前言在此只引入关键依赖,关于SpringBoot等其他基础依赖请自行准备。另外,本文中的实现方式为点对点的方式。 开始首先,在pom文件中引入依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketm...
2019-04-18 17:27:44
848
原创 RocketMQ简易安装
安装前*请务必保证 java 及 maven 环境,否则会安装失败。 CentOS环境几个命令①下载:wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip②解压:unzip rocketmq-all-4.2.0-source-r...
2019-04-18 17:00:03
305
原创 涂鸦智能Java实习面试经历
一轮面试形式:电话面试。内容:Java基本数据类型,Redis基本数据类型和底层数据结构以及自己的使用,HashMap底层实现,谈谈SpringBoot的优势以及特点。用时:二十分钟。二轮面试形式:现场面试。内容:非常广泛,先说一个项目经验,讲讲自己做的工作,然后开始提问,涵盖了JVM内存分配,多线程,锁Synchronized和Lock的区别,CAS的原理,SpringBean的生命...
2019-01-04 12:43:09
4440
10
原创 Spring Boot整合JPA+MySQL+Redis(二)
前言在之前的发布的博客https://blog.csdn.net/IceCaptain/article/details/79200388已经做过一次相关整合,这篇文章主要是记录一些注意点和非注解的缓存方式。*注:这篇文章的所有配置都是基于上一篇文章,只是变更了实体类,删除了redisKey属性,并且将使用的service类直接继承了RedisService,其他的大致相同,在这里只演示Re...
2018-09-10 23:55:33
1398
2
原创 ActiveMQ消息队列demo
前言什么是消息队列? 消息是指在两个独立的系统间传递的数据,这两个系统可以是两台计算机,也可以是两个进程。 消息可以非常简单,可以是简单的字符串,也可以是保存了数据持久化的各种类型的文档集合。 队列是在消息的传输过程中的通道,是保存消息的容器,根据不同的情形,可以有先进先出,优先级队列等区别 。 为什么要使用消息队列? 我个人的理解是主要对业务的解耦,操作异步处理,还有流量削锋等等问...
2018-07-26 22:08:10
1708
转载 Redis总结
原博客地址:https://blog.csdn.net/qq_35553341/article/details/77096280(1)什么是redis?Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)(2)Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当...
2018-07-26 14:27:07
151
原创 剑指offer —— 二维数组中的查找
问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。问题分析: 两种方案: 方案一:因为矩阵每一行从左到右都是递增的,可以对矩阵的每一行进行二分查找。 方案二:因为矩阵从左到右是递增的,同时从上到下也是递增的,可以发现在矩阵左下角处是一个非常巧妙的位置,右边的数比其...
2018-06-11 20:44:07
201
原创 第K大的数
问题描述:给定一组数,找到其中第K大的数。问题分析: 借助快排的思想,根据基准划分数组子区间。因为左子区间的数全部小于基准元素,所以若K小于基准坐标,则在其左子区间递归划分查找;因为右子区间的数全部大于基准元素,所以若K大于基准坐标,则在其右子区间递归划分查找。显然,当K等于基准坐标时,即查找结束,返回结果。测试: 输入一组整数:5, 3, 4, 1, 2, 9, 6, 8, 7 找...
2018-05-25 17:07:36
407
转载 MySQL索引背后的数据结构及算法原理
原博客地址:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文...
2018-05-04 23:52:45
266
转载 进程—僵尸进程与孤儿进程
原博客地址:http://blog.csdn.net/l953972252/article/details/51399576在探讨这个问题之前,我们先来弄清什么是进程。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,...
2018-05-04 22:46:22
180
转载 UML的六种关系
原博客地址:https://www.cnblogs.com/chengJAVA/p/5646322.htmlUML定义的关系主要有:泛化、实现、依赖、关联、聚合、组合,这六种关系紧密程度依次加强,分别看一下泛化 概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在程序中是通过继承类实现的。比如狗是对动物的具体描述,在面向对象设计的时...
2018-05-04 22:39:53
266
原创 二叉搜索树
二叉树的定义:二叉树是每个结点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。二叉树的每个结点最多只有两棵子树,二叉树的子树有左右之分,次序不能颠倒。下图为一颗二叉树: 二叉搜索树的定义:它是具有下列性质的二叉树,若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值;它的左右子树也分别为二叉搜索树。...
2018-05-03 13:28:28
420
原创 0-1背包问题
什么是背包问题?问题描述:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。即给定一个载重量为room的背包,另有num个物品,其每个物品重量为size_i,价值为value_i,1<=i<=n,选择物品装入背包,使得背包内的物品价值最大。问题分析: 0-1背包问题可以看作是动态规划的一个经典案例。 在该问题中,物体只能选...
2018-05-03 13:02:55
540
原创 排序算法
本文将介绍6种排序算法:冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序。 冒泡排序(每趟排序会将当前序列最大值沉到尾部): 选择排序(每趟排序将当前序列的最小值沉到首部): 插入排序(每趟排序将当前元素插到其之前序列合适位置): 希尔排序(每趟排序将步长为n所在位置的数进行排序): 归并排序(每趟排序将相邻的两个区间合并成一个有序区间): 快速排序(...
2018-05-03 11:16:57
410
原创 堆
首先介绍一下什么是堆: 引入百度百科: (英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 堆的定义如下:n个元素的序列...
2018-05-03 10:54:01
597
原创 Dubbo接口抽取及依赖版本统一-03
*前言:上两篇文章中,我们发现在两个项目dubbo-demo-provider和dubbo-demo-consumer中,接口DemoProviderService代码重复,pom.xml依赖代码重复,下面我们尝试将其统一。①我们首先新建一个简单maven项目dubbo-demo-api,将接口DemoProviderService复制到该项目中,再将之前两个项目中的接口删除,此时,之前两个项...
2018-03-20 18:01:37
988
原创 Dubbo消费服务-02
*前言:上一篇文章中,我们已经成功发布了一个dubbo服务接口,下面我们建立一个消费者来消费服务。*请先确保服务接口已经成功发布。①首先,我们新建一个简单maven项目dubbo-demo-consumer,在pom.xml下添入依赖:<dependency> <groupId>com.alibaba</groupId> <...
2018-03-20 09:29:14
544
原创 Dubbo初步搭建-01
建立第一个dubbo服务接口*准备工作: ①首先,我们先从zookeeper官网http://mirrors.hust.edu.cn/apache/zookeeper下载zookeeper-3.4.11.tar压缩包; ②然后,再在dubbo官网http://dubbo.io/下载dubbo-dubbo-2.6.0压缩包,解压即可。下面开始建立接口: ①新建一个简单的maven项目d...
2018-03-19 20:51:30
477
原创 Java Mail解决标题乱码问题
笔者在本地测试时直接使用message.setSubject(subject)的方式设置标题,发送邮件的中文标题可以正常显示,但是将项目部署到服务器后,发送邮件的中文标题就变成了几个问号,下面给出解决方案:String subject = MimeUtility.encodeWord("标题内容", "UTF-8", "Q");message....
2018-02-17 15:37:32
2337
1
原创 Spring Boot整合JPA+MySQL+Redis(一)
Spring Boot整合JPA+MySQL+Redis在开始之前,我们在pom.xml添入关键依赖:JPA依赖:dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-data-jpaartifactId>dependency>MySQL依赖:
2018-01-29 21:57:27
6301
17
原创 Spring Boot热部署配置
Spring Boot开启热部署热部署是什么大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载。 而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个
2018-01-28 19:56:24
610
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人