鲲鹏云安装MantisBT

此次安装未采用Docker形式,因为鲲鹏云采用ARM架构,很多现有的Docker Image支持,需要自己更改Image,为了快速安装和上线,所以抛弃了Docker模式
系统版本:CentOS 7.6 64bit
Mantis版本:2.24.3

阅读更多   2020/10/8 posted in  鲲鹏云

MySQL调优

  1. 选择最合适的字段属性:类型、长度、是否允许NULL等;尽量把字段设为not null;

  2. 要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

  3. 应尽量避免在 where ⼦句中对字段进行行 null 值判断、使⽤用!= 或 <> 操作符,否则将导致引擎放弃使⽤用索引⽽而进⾏行行全表扫描

阅读更多   2019/11/17 posted in  MySQL&MariaDB

ClassNotFoundException和NoClassDefFoundError的区别

ClassNotFoundException NoClassDefFoundError
从java.lang.Exception继承,是一个Exception类型 从java.lang.Error继承,是一个Error类型
当动态加载Class的时候找不到类会抛出该异常 当编译成功以后执行过程中Class找不到导致抛出该错误
一般在执行Class.forName()、ClassLoader.loadClass()或ClassLoader.findSystemClass()的时候抛出 由JVM的运行时系统抛出
2019/11/5 posted in  Java

Java 7中HashMap和HashTable中对于hash的实现,我们来做个简单的总结

HashMap默认的初始化大小为16,之后每次扩充为原来的2倍。
HashTable默认的初始大小为11,之后每次扩充为原来的2n+1。

阅读更多   2019/10/22 posted in  Java

JMM

JVM将内存划分为五大块:

  • 堆 (进城内所有线程共享)
  • 方法区(进程内所有线程共享)
  • 虚拟机栈(每个线程独立)
  • native本地方法栈(每个线程独立)
  • pc计数器(每个线程独立)
阅读更多   2019/10/10 posted in  Java

xxl-job简约安装与使用

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

下载源码

通过命令

git clone https://github.com/xuxueli/xxl-job/

阅读更多   2019/9/2 posted in  SpringBoot

Spring Boot Admin

Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源软件。每个应用都认为是一个客户端,通过HTTP或者使用注册中心注册到 Admin server中进行展示,Spring Boot Admin UI 部分使用 AngularJs 将数据展示在前端。
Spring Boot Admin 是一个针对spring-boot 的 actuator 接口进行UI美化封装的监控工具。他可以:在列表中浏览所有被监控 spring-boot项目的基本信息,详细的Health信息、内存信息、JVM信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等,还可以直接修改logger的level。

阅读更多   2019/8/7 posted in  SpringBoot

微服务中,服务熔断和服务降级的区别

相同点

  1. 目的很一致,都是从可用性可靠性着想,为防止系统的整体缓慢甚至崩溃,采用的技术手段;
  2. 最终表现类似,对于两者来说,最终让用户体验到的是某些功能暂时不可达或不可用;
  3. 粒度一般都是服务级别,当然,业界也有不少更细粒度的做法,比如做到数据持久层(允许查询,不允许增删改);
  4. 自治性要求很高,熔断模式一般都是服务基于策略的自动触发,降级虽说可人工干预,但在微服务架构下,完全靠人显然不可能,开关预置、配置中心都是必要手段
阅读更多   2019/7/31 posted in  SpringCloud

解决vue-router动态添加路由router.addRoutes()方法不更新路由的问题

在router.addRoutes()方法之前,添加

router.options.routes=accessRoutes

片段代码如下:

          // generate accessible routes map based on roles
          // await store.dispatch('user/generateRoutes')
          const accessRoutes = await store.dispatch('user/generateRoutes',{ root: true })
          router.options.routes=accessRoutes
          console.log(accessRoutes)

          // dynamically add accessible routes
          router.addRoutes(accessRoutes)
2019/7/24 posted in  Vue

Vue项目权限

vue项目实现动态路由的方式大体可分为两种:

  1. 前端这边把路由写好,登录的时候根据用户的角色权限来动态展示路由,(前端控制路由),vue-element-admin就是这么玩的
  2. 后台传来当前用户对应权限的路由表,前端通过调接口拿到后处理(后端处理路由)
    这两种方法各有优点,效果都能实现
2019/7/18 posted in  Vue