自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Angela_L的博客

java后端的技术经验贴

  • 博客(211)
  • 收藏
  • 关注

原创 适合初学者练手的vue小项目(附github源码)

vue慢慢的成为了前端最受欢迎的框架之一,在很多项目之中开发都能用得到,如今也已经发展到3.0了,可能是因为这个框架可以提高工作效率,因此受到大家的追捧,在之前的文章里面也说过,2019年,大前端学习小程序和vue是必备技能。如果在平时的工作里,有些公司用不到这两项技能,那你也要在业余的时间里面,找一些教程和练手的vue小项目。以下是今年的一些可以练笔的项目,这些源码稍微学习其中的几个,基础能力都能够有所进步。1:Vue2.0入门项目https://github.com/SD-Gaming/Vue2.

2021-04-15 16:25:48 105

原创 华为2021-4-7笔试 第一题

题目:第一行输入N, 0<N<=100000 第一行输入N,0<N<=100000接下来是N行代表每个小朋友希望和谁分到一组,如"John Jack", 代表 接下来是N行代表每个小朋友希望和谁分到一组,如“John Jack”,代表John希望和Jack分到-组,两个名字之间以空格分割,名字本身不存在空 约翰希望和杰克分到-组,两个名字之间以空格分割,名字本身不存在空格。示例:输入6Jack TomAlice JohnJessica LeonieTom Alice

2021-04-08 10:44:06 185 2

原创 手写HashMap,实现put,get以及扩容

面试遇到package com.MyHashMap;import java.util.Objects;public class MyHashMap<K,V> { public Node<K,V>[] table; private static final int DEFAULT_INITAIL_CAPACITY = 1<<4; //负载因子 private static final float DEFAULT_LOAD_FEC

2021-03-24 15:22:57 35

原创 Java面试2021

下面为拼多多、饿了么、蚂蚁金服、哈啰出行、携程、饿了么、2345、百度等公司给我留下较深印象的一些java面试题1. Private修饰的方法可以通过反射访问,那么private的意义是什么答:1.java的private修饰符并不是为了绝对安全性设计的,而是对用户常规使用java的一种约束。2.从外部对对象进行常规调用时,能够看到清晰的类结构。2. Java类初始化顺序答:基类静态代码块,基类静态成员字段(并列优先级,按照代码中出线的先后顺序执行,且只有第一次加载时执行)-》派生类静态代码块,派生

2021-01-28 12:37:10 253

原创 报错 - npm ERR! chromedriver@2.46.0 install: `node install.js`

刚克隆下来的代码在安装安装包时报了 npm ERR! chromedriver@2.46.0 install: node install.js 这个错误,下面我来说一下解决方法1、报错情况:2.解决办法:(1)运行编译以下npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver如果上面的不行的话,就运行:(1)npm install --ignore-scripts

2020-12-18 14:33:04 78

原创 JDK1.8 ArrayList默认长度及扩容分析

我们都知道jdk1.6的时候,ArrayList默认长度为10但是jdk1.8之后,发生了变化1.首先看默认构造方法 /** * Constructs an empty list with an initial capacity of ten. */ public ArrayList() { this.elementData = DEFAU...

2020-03-27 17:12:48 767 1

原创 windows安装Mycat并测试

1、下载系统安装包选择相应的版本进行下载,地址:http://dl.mycat.io/ 。Mycat数据库分库分表中间件介绍 http://www.mycat.io/2、安装安装mycat前需要保证系统已安装过jdk和mysql,将下载好的mycat安装包解压到某个目录下,然后进入mycat解压目录下的bin目录(打开cmd控制台确保是以管理员身份运行),执行安装命令:D:\develop...

2020-03-15 11:46:34 130

原创 VUE整合富文本编辑器Tinymce

一、Tinymce可视化编辑器参考https://panjiachen.gitee.io/vue-element-admin/#/components/tinymcehttps://panjiachen.gitee.io/vue-element-admin/#/example/create 二、组件初始化Tinymce是一个传统javascript插件,默认不能用于Vue.js因此需要做...

2020-02-18 15:48:26 2740 3

原创 poi操作excel

一、Excel导入导出的应用场景1、数据导入:减轻录入工作量2、数据导出:统计信息归档3、数据传输:异构系统之间数据传输二、POI简介(Apache POI)1、什么是POIApache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。HSSF - 提供读写Microsoft Excel格式档案...

2020-02-14 15:58:59 236

原创 mp实现条件查询

一、wapper介绍Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper : Entity 对象封装操作类,不是用lambda语法 UpdateWrapper : Update 条件封装,用于Entity对象更新操作AbstractLambdaWrapper :...

2020-02-05 16:34:44 1509

原创 mp实现逻辑删除

1.数据库中添加字段deleted2.实体类中添加字段//逻辑删除 @TableField(fill = FieldFill.INSERT) @TableLogic private Integer deleted;3.配置默认值2种方式1.类中配置package com.example.test.mpdemo.handler;import com.bao...

2020-02-04 12:51:30 1077 1

原创 mp实现乐观锁

一.乐观锁乐观锁解决丢失更新的问题那么我们如何实现乐观锁呢,一般来说有以下2种方式:1.使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增加一个版本标识,一般是通过为数据库表增加一个数字类型的 “version” 字段来实现。当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加一。当我们提交更新的时候,判断数...

2020-02-02 13:12:54 456

原创 mybatis-plus CRUD接口和实现自动填充功能

一.简介MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。二.特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑•损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作•强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置...

2020-02-02 12:13:14 750

原创 分布式系统唯一ID生成方案汇总

系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。1. 数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。优点:1)简单,代码方便,性能可以接受。2)数字ID天然排序,对分页或者需要排序的结果很有帮助。缺点:...

2020-01-29 16:12:35 81

原创 springboot简单的整合dubbo

1.创建分模块springboot先创建一个springboot的空项目然后删除无关文件2.创建分模块provider 和 consumer至此,我们的分模块项目已经基本创建完成各个模块之间的依赖关系接下来说下各个模块之间的依赖关系consumer --> providerconsumer 和 provier 又同时依赖于父pom【dubbo】ok理清依赖关系开始配置我们的...

2020-01-05 17:20:04 80

原创 error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054解决方法

git下载出错:$ git clone https://git.ffmpeg.org/ffmpeg.git ffmpegCloning into 'ffmpeg'...remote: Counting objects: 570040, done.remote: Compressing objects: 100% (118805/118805), done.error: RPC faile...

2019-12-13 14:07:29 540

原创 单点登录技术方案

分布式系统要实现单点登录,通常将认证系统独立抽取出来,并且将用户身份信息存储在单独的存储介质,比如:MySQL,Redis,考虑性能要求,通常存储在Redis中,如下图:单点登录的特点是:1.认证系统为独立的系统2.各个子系统通过HTTP或者其他协议与认证系统通信,完成用户认证3.用户身份信息存储在redis集群java中有很多用户认证的框架可以实现单点登录:1.Apache Sh...

2019-12-09 23:29:49 211

原创 JWT

用户在用户微服务中登录,如何又访问其他的微服务而不需要登录了?这里需要在用户微服务里将用户信息加密生成token。在网关中配置能检验令牌.并且,在网关中需要进行权限校验我们可以采取JWT的方式来实现鉴权校验一.什么是JWTJSON Web Token(JWT)是一个非常轻巧的规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。JWT总结:JWT是用于微服务之间传递...

2019-12-09 14:58:11 59

原创 微服务网关

1. 微服务网关概述​ 不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:就比如常见的电商系统当客户去掉用多个微服务时存在很多问题,比如:客户端会多次请求不同的微服务,增加了客户端的复杂性存在跨域请求,在一定场景下处理相对复杂认证复杂,每个服务都需要独立认证难以重构,随着项目的迭代,...

2019-12-08 19:12:19 201

原创 canal安装

canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改数据canal是阿里巴巴存在跨机房同步的业务需求提出的阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出增量订阅&消费的业务1.Canal工作原理2.Canal容器的安装下载镜像:docker pull docker.io/canal/canal-server容器安装:doc...

2019-12-05 19:22:33 160

原创 nginx的2种限流方式

nginx提供2种限流的方式:一是控制速率二是控制并发连接数控制速率控制速率的方式之一采用漏桶算法(1)漏桶算法实现控制速率限流漏桶算法的思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率,示意图如下:限流是解决雪崩的有效手段之一(2)n...

2019-12-05 14:43:30 230 1

原创 解决“在连接linux远程服务器上的mysql数据库时,报“Access denied for user 'root'@'ip地址'”问题”

今天在用Navicat连接Linux数据库时报错:Access denied for user 'root'@'ip地址原因:没有设置权限解决办法:1.mysql -u -root -p 输入密码2.mysql>grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;3.my...

2019-12-02 10:07:27 153

原创 跨域问题

1.跨域:浏览器对于JavaScript的同源策略的限制一下情况都属于跨域:跨域原因说明实例域名不同www.jd.com与www.taobao.com域名相同,端口不同www.jd.com:8080与www.jd.com:8081二级域名不同item.jd.com与miaosha.jd.com协议不一样http与https如果域名和端口都相同...

2019-11-21 19:03:05 60

原创 IDEA安装插件提示Plugin Vue.js was not installed: Cannot download 'http://plugins.jetbrains.com/pluginManag

用IDEA安装vue时报错:Plugin Vue.js was not installed: Cannot download 'http://plugins.jetbrains.com/pluginManager/?action2、网上寻找发现 是https问题,解决方法如下HTTP Proxy Settings:...

2019-11-21 16:43:20 2951

原创 分布式ID生成解决方案

1.UUID什么是UUID?UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。即:全球唯一的字符串全球唯一的字符串UUID具有以下涵义:UUID 是由一组32位数的16进制数字所构成,是故 UUID 理论上的总数为1632=2128,约等于3.4 x 10123。UUID常见的方式。可以利用数...

2019-11-21 10:06:56 74

原创 云存储解决方案-阿里云OSS

1.什么是阿里云OSS​ 阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作:创建一个或者多个存储空间,向每个存储空间中添加一个或...

2019-11-20 16:02:00 219

原创 ssm+vue+ElementUI实现增删改查及带条件分页查询demo

1.首先搭建ssm环境,这里默认已经搭好了将css js配置到webapp下2.在dao层中操作数据库,这里使用mybatis的通用Mapperpackage com.mall.dao;import com.mall.pojo.goods.Brand;import tk.mybatis.mapper.common.Mapper;public interface BrandMapp...

2019-11-20 14:53:40 1596 1

原创 浏览器报错 Uncaught TypeError: Cannot read property 'prototype' of undefined 的解决办法

今天做vue项目时报错:Uncaught TypeError: Cannot read property ‘prototype’ of undefined代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>品牌管理&lt...

2019-11-20 10:05:18 9601

原创 springmvc中@requestbody注解

今天做项目用到了@requestbody注解代码:@PostMapping("/findList") public List<Brand> findList(@RequestBody Map searchMap){ return brandService.findList(searchMap); }于是记录一下springmvc中@request...

2019-11-19 22:20:33 482

原创 Swagger Editor实例

实例表:根据第一个表来编写Swagger文档新增城市API:url:/citymethod:postswagger: '2.0'info: version: 1.0.0 title: 基础模块-城市APIhost: api.tensquare.combasePath: /basepaths: /city: post: summary: 新增...

2019-11-18 12:22:22 261

原创 swaggerEditor--安装与启动

SwaggerEditor安装与启动注意:Swagger-Editor是基于NodeJs开发的,安装Swagger-Editor就需要安装node环境,可以去官网下载最新的Node。(1)下载SwaggerEditor 网址:百度云:链接:https://pan.baidu.com/s/1WQaIMuxJcnb77Xd6NHfwwA 提取码:voeg复制这段内容后打开百度网盘手机App...

2019-11-17 23:40:52 173

原创 单页面应用介绍

什么是单页应用?引用百度百科:例如:右键查看源代码很简单,只引入app.js,它的所有功能都是通过js进行交互单页面应用的优缺点:优点:1、用户操作体验好,用户不用刷新页面,整个交互过程都是通过Ajax来操作。2、适合前后端分离开发,服务端提供http接口,前端请求http接口获取数据,使用JS进行客户端渲染。缺点:1、首页加载慢单页面应用会将js、 css打包成一个文...

2019-11-14 16:26:21 88

原创 node.js安装

安装完node.js , 会自动带有npmnpm全称Node Package Manager , 它是node包管理和分发的工具node.js使用npm安装我们依赖的js包通过npm安装webpacknpm的工作原理:去远程下载所依赖的js包npm默认的包管理路径在c盘,为了方便对依赖包的管理,我们将管理包的路径设置咱单独的地方。在node.js目录下,创建npm_modules和np...

2019-11-14 12:40:19 210

原创 Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit

今天创建cms前端工程时,报错:Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (72)这里直接说了node sass不支持当前环境,所以可以直接删掉原来不支持本机的node sass,再重...

2019-11-14 12:21:51 412

原创 vue.js入门

Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM。它通过一些特殊的HTML语法,将DO...

2019-11-13 22:34:06 98

原创 Swagger-基于OpenAPI开发的接口文档工具

1 Swagger介绍OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。(https://github.com/OAI/OpenAPI-Specification)Swagger是全球最大的Op...

2019-11-13 16:18:40 1270

原创 MongoDB在项目中的使用

导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency&gt...

2019-11-13 15:39:41 354

原创 MAVEN INSTALL时报错 程序包不存在以及找不到类的情况

今天用maven做微服务项目时 报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project ly-item-interface: Compilation failure: Compilation failure:...

2019-11-13 11:49:26 1134 1

原创 MongoDB的基本概念和操作

三个概念数据库(database)– 数据库是一个仓库,在仓库中可以存放集合。集合(collection)– 集合类似于数组,在集合中可以存放文档。文档(document)– 文档数据库中的最小单位,我们存储和操作的内容都是文档。基本概念• 文档(document)– 类似于JS中的对象,在MongoDB中每一条数据都是一个文档• 集合(collection) //相当于...

2019-11-11 12:15:16 75

原创 MongoDB的下载与安装

一.数据库数据库是按照数据结构来组织、存储和管理数据的仓库。• 我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电,程序运行中的数据都会丢失。• 所以我们就需要将一些程序运行的数据持久化到硬盘之中,以确保数据的安全性。而数据库就是数据持久化的最佳选择。• 说白了,数据库就是存储数据的仓库。二.数据库分类数据库主要分成两种:– 关系型数据库• MySQL、Oracle、DB...

2019-11-11 10:23:49 559

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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