自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十年磨一剑,沉淀……

是一只热爱Coding,热爱生活的程序媛呀~

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

原创 lombok的使用

1. 什么是lombok连官网都懒得废话,只给出了一句广告词:给你的java加点料(spice up your java)。我们自己来总结一下:lombok是一个ide插件,它可以让我们写更少的代码,而编译出更多的字节码。我们可以让我们编译出一个复杂的.class文件,而我们的.java文件很干净清爽。lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Ja...

2018-11-25 21:44:52 505 2

原创 前端独立实现模糊查询--filter()与match()

filter()方法和match()方法结合使用可以使前端已获取数据的情况下独立实现模糊查询,不再调用后端接口,这种情况适用与查询次数比较多,且数据比较固定的情况,减少调用后端接口一定程度上可以缓解后端压力。示例: teacherList = allTeacherList.filter(array => array.name.match(searchContent));这里有几个小t...

2018-11-18 21:50:05 11592 10

原创 【jwt学习笔记】--demo练习

第一步、导入maven坐标<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0&

2018-11-11 21:38:13 743 1

原创 【jwt学习笔记】--理论入门

概要JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。简洁(Compact): 可以通过URL,POST参数或者在HTTP header发送,因为数据量小,传输速度也很快自包含(Sel...

2018-11-04 21:34:10 591 1

原创 Mybatis 可被拦截的对象

mybatis允许你在已映射的语句执行过程中的某一点进行拦截调用。<br />默认情况下,mybatis 允许使用插件来拦截的方法调用包括: 四个接口- Executor - StatementHandler- ParameterHandler- ResultSetHandler

2018-10-30 15:40:24 1087 11

原创 【Redis学习笔记】-- 集群中动态增加和移除节点

集群中添加节点首先我们先再来一个redis节点,复制一个redis01吧,改下配置文件的端口,这里改为了7007。(注意复制的时候删掉aof,.rdb和以及nodes.conf文件,这些文件记录了当前redis节点的缓存以及所在集群的信息,若不删除加入新集群时会不可避免的出错)[root@localhost redis-cluster]# cp -r redis01 redis07 [r...

2018-10-28 15:19:21 714 14

原创 【Redis学习笔记】--主从复制

查看当前redis集群状态,6379是单机版的,7001-7006是集群版的[root@localhost ~]# ps -ef | grep redisroot 4772 1 0 Oct11 ? 00:00:52 ./redis-server *:6379root 4974 1 0 Oct11 ? 00:01:...

2018-10-24 21:37:07 431 10

原创 【Redis学习笔记】--Redis的高可用(sentinel机制)

文章目录sentinel启动命令sentinel机制图示过程:创建sentinel.conf配置文件配置文件说明:三个定时任务故障转移过程1. 领导者选举2. 选出新的master节点3. 更改slave节点的master节点4. 通知客户端5. 客户端连接新的master节点sentinel机制也就是我们一直说的哨兵机制,这种机制其实很常见的,一般情况下为了保证集群高可用都采用类似的机制,下文...

2018-10-21 21:23:37 590 6

原创 【Redis学习笔记】--Redis集群搭建

Redis部署以Linux(CentOS7.4)为例1.1 安装依赖环境Redis是c语言开发的。安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum install gcc-c++1.2 安装 Redis第一步:redis的源码包上传到linux系统,或在线下载wget http://download.redis.io/releases/redis-3....

2018-10-13 14:29:47 890 6

原创 【Spring学习笔记】--Spring MVC

接上篇标准的MVC 框架,我们学习一下Spring MVC.Spring MVC概念 Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果的概念。Spring MVC 是 Spring 产品组合的一部分,它享有 Spring IoC容...

2018-10-07 21:39:12 832 5

原创 【Spring学习笔记】servlet、jsp、mvc与spring mvc

Web前端开发发展历程1、servlet—一种JavaEE web组件技术,是一种在服务器端执行的web组件,用于接收web用户请求并处理,最后动态产生响应给用户。但每次请求只产生一个线程(而且有线程池),轻量级。而且能利用许多JavaEE技术(如JDBC等)。本质就是在java代码里面 输出 html流。但表现逻辑、控制逻辑、业务逻辑调用混杂。这种做法是绝对不可取的,控制逻辑、表现代码、业务...

2018-10-07 21:21:11 1436 4

原创 【Spring学习笔记】--IOC学习

spring ioc原理Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。它能指导我们如何设计出松耦合、更优良的程序。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”那我们来深入分...

2018-09-23 20:43:52 537 13

原创 【Spring学习笔记】---体系结构

Spring框架官方广告Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack( 一站式)轻量级开源框架。我们为什么需要Spring Fram...

2018-09-23 20:38:36 493 9

原创 【Java学习笔记】--如何解读一个项目

很多人拿到一个开源项目的源码之后啊,不知道走从哪里下手。其实都是因为没有掌握正确的解读方法。又或者说,项目运行起来之后啊,看一下代码没再深究了。这样子的话不当浪费了时间,项目也没有很好的读懂。读一个项目,有输入就要输出。也就是说,读一个项目一定要做好笔记。那么如何才能做好一个Java项目的解读笔记呢。 我把这个过程分为八个点。首先第一点,你要明确你自己想学什么东西?比如说你想学某一...

2018-09-10 18:45:14 7817 6

原创 【Mybatis】--mapper.xml中常用的标签积累

一· 常用标签组示例:二、部分标签总结1.sql片段标签<sql>:通过该标签可定义能复用的sql语句片段,在执行sql语句标签中直接引用即可。这样既可以提高编码效率,还能有效简化代码,提高可读性, 需要配置的属性:id="" >>>表示需要改sql语句片段的唯一标识引用:通过<include refid="" />标签引用,ref...

2018-09-02 21:09:43 2848 6

原创 【Java基础】-- 内存分配之堆、栈、常量池

Java内存分配主要包括以下几个区域:寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM(随机存取存储器)存储:硬盘等永久存储空间(1)堆和常量池String s1 = &quot;abc&quot;; // 常量池...

2018-08-26 21:33:04 446 14

原创 【Mybatis工作流程源码时序图】-- 04-执行sql-MapperProxy

Mybatis工作流程源码时序图-- 04-执行sql-MapperProxy

2018-08-19 21:19:40 508 11

原创 【Mybatis工作流程源码时序图】-- 03-获得Mapper对象-getMapper

Mybatis工作流程源码时序图-- 03-获得Mapper对象-getMapper

2018-08-12 20:30:47 607 4

原创 【Mybatis工作流程源码时序图】-- 02-会话创建过程-DefaultSqlSession

Mybatis工作流程源码时序图 -- 02-会话创建过程-DefaultSqlSession

2018-08-05 21:30:46 370 6

原创 【Mybatis工作流程源码时序图】-- 01-配置解析过程-SQLSessionFactory

Mybatis工作流程源码时序图-- 01-配置解析过程-SQLSessionFactory

2018-07-29 21:25:02 380 16

原创 【Mybatis】 --逻辑翻页与物理翻页

## 逻辑翻页与物理翻页的区别逻辑分页-假分页:将数据全部加载到内存,根据rowBound里面的偏移量,和条数,将偏移量之前的都去掉,只去从偏移量开始后指定数量的那一部分;物理分页- 真分页:将分页信息硬编码到sql语句中,到库里直接查询需要的那部分数据;

2018-07-22 22:55:41 635 20

原创 【Mybatis】 --$和#的区别

一、数组:用于批量保存一类数据。是引用数据类型之一。//变量的格式 : 数据类型 变量名 = 值;int j = 0;int j;j = 0;声明数组 int[] scores; String[] names; Person[] persons;3.为数组初始化并赋值 //静态初始化: 初始化操作和赋值操作同时进行 scores = new int[]{...

2018-07-15 14:24:04 432 12

原创 【Mybatis】 -- 架构分层 + 缓存机制

文章目录一、mybatis的架构分层与模块划分mybatis整体架构分类:接口层:核心处理层:基础支持层二、mybatis的缓存机制2.1 一级缓存如何开启一级缓存总结:2.2 二级缓存作用域:如何开启二级缓存:二级缓存与一级缓存先后顺序?思考:不推荐使用二级缓存的原因

2018-07-15 14:19:06 417 7

原创 JVM--内存分配策略

**线程安全问题**<br />多个线程同时创建对象 ,线程不安全<br />方案:<br />同步 加锁<br />本地线程分配缓冲<a name="y9FkS"></a># 1、基本原则:- 优先分配到Eden;- 大对象成员变量的默认值:基本数据类型: byte short int —&amp;gt; 0 long —&amp;gt; 0L float —&amp;gt; 0.0F double —&amp;gt; 0.0D char...

2018-07-01 22:59:12 320 11

原创 JVM--内存管理 + 对象创建 (下)

# 三、对象的创建<a name="qmgx2"></a>## 3.0 创建对象的方式- new - 反射 - 通过类(类型)---任何数据类型包括(基本数据类型)都有一个静态的属性.class --ClassLoader - 通过字符串(类全名 )---能够实现解耦:Class.forName(str) - 通过对象---对象.getClass()来获取c(一个Class对象)-- Object的方法- 克隆- 序列化

2018-06-24 22:07:06 314 21

转载 【转载】林萧教会你--如何做到招聘要求中的“要有扎实的Java基础”。

来历     本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来。   一日,LZ在群里发话,“招人啦。”   然某群友曰,“群主,俺想去。”   LZ回之,“你年几何?”   群友曰,“两年也。”   LZ憾言之,“惜了,三至五为佳。然如汝有扎实之基础,且附一技之长,倒也并非不可呀。”   群友惑,问之,“何为一技之长?”   LZ抚须答曰,“皆可,吾之一技即为写。”...

2018-06-24 12:17:47 403 23

转载 【转载】回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议

原文地址: https://www.cnblogs.com/huaxingtianxia/p/5724093.htmljava学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到...

2018-06-24 10:56:09 410 19

原创 JVM--内存管理 + 对象创建 (上)

一、java虚拟机发展- Sun Classic VM(商用,纯解释器,性能差)<br />- Exact VM - (准确式内存管理,编译器+解释器, - 在Solaris平台发布(windows和linux没有发布), - 初步具备高性能虚拟机的特性)- HostSport - 设计之初并非为java开发 - 继承了sun classic vm和exact的优点 - 热点代码探测技术,性能高,代码优化技术

2018-06-17 23:56:44 334

原创 【Angular4学习】模块化再理解-4

共享模块  在多个特性模块中,可能存在公共的组件、指令和管道。我们可以添加SharedModule来存放这些公共组件、指令和管道,并且共享给那些需要它们的模块。 如,项目中公共的有AwesomePipe管道、HighlightDirective指令、CommonModule和FormsModule模块。可以定义SharedModule如下:import { NgModule } ...

2018-06-17 23:53:40 711 13

原创 【Angular4学习】模块化再理解-3

通过路由器惰性加载模块惰性加载也就是懒加载,或者说延迟加载,一些模块使用懒加载后,只有当用户第一次导航到这个模块时,才会加载一些特性。这对于应用程序的性能和减小初始包的大小有很大的帮助,其设置也非常简单。应用路由app/app-routing.module.tsimport { NgModule } from '@angular/core';impor...

2018-06-10 16:07:34 1023 10

原创 【Angular4学习】模块化再理解-2

解决指令冲突  指令冲突表现在指令同名但功能不同时导入根模块时的情况。即这些指令是不同的,只是恰好指令名称相同而已。   我们可以通过创建特性模块来消除组件与指令的冲突。特性模块可以把来自一个模块中的声明和来自另一个的区隔开。特性模块  特性模块是带有@NgModule装饰器及其元数据的类,就像根模块一样。特性模块的元数据和根模块的元数据的属性是一样的。   根模块和特性模...

2018-06-10 16:00:01 425 7

原创 【Angular4学习】模块化再理解-1

  Angular模块把组件、指令和管道打包成内聚的功能块,每个模块聚焦于一个特性区域、业务领域、工作流或通用工具。     Angular模块是一个由@NgModule装饰器提供元数据的类,元数据包括:  声明哪些组件、指令、管道属于该模块; 公开某些类,以便其它的组件模板可以使用它们; 导入其它模块,从其它模块中获得本模块所需的组件、指令和管道; 在应用程序级提供...

2018-06-03 21:04:29 605 12

原创 LocalStorage存储JSON对象的问题

首先,localStorage是没有时间限制的数据存储 ,是以键值对的形式存储的。 var arr=[1,2,3]; localStorage.setItem("temp",arr); //会返回1,2,3 console.log(typeof localStorage.getItem("temp"));//string console.log(localStorage.getItem(...

2018-05-26 11:42:34 1096 23

原创 【MySQL】索引使用策略及优化

创建索引注意事项:在经常查询而不经常增删改操作的字段加索引。 order by 与 group by 后应直接使用字段,而且字段应该是索引字段。 一个表上的索引不应该超过 6 个。 索引字段的长度固定,且长度较短。 索引字段重复不能过多,如果某个字段为主键,那么这个字段不用设为索引。 在过滤性高的字段上加索引。使用索引注意事项:使用 like 关键字时,前置 % 会导致索...

2018-05-20 12:28:58 704 19

原创 【Angular 学习】--- 常用命令的通用关键参数解释

1.ng serve --host (self)指定本地Server绑定的域名,默认值:localhost.如果希望使用self来访问你的站点,须加入以上参数2.ng serve --hmr注意开启之后,只是在angular-cli里的webpack添加必要的扩展,等价于webpack-dev-server –hot,还需要在应用代码里处理hmr逻辑,如可在main.ts里添加:...

2018-05-10 22:33:49 752 11

原创 数据库的服务化切分--分库分表

What?随着大数据时代的到来,业务系统的数据量日益增大,数据存储能力逐渐成为影响系统性能的瓶颈。目前主流的关系型数据库单表存储上限为1000万条记录,而这一存储能力显然已经无法满足大数据背景下的业务系统存储要求了。随着微服务架构、分布式存储等概念的出现,数据存储问题也渐渐迎来了转机。而数据分片是目前解决海量数据持久化存储与高效查询的一种重要手段。数据分库分表的过程在系统设计阶段完成,要求系统...

2018-05-07 22:46:23 653 13

原创 npm 私服工具verdaccio 搭建(二) (ps:欲使用sinopia搭建私服的一定要看过来)

引言上篇文章我写了关于verdaccio私服在服务端的搭建过程,这篇文章我来分享一下客户端如何与私服连接,下载私服的包以及更新和发布公司内部封好的包。(ps:全文中的http://192.168.XX.50默认为我们的私服地址。)一、与私服连接当我们用type命令查看npmrc文件内容,此文件内容是npm镜像下载源的地址。windows下的type命令同Linux的cat命令。...

2018-04-27 22:22:55 5596 16

原创 npm私服工具verdaccio配置文件config.yaml详解(同sinopia配置文件)

配置文件原文:storage: ./storageauth:htpasswd: file: /.htpasswduplinks:npmjs: url: http://registry.npmjs.org/packages:'@*/*': access: $all publish: $authenticated'*': access: $all ...

2018-04-26 21:43:36 14602 15

原创 npm 私服工具verdaccio 搭建(一) (ps:欲使用sinopia搭建私服的一定要看过来)

吐个槽(关于为什么用verdaccio )先跟大家吐个槽,其实我本来是用sinopia搭建的私服,也知道大家也都倾向于sinopia来搭,毕竟它出道比较早,知名度比较高,但是sinopia的作者两年前就已经停止了对sinopia的维护和升级,不信大家可以自己去GitHub上看,上次更新真的停留在了两年前,唉,然后真是留了一堆坑,所幸不是没人管,只是有一群人又出了一个sinopia的fork,也...

2018-04-26 17:33:56 20375 30

原创 【gulp-util警告】:npm WARN deprecated [email protected]: gulp-util is deprecated - replace it

问题图示:问题原因:gulp开发团队一直计划弃用gulp-util,因为它只是一堆模块,大概6752个modules,其中许多都使用过了较低版本的Vinyl, 低版本的Vinyl是不兼容的,但仍被许多插件使用,然而Vinyl的v2版不会附带gulp-util,所以开发团队在我们下载gulp-util包时,或者并不是你直接下载但你别的包需要依赖gulp-util而间接下载时,他们都会...

2018-04-26 16:37:15 10359 14

空空如也

空空如也

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

TA关注的人

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