自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 引入echarts一直undefined

经过排查,发现注释掉/build/webpack.base.conf.js文件中的下面这行代码就ok了。引入的echarts没有加载进来,一直都是undefined。记个流水账,希望给遇到同样报错的人一点帮助。

2023-04-11 14:57:22 506

原创 FCM接入总结

编写目的FCM官方文档中描述比较零散,我自己在调研接入方式时也耗费了一些时间,所以我想编写一个文档,对接入FCM前后端的改造点做一个完整的描述,也算是对FCM调研过程做一个总结,希望能给有相关需求的人一些参考,文档会分为FCM服务申请,WEB端SDK接入,服务器端消息发送三个部分来描述参考资料FCM官方文档一、FCM服务申请谷歌推送以前叫GCM,在2019年4月11日迁移到了firebase cloud message(FCM),我们要使用FCM,需要在firebase上创建一个项目,所以需要有一

2021-09-28 19:44:53 2369 1

原创 一种配置化的数据权限实现方案

数据权限控制是几乎每一个业务系统都要实现的一个功能,很多业务系统采用硬编码的方式将数据权限控制逻辑写入业务代码中,这种实现方式让我们的业务代码中充斥着大量的与业务无关的重复代码,并且数据权限有变化需求就必须 修改代码->测试->发布,增加了需求响应时间。这里分享一个基于mybatis的数据权限框架,可以做到对业务代码无侵入,数据权限的热插拔。git地址:https://github.com/caixunshi/mybatis-datalimit欢迎Star!...

2020-06-12 10:41:34 538

原创 JDK动态代理与CGLIB动态代理

JDK动态代理和CGLIB动态代理是SpringAOP非常重要的两个概念,SpringAOP是通过生成目标对象的代理类来实现对目标对象的增强,在说JDK的动态代理之前我们先来回顾一下静态代理:一、静态代理:首先定义一个业务接口public interface ITestService { void sayHello(); String getMsg();}然后我...

2020-01-06 21:44:15 188

原创 JAVA类实例化时,子类和父类中的构造方法,静态代码块,代码块和普通方法的调用顺序

通过这篇文章总结一下JAVA类实例化时,子类和父类中的构造方法,静态代码块,代码块和普通方法的调用顺序,首先编写两个测试类:父类:public class Father { { System.out.println("父类代码块"); } static { System.out.println("父类静态代码块"); } ...

2019-02-18 17:13:36 1003

原创 HashMap源码分析(基于JDK1.8)

看到网上对HashMap源码分析的文章很多,大部分概念都是对的,但是没有让人理解哈希表的本质,今天画了一些时间认真的看了一遍HashMap的源码,所以想写下这篇文章总结一下。先来一张HashMap的底层数据结构图:这张图大家是很熟悉的,HashMap底层就是一个Node<K, V> [] table,源码如下://用来存key-value对象transient No...

2018-12-06 16:38:31 157

原创 Java 泛型 ? super T 中 super 怎么 理解与 ? extends T 有何不同?

首先说一下java泛型吧,泛型是Java SE 1.5的新特性,用来在编译时做类型检查的,并且会根据泛型类型自动进行类型转换,也就是说,泛型只在编译期起作用,主要是用来保证类型安全的,编译后的class文件中是不会包含泛型的,这个大家可以将class文件反编译过来看看。<? extends T>和<? super T>表示java泛型中的上界和下界的概念,就是说<...

2018-12-04 20:42:24 439

原创 安装dubbo的监控中心dubbo-admin

在dubbo2.6版本之前,都是使用war包的形式,将打好的war包放到tomcat中启动,在2.6版本之后,dubbo-admin工程已经集成了springBoot,可以将工程打成一个可执行的jar文件,直接运行访问,方便了很多。dubbo-admin\src\main\resources首先我们去下载dubbo官网下载dubbo-admin工程:https://github.com/...

2018-10-28 23:38:31 521

原创 一篇文章彻底弄明白java中的二进制运算

在java中的二进制运算符有:&lt;&lt;(左移保留符号位), &gt;&gt;(右移保留符号位), &gt;&gt;&gt;(右移,符号位也一起移动), ~(按位取反), ^(异或,相同为0,不同为1), &amp;(逻辑与) ,|(逻辑或),下面我们就来一个一个解释一下。在说二进制运算之前,我们先来了解一下原码,反码和补码的概念:原码:第一位是符号位,0表示正数,1表示负数。其余3...

2018-09-30 20:14:47 3916 1

原创 函数表达式()()和函数声明function的区别

()()表示立即执行一个函数表达式,拆分来看第一个括号里的是一个函数声明,第二个括号表示立即执行这个表达式,下面我们来理解一下什么是函数表达式和函数声明。区分函数表达式和函数声明的区别在于function的位置,如果function不是出现在一段函数的第一个词,那么这是一个函数表达式,若function是第一个词,则是一个函数声明。函数声明和函数表达式的区别有哪些呢?我们来看下面这一段代码:...

2018-09-14 14:37:15 717

原创 js中的eval和with

js中有两个方法可以改变词法作用域,eval(...)和with(...)。前者可以接受一段字符串代码来进行演算,并借此来修改已存在的词法作用域,后者本质上是通过将一个对象的引用当作词法作用域,将对象的属性当作作用域中的标识符来处理,从而创建一个新的词法作用域。首先我们来理解词法作用域的概念:图中的1和2分别表示两个作用域,这里的b变量只能在作用域1中找到,一般来说,变量所在的作用域都...

2018-09-14 11:38:47 553

原创 JS中RHS引用和LHS引用的区别

平时做前端开发的时候可能接触不到LHS和RHS这两个名词,但是它却是js中最基础的概念,表示两种变量的查找方式,在js代码中无处不在。我们来举个例子说明一下LHS和RHS。var a = 1;  我们把这个表达式根据等号拆成两个部分,var a 和 = 1。这个里面var a进行的LHS查找,编译器遇到var a时,会询问作用域是否存在一个名为a的变量,如果有则忽略,如果没有则让作用域声明一个...

2018-09-14 10:14:29 1250

原创 jdk8的新特性总结(三):串行流与并行流

在上一篇文章中我们知道通过parallelStream方法可以获得一个并行流,那么什么是并行流呢?并行流就是把内容分割成多个数据块,每个数据块对应一个流,然后用多个线程分别处理每个数据块中的流。java8中将并行进行了优化,我们可以很容易的对数据进行并行操作,Stream API可以声明式的通过paralleleStream和sequential方法在并行流和顺序流之间进行切换。一、For...

2018-09-13 14:15:23 7463

原创 jdk8的新特性总结(二):StreamAPI

这篇文章我们一起来学习java8最重要的新特性之一,强大的StreamAPI,在本文中的代码示例中我们会大量使用lambda表达式,如果对lambda表达式还不太熟悉,可以看一下上一篇文章。java8中Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API(java.util.stream.*)。Stream 是 Java8 中处理集合的关键抽象概...

2018-09-12 19:04:28 5354 2

原创 SpringMVC用到的功能总结

1、@RequestMapping:    params:指定请求参数,例:params={"param1=value1","param2"}表示请求中必须包含param1和param2,且param1必须  等于value1;   headers: 指定请求头request headers中的参数,例:headers="contentType=text/**" 则请求头中,contentT...

2018-09-10 15:15:21 2575

原创 jdk8的新特性总结(一):lambda表达式

jdk8的lambda表达式和StreamAPI能够简化以前我们需要重复编写的代码,以前一直都是用jdk6,最近一个新项目开始使用jdk8,经过一段时间的使用,着实感受到了jdk8的强大便捷,本文对jdk8的新特性做了一个总结,希望可以帮助大家快速的了解并上手jdk8。一、lambda表达式lambda表达式让我们可以将方法体作为参数进行传递,最常见的是匿名内部类的实现,以前我们需要new...

2018-09-07 14:10:41 827 1

原创 注解版Spring事物的传播特性详解

1:事物的特性:原子性,一致性,隔离性,持续性。2:事物的隔离级别:读未提交,读已提交,读重复,序列化。Spring事物的传播特性一共有七种:传播特性 含义 用法 PROPAGATION_REQUIRED 表示当前方法必须在一个包含事物的上下文环境中运行,也就是说,进入该方法时,如果已经开启了事物,则在当前事物下运行,否则,开启一个新的事物。 @T...

2018-08-28 19:17:21 809

单点登录实现方案

一种单点登录的实现方案,以jdk为例应用keytool自己制作https证书。

2017-11-30

空空如也

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

TA关注的人

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