自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字节跳动三面面试整理

字节三面一面面试题二面面试题三面面试题一面面试题1、进程和线程的区别,那个效率高,为什么?2、死锁条件、如何解决?3、java基本数据类型和字节数4、mysql索引结构、特点,为什么使用这个?5、聚集索引和非聚集索引6、String、StringBuilder、StringBuffer区别7、HashMap为什么使用红黑树?8、垃圾回收机制GC、CMS、G1、垃圾回收算法二面面试题1、谈谈项目2、子类和父类的实例变量和方法有什么区别3、重载和覆盖区别、返回值类型不同可以重载吗,为什

2021-05-08 16:30:18 2669 2

原创 Docker系列整理(二)之docker的基本操作

文章目录查看容器查看所有的容器查看最新创建的容器查看最新创建的n个容器创建容器创建容器创建容器+容器启动后台型容器交互型容器容器启动容器重启容器停止容器删除单个删除批量删除docker 中的容器就是一个轻量级的虚拟机,是镜像运行起来的一个状态,下面来看看容器的一些的基本操作。镜像就像是一个安装程序,而容器则是程序运行时的一个状态。查看容器启动 docker 后,我们可以使用 docker p...

2020-01-15 19:45:43 594

原创 Docker系列整理(一)之docker入门安装

文章目录1、docker是什么?2、docker与虚拟机的对比3、docker与传统的容器4、docker的应用场景5、docker的核心组件6、docker的相关技术7、docker的安装1、docker是什么?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者可以在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、...

2020-01-15 12:42:03 551

原创 Java8新特性之Lambda表达式

(一) Lambda表达式初探lambda表达式也可以成为闭包,它是java8最重要的特性之一。Lambda允许把函数作为一个方法的参数使用。使用Lambda表达式可以使我们的代码变得更加简洁紧凑,其实Lambda表达式的本质是一个“语法糖”,由编译器推断并转换为常规的代码,因此可以使用更少的代码来实现同样的功能。Lambda表达式的格式:(parameters) -> express...

2019-10-29 00:06:09 471

原创 java中敏感词过滤

这里记录一篇关于在实际开发中很常见的需求,就是对一些字段进行敏感词的过滤处理,封装了两个工具类TrieNode类import java.util.HashMap;import java.util.Map;public class TrieNode { private Map<Character, TrieNode> nodeMap; private boole...

2019-10-10 15:11:52 1815 1

原创 Protocol Buffer3整理

Protocol Buffer概述Protocol Buffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。...

2019-09-17 19:42:52 3875

原创 Git整理(四):分支管理介绍

所谓的分支管理其实就是就是同时可以有多条时间线在执行,最终合并为一个点,有点类似于多线程操作,这也正是git有别于其他版本控制软件的地方。创建与合并分支在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提...

2019-09-13 15:18:40 379

原创 Git整理(三):远程仓库介绍

git是一个分布式版本控制系统,在开发过程中为了便于团队协同开发,所以还是会搭建一个远程仓库,下面主要是使用github来作为我们的远程仓库来进行操作。GitHub是一个为git提供托管服务的服务器,只需要注册一个GitHub账号便可以使用。GitHub的地址:GitHub远程仓库关联GitHub创建SSH Key在用户主目录下,看下是否有.ssh目录,如果有这个.ssh目录,再来看看这个...

2019-09-12 16:50:52 641

原创 Git整理(二):工作区和暂存区的介绍

文章目录工作区版本库管理修改的内容撤销管理的内容内容未提交到暂存区内容已提交到暂存区内容提交到master删除管理删除文件之后从版本库中找回来总结Git和其他版本控制系统如SVN的一个不同之处就是有一个暂存区的概念,下面就来说说这个暂存区到底是什么,有什么用,在说暂存区之前还是先来说说工作区吧工作区工作区说白了,其实就是一个文件夹,在下图中gitdemo就是一个工作区版本库工作区有一个...

2019-09-12 15:34:29 1110

原创 Git整理(一):Git的介绍与安装

首先我们需要知道git是什么,git的应用场景Git的介绍Git(/gɪt/),是一个分布式版本管理控制系统,它是开源的,可以快速且高效的对项目版本进行分布式管理,说到版本管理,那又得说说SVN了,现在有些公司也还在用svn,至少我上一家公司就是用SVN做的项目版本管理,先来说说svn和git有什么区别吧Git和SVN的区别Git首先git它是一个分布式的,它是没有中央服务器的,我们自己...

2019-09-11 21:13:49 205

原创 Spring Boot中整合AOP

我们知道aop它是一种面向切面编程的技术,它是基于动态代理实现的,在spring中就有两种实现方式,一种是基于based-schema方式实现的,还有一种是基于aspectj实现的,可以参考之前的博客Spring中aop的两种实现方式有一个场景,当我们项目上线,上线之后出现了运行很慢的情况,这时候我想知道到底在那个环节出问题了,这时候我们就可以通过AOP来做了,可以通过打印日志来确定问题在哪一块...

2019-09-06 13:09:24 333

原创 Spring Boot+Vue项目打包部署

在前后端分离的项目中,最后前后端项目开发完毕都需要进行打包部署发布到服务器上面运行,所以需要对前端开发的项目进行打包,然后将打包后的文件放在spring boot项目中的resource/static目录下面前端项目点击edit configuration进入run/debug configuration页面,点击+号,选择npm,name随便起,这里我们就用build好了,见名之意,在执行...

2019-09-05 20:13:59 28817 5

原创 Spring Cloud之通过继承HystrixCommand定义断路器

在上一篇文章中Spring Cloud之Hystrix服务降级,我们通过一个注解@HystrixCommand就可以定义断路器,实现服务降级,其实定义一个断路器还可以通过对HystrixCommand的继承来实现,下面我们来看看具体的实现步骤接着上篇的项目结构图继续实现在hystrix项目中定义一个MyHystrixCommand ,继承HystrixCommand,由于返回的是string...

2019-09-02 14:52:57 620

原创 Spring Cloud之Hystrix服务降级

Hystrix引入在微服务场景中,由于大部分微服务采用同步接口调用,而且多个领域相关的微服务会部署在同一个进程中,很容易发生“雪崩效应”,即某个微服务提供者故障,导致调用该微服务的消费者、或者与故障微服务合设在同一个进程中的其它微服务发生级联故障,最终导致系统崩溃,在spring cloud中提供了一种机制,断路器即HystrixHystrix简介Hystrix也是Netflix套件的一部分...

2019-09-02 12:54:54 1404

原创 Spring Cloud之服务注册与消费

上一篇文章我们搭建完服务注册中心,这篇文章就来想服务注册中心注册服务以及消费服务在maven项目cloud下面创建两个module,一个提供服务的spring boot项目,一个消费服务的spring boot项目创建服务提供方创建spring boot项目,引入web、eureka discovery client基本配置在application.properties文件中配置服务...

2019-08-31 17:18:31 243

原创 Spring Cloud之Eureka集群

创建Maven工程用maven工程来测试Eureka的集群环境在maven项目下新建module-spring boot项目引入web、eureka server依赖下面操作是在win10环境下,在C:\Windows\System32\drivers\etc目录下,修改hosts文件,增加下面两行内容,用于主机名的映射127.0.0.1 peer1127.0.0.1 peer2...

2019-08-31 16:01:54 190

原创 Spring Cloud之Eureka注册中心

Eureka引入Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka包含两个组件:Eureka Server和Eureka Client。Eur...

2019-08-31 11:25:13 151

原创 Spring Cloud之Spring Cloud简介

Spring Cloud简介Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管...

2019-08-31 10:28:46 470

原创 Spring Cloud之原生的HTTP接口调用

在引入Spring Cloud之前我们来看看各个服务之间是如何进行通信的,我们在spring中是以HTTP进行通信的,而spring boot又是基于spring的,所以在spring boot项目中也仍然是以http进行通信的下面创建两个spring boot项目创建项目引入web依赖即可第一个spring boot项目,取名httpserver,定义一个controllerpac...

2019-08-31 10:07:25 1555

原创 Centos7搭建Vsftpd图片服务器

对于图片服务器,常常需要和nginx一起使用,利用nginx可以反向代理的特点,所以在搭建vsftpd服务器之前需要在linux上安装nginx,安装参考之前的文章nginx的入门安装vsftpd服务器的安装使用yum安装,命令如下yum -y install vsftpd安装完成后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。我们先来设置用户名和密...

2019-08-29 21:08:09 1309

原创 FTP上传下载工具类

记录一篇将图片等静态资源上传至vsftpd服务器的工具类package com.zhouym.baiwei.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.i...

2019-08-29 16:26:56 416

原创 Spring Boot中整合MongoDB

MongoDB介绍MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组...

2019-08-28 19:38:28 494

原创 docker一行命令搞定Mongon DB的安装

使用docker安装MongoDB可以说是很快捷的方式了,一行命令就可以完成启动docker之后,我们可以先查看MongoDB,命令如下docker search mongo选择stars最多的,进行安装,可以先下载镜像,也可以一步到位,下载并启动,由于镜像网站在国外,访问会很慢,可以配置网易云的镜像代理,我们先执行pull命令先将镜像文件下载下来吧docker pull mongo...

2019-08-28 18:13:03 177

原创 Spring Boot中实现session共享

在传统的单服务中,一般来说就只有一个服务器,不能存在session共享问题,但是在分布式项目中,session问题就显得尤为重要了,来看看下面这个图在这样的架构中,会出现一些单服务中不存在的问题,例如客户端发起一个请求,这个请求到达 Nginx 上之后,被 Nginx 转发到 Tomcat A 上,然后在 Tomcat A 上往 session 中保存了一份数据,下次又来一个请求,这个请求被转...

2019-08-28 17:32:21 8758

原创 nginx入门安装

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年...

2019-08-28 16:24:15 307

原创 Spring Boot中整合Redis

我相信小伙伴儿们在开发中经常会用到缓存,比如说将用户的登录信息存到缓存中,还有我们也可以根据登录的用户所具有的角色操作不同的菜单项等等这些信息我们都可以放到缓存中去,用户下一次发起请求就可以不用去请求数据库了,而是先去缓存中去找,找到了直接显示对应的主页,找不到才去数据库中找,这在并发访问时具有很大的优势,降低了数据库的压力以及数据响应速度等,下面我们来整理下在spring boot中使用redi...

2019-08-28 15:49:00 587

原创 Spring Boot中的条件注解

可以说条件注解是spring boot的一个重要的基石,像之前我们常用的profile都是条件注解的一个特殊化,这篇文章主要来整理一下条件注解的实现创建maven项目创建一个简单的maven项目,引入spring-context依赖 <dependencies> <dependency> <groupId>org....

2019-08-28 12:50:25 214

原创 Spring Boot中谈谈几个请求参数的注解

我们知道,在日常开发过程中,不管是传统的ssm项目,还是spring boot项目,从前端传递过来的参数,我需要对参数进行处理,下面介绍几个在spring boot项目中对请求参数的注解,主要几个:@Param、@PathVariable、@RequestParam、@RequestBody,还有一个对日期做处理的注解@Jsonformat@Param这个注解表示,当我们传递的参数有多个的时候...

2019-08-28 10:19:21 1269

原创 Vue(五):POI一键导出工具类

这里记录一个使用POI导出职称数据表的工具类package com.zhouym.baiwei.utils;import com.zhouym.baiwei.bean.Joblevel;import org.apache.poi.hpsf.SummaryInformation;import org.apache.poi.hssf.usermodel.*;import org.sprin...

2019-08-23 19:45:57 474

原创 Vue(四):一个封装了请求接口及响应信息的工具类

import axios from "axios"//一个基于 promise 的 HTTP 库 npm install axios即可安装import {Message} from "element-ui";//这里用的element-ui中的Message消息提示插件//配置了两个拦截器/*拦截客户端请求的信息,比如说单点登录、JWT(JSON Web Token一个解决跨域身份验...

2019-08-21 10:31:40 2113 1

原创 java.sql.SQLException:The server time zone value '' is unrecognized or represents more than one time

在spring boot项目中运行启动类报如下错误:2019-08-20 11:34:03.614 ERROR 7596 --- [reate-800456240] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://localhost:3306/vhr?useU...

2019-08-20 11:40:53 574

原创 Vue(三):使用Vue组件库Element脚手架

Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型.Element四大设计原则一致性 Consistency与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的...

2019-08-19 19:22:36 861

原创 Vue(二):Vue3安装

参考文档来自于Vue官网:https://cli.vuejs.org/zh/guide/Vue3安装Node 版本要求Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 nvm 或 nvm-windows 在同一台电脑中管理多个 Node 版本。可以在cmd命令窗口查看node.js的版本,执行node -v开始安装,执行以下安装命令npm...

2019-08-19 17:47:49 19789 7

原创 Vue(一):Vue入门

在我们实际的项目开发中,通常会采用两种架构部署项目,一种是前后端不分,还有一种则是前后端分离的架构,在说vue之前,先简单说一下这两种架构前后端不分我们在前后端不分的架构中,前后端模板通常为:前端模板:thymeleaf后端模板:Jsp、Freemarker等前后端不分,通常用到的是Jsp ,Jsp 将 HTML 和 Java 代码结合在一起,刚开始的时候,确实提高了生产力,但是时间久了...

2019-08-19 15:44:54 9034 4

原创 spring Boot中整合JPA

Spring Boot中的数据持久化方案前面介绍了两种,一个是JdbcTemplate,还有一个MyBatis,JdbcTemplate配置简单,使用也简单,但是功能也非常有限,MyBatis则比较灵活,功能也很强大,公司采用MyBatis做数据持久化的相当多,但是MyBatis并不是唯一的解决方案,除了MyBatis之外,还有另外一个东西,那就是Jpa,下面就来说说Jpa如何实现数据持久化。先简...

2019-08-11 14:52:38 535

原创 Spring Boot中整合mybatis多数据源

关于多数据源的配置,前面介绍过JdbcTemplate多数据源配置,那个比较简单,本文来说说MyBatis多数据源的配置。其实关于多数据源,觉得项目复杂的就直接上分布式数据库中间件mycat,简单的再考虑多数据源。这是项目中的建议,技术上的话,当然还是各种技术都要掌握的。创建项目创建spring boot项目,导入web依赖以及mysql和mybatis的依赖,如下图所示然后我们需要在p...

2019-08-11 12:49:02 393

原创 Spring Boot中整合mybatis

Spring Boot中最简单的数据持久化方案JdbcTemplate,JdbcTemplate虽然简单,但是用的并不多,因为它没有MyBatis方便,在Spring+SpringMVC中整合MyBatis步骤还是有点复杂的,要配置多个Bean,Spring Boot中对此做了进一步的简化,使MyBatis基本上可以做到开箱即用,下面来看看在spring boot中整合mybatis创建项目创...

2019-08-11 11:29:43 171

原创 Spring Boot中整合JdbcTemplate多数据源

多数据源配置也算是一个常见的开发需求,Spring和SpringBoot中,对此都有相应的解决方案,不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件MyCat去解决相关问题,如果说数据根据条件的不同,可能保存在四十多个不同的数据库中,那怎么办?这种场景下使用多数据源其实就有些费事了,建议是使用MyCat,然后分表策略使用sharding-by-intfile。当然如果一些简单的...

2019-08-10 13:03:35 884

原创 Spring Boot中整合JdbcTemplate

在java中,数据持久化有几种方式,spring自带的jdbctemplate,还有mybatis,JPA,这几种方式中spring自带的jdbctemplate要简单一些,它虽然没有MyBatis那么方便,但是比起最开始的Jdbc已经强了很多了,它没有MyBatis功能那么强大,当然也意味着它的使用比较简单,事实上,JdbcTemplate算是最简单的数据持久化方案了,下面我们来看看如何实现的...

2019-08-10 12:21:25 551

原创 Spring Boot中通过CORS解决跨域问题

同源策略同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。 [1]如果非同源,那么在请求数据时,浏览器会在...

2019-08-09 21:26:20 391

空空如也

空空如也

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

TA关注的人

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