- 博客(81)
- 收藏
- 关注
转载 Vue-router 报NavigationDuplicated的可能解决方案
出现这个问题,控制台会报[NavigationDuplicated{_name: "NavigationDuplicated", name: "NavigationDuplicated"}]。其原因在于Vue-router在3.1之后把$router.push()方法改为了Promise。所以假如没有回调函数,错误信息就会交给全局的路由错误处理,因此就会报上述的错误。如果你仔细观察并...
2019-09-24 11:21:00
2217
转载 不升级Element-UI 版本为时间选择器增加标记功能
Element-UI里的date-picker是个优秀的时间选择器,支持的选项很多,定制型很强。不过date-picker在2.12版本之前并不支持自定义单元格样式,也就是2.12的cellClassName功能。所以如果使用了2.12之前的版本,那么你就无法直接去更改单元格的样式了,因此在日历上就无法标记出重要日期(比如放假安排)。公司项目里用的Element-UI版本是2.3.9,...
2019-09-20 09:39:00
594
转载 能当壁纸用的Git常用命令速查表
使用Microsoft Office 2016手工绘制。链接: https://pan.baidu.com/s/18KsH-u5T2iSTHaXd6iQWGA 提取码: w8da 复制这段内容后打开百度网盘手机App,操作更方便哦转载于:https://www.cnblogs.com/rever/p/11434652.html...
2019-08-30 13:57:00
1330
转载 JVM学习(三):垃圾回收算法
局部性原理和分代回收思想大学学习操作系统或者计算机组成原理的时候都提到一个重要概念,叫局部性原理。局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。后来发现,这个原理说的存储器不只是高速缓存(Cache),访问内存(RAM)、磁盘(ROM)时都有局部性。其实在项目中使用redis、memcache这样的缓存也体现了局...
2019-08-30 09:11:00
190
转载 JVM学习(二):垃圾回收
我刚工作的时候问一个前辈,我们能针对JVM做出什么样的优化。前辈说,我们系统现在的性能并不需要调优,用默认的配置就能满足现在的需求了。我又问,那你为什么要看JVM相关的书呢?前辈微微一笑,悠悠地来了句,为了面试。玩笑归玩笑,不过事实上确实萌新程序员确实不需要在实际工作中进行JVM调优。一方面Java虚拟机的默认配置足够我们使用,另一方面功能强大的IDE让我们在编写代码的时候基本不需要考...
2019-08-27 12:12:00
173
转载 JVM学习笔记(一):Java虚拟机和虚拟机内存区域
为什么Java程序需要运行在虚拟机上因为Java在设计之初的跨平台特性,我们知道Java程序是运行在Java虚拟机上的。如果你要问为什么Java程序要运行在虚拟机上,我可以反问你几个问题。为什么买来的电器插上电就能直接使用?你可能会说,因为电是基础设施。电源有统一的标准,电器有统一的标准,所以买来的电器插上电就能用。不同的电器需要的电源标准不同(台灯和电饭煲的功率),为什么我们不能...
2019-08-23 16:01:00
142
转载 [LeetCode] 429. N-ary Tree Level Order Traversal
Given an n-ary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example, given a 3-ary tree:We should return its level order traversal:...
2019-07-26 16:32:00
115
转载 解决IDEA报错Could not autowire. There is more than one bean of 'xxx' type
更新项目之后IDEA突然出现了这样的报错信息。显示Could not autowire. There is more than one bean of 'xxx' type。这个错误的意思是xxx类型有不止一个bean,但是这个错误不会影响项目运行,相当于一个warning。导致这个错误的原因通常是注入的类型有其他的实现类,所以IDEA提示注入的时候会冲突。比如我的项目出现这个错误的...
2019-07-26 15:02:00
12274
转载 Vue异步请求最佳实践
一、当前存在的问题目前项目前端请求后台数据的方式是这样的:页面中method中dispatch到actionaction调用mutation,请求axios请求到数据后存储到state中页面中在computed中获取state,使用watch监听到数据变化之后做业务逻辑。调用流程如图:在当前的项目中,这样的调用方式可以解决异步请求,对于接口的响应速度也很快。但依然有着...
2019-07-23 14:45:00
326
转载 如何判断一个图中是否存在环路
最近公司的项目中,有个树形结构变图结构的问题。本来我们对项目中实体之间的关系是按树形结构来表示的,也就是说实体之间不会重用,也不会有环。现在我们需要变成图的结构,实体之间可以重用,但不能有环。那么该如何解决这个问题呢?我们先定义出什么是环:环定义:从一条边出发,如果能回到当前边则证明有环。可见,根据定义,上面的图不存在环。因为从任意一条边出发都不可能回到自身。下面给出一个带有...
2019-07-16 17:29:00
1079
转载 IDEA中使用Database管理工具
以下内容来自我的知乎回答IntelliJ IDEA中有什么让你相见恨晚的技巧?说个冷门的,用IDEA操作数据库。可能大部分不知道,IDEA是自带数据库管理工具的,类似于一个小型Navicat。具体打开方式是先打开Database视图。然后点击+号,选择一个数据库,这里我用MySQL举例子。然后需要填上Host、User、Password和Database。最后还需要选择一...
2019-06-25 15:18:00
794
转载 Vue-Cli项目如何查看依赖调用关系?
Vue是个优秀的前端框架,不管是前端还是后端开发人员都能很快使用Vue来开发应用。但是随着项目开发的深入,组件之间的依赖就变得越来越多,耦合越来越严重。这时候我们迫切地需要分析下组件和依赖之间的调用关系了。一、探索经过一番寻找,我发现了stats-webpack-plugin这个插件。链接中有这个插件在webpack中的使用方法。我下面的教程基本是参考了官方指引。二、安装和使用...
2019-06-05 11:42:00
1249
转载 Mybatis Plus 使用详解
Mybatis Plus 是Mybatis的增强插件,对数据库操作Mybatis Plus提供了抽象层次比Mybatis更高的操作方法。Wrapper是Mybatis Plus里拼接sql的包装类。具体的各种查询功能可以查看Mybatis Plus 条件构造器官方文档一、自定义查询字段EntityWrapper 的setSqlSelect可以定义需要查询的库表字段。但是很多时候我们...
2019-05-08 18:18:00
535
转载 Windows10 蓝屏 DRIVER_IRQL_NOT_LESS_OR_EQUAL (vfilter.sys)的可能解决方法
早上我的笔记本从休眠中开机的时候突然出现了蓝屏,这个蓝屏在前几天出现过了。两次提示的终止代码都一样。我的笔记本型号是DELL XPS15 9560我的笔记本配置:类别型号内存16GB DDR4 2666 内存(KLEVV)显卡NVIDIA GeForce GTX 1050硬盘PC300 NVMe SK hynix 256GB系统版本Wind...
2019-04-19 10:07:00
22845
转载 解决Vue循环中子组件不实时更新的问题
问题描述使用Element-UI中的table组件时会遇到一个常见的问题。当在el-table中调用子组件的时候会出现数据更新后,子组件没有重新渲染的问题。eg:资源列表中的健康度组件。代码如下: <el-table :data="sourceData" class="resource_list_data" v-loading="loading" size="min...
2019-03-20 15:09:00
1062
转载 [LeetCode] 701. Insert into a Binary Search Tree
Given the root node of a binary search tree (BST) and a value to be inserted into the tree, insert the value into the BST. Return the root node of the BST after the insertion. It is guaranteed th...
2019-02-05 22:44:00
120
转载 按时间间隔生成cron表达式
cron表达式是使用任务调度经常使用的表达式了。对于通常的简单任务,我们只需要一条cron表达式就能满足。但是有的时候任务也可以很复杂。最近我遇到了一个问题,一条任务在开始的时候要触发A方法,在结束的时候需要触发B方法。所以每次我添加触发器的时候都需要两个cron表达式,两个表达式需要间隔一定的时间。听起来特别复杂,但是实际上我只需要实现每天、每周、每月的时间就可以了。选择每天时,持...
2019-01-24 10:32:00
1831
转载 一道面试题了解计算机网络
本文是我在公司做的计算机网络知识的分享,特整理成文章供以后学习。本文内容大部分来自网上,并非完全原创,参考链接已经放到文章结尾处。今天分享的主题是计算机网络。我们先从一个经典的面试题开始讲起。 当我们输入URL,按下回车发生了什么?例如https://www.baidu.com这是一个网址,浏览器的第一步是就是把网址解析成URL。这里我们讲第一个概念。网址指因特网上网站的地址...
2019-01-04 23:40:00
225
转载 cron表达式增加一段时间变为新的表达式
cron表达式是使用任务调度经常使用的表达式了。对于通常的简单任务,我们只需要一条cron表达式就能满足。但是有的时候任务也可以很复杂。最近我遇到了一个问题,一条任务在开始的时候要触发A方法,在结束的时候需要触发B方法。所以每次我添加触发器的时候都需要两个cron表达式,两个表达式需要间隔一定的时间。听起来特别复杂,但是实际上我只需要实现每天、每周、每月的时间就可以了。选择每天时,持...
2018-12-28 14:35:00
340
转载 Vue 父组件循环使用refs调用子组件方法出现undefined的问题
Vue 父组件循环使用refs调用子组件方法出现undefined的问题1. 背景最近前端项目遇到一个问题,我在父组件中使用了两个相同的子组件child,分别设置ref为add和update。其中A组件的功能是新增,也就是说在页面上A页面只有一个。而update组件是放在表格里的,表格中的每一行数据都有update组件。跟update组件并列还有一个删除按钮,每次删除完都会重新获取数...
2018-12-17 18:09:00
843
转载 写Java代码的一些小技巧
写Java代码有三年多了,遇到过很多坑,也有一些小小的心得。特地分享出来供各位学习交流。这些技巧主要涉及谷歌Guava工具类的使用、Java 8新特性的使用、DSL风格开发、代码封装等技巧。一、null的判断对于Java Developer来说空指针异常让我们深恶痛绝。我们进行单元测试的时候很多的时间就是在消除空指针异常,一个容易报空指针的代码肯定称不上是合格的代码。当然,完全消除空...
2018-12-06 17:53:00
199
转载 Cron表达式详解和表达式的验证
本篇不算原创,因为主要内容来自网上的博客,所以给出我参考文章的链接。本文cron表达式详解的大部分内容参考了[cron表达式详解]和Quartz使用总结、Cron表达式 这两篇文章。cron校验的内容参考了 判断cron表达式输入是否有效的正则表达式 和Verifying a cron expression is valid in Java 这两篇文章。一、表达式组成Cron表...
2018-11-01 09:24:00
252
转载 探索Java8:(三)Predicate接口的使用
上一篇学习了下Function接口的使用,本篇我们学习下另一个实用的函数式接口Predicate。Predicate的源码跟Function的很像,我们可以对比这两个来分析下。直接上Predicate的源码:public interface Predicate<T> { /** * Evaluates this predicate on the give...
2018-10-11 17:22:00
257
转载 探索Java8:(二)Function接口的使用
Java8 添加了一个新的特性Function,顾名思义这一定是一个函数式的操作。我们知道Java8的最大特性就是函数式接口。所有标注了@FunctionalInterface注解的接口都是函数式接口,具体来说,所有标注了该注解的接口都将能用在lambda表达式上。标注了@FunctionalInterface的接口有很多,但此篇我们主要讲Function,了解了Function其他的...
2018-09-29 18:11:00
468
转载 Vue 动态图片加载路径问题和解决方法
最近在做一个树形结构的组件,使用了Vue和element UI中el-tree组件。因为树中每个节点都需要显示一个图标图片,并且需要根据后台传入的数据类型动态地显示,所以图片的路径需要动态地加载。下面是核心组件代码: <el-tree :data="data" class="tree-view" node-key="id" :props="defaultProps" @node-...
2018-09-04 22:43:00
782
转载 小工具:使用Python自动生成MD风格链接
很久之前我在Github上搞了一个LeetCode的仓库,但一直没怎么维护。最近发现自己刷了不少LC的题目了,想搬运到这个仓库上。玩Github最重要的当然是写README了,MD的逼格决定了项目牛逼不牛逼。但是让我一个一个去手写项目中的链接那是不可能的,这辈子都不可能手写,只有写脚本自动生成才能满足装逼的样子。import osimport os.path# 根目录rootd...
2018-07-24 23:51:00
208
转载 解决Navicat Premium 12 连接oracle数据库出现ORA-28547的问题
1. 出现的问题...下午工作时想连接Oracle数据库,使用的是Navicat Premium 12 。数据库地址、用户名、密码、端口号都没有问题,但出现了ORA-28547:connection to server failed, probable Oracle Net admin error的错误。2. 问题的原因查了半天,发现是由于Navicat Premium 12自带...
2018-07-19 17:49:00
673
转载 Beetl模板引擎入门教程
最近项目中有个邮件发送的需求,不过要求发送的HTML格式的邮件。由于Beetl对java语言的良好支持和很好的性能,我们决定使用Beetl作为我们的模板引擎。Beetl官网已经有了很详细的教程,所以本篇侧重于实战应用,适合需要不懂beetl或其他模板引擎但需要快速上手写出代码的人。那么为什么要用模板引擎呢?很简单的原因,实际应用场景中文本的格式是固定的,但是内容有所不同。如果是不复杂...
2018-07-17 10:22:00
524
转载 Disruptor学习笔记(一):基本原理和概念
一、Disruptor基本原理在多线程开发中,我们常常遇到这样一种场景:一些线程接受用户请求,另外一些线程处理这些请求。比如日志处理中的日志输入和告警。这种典型的生产者消费者场景十分常见,而生产者消费者模式的核心就是阻塞队列。由于阻塞队列会涉及大量的锁竞争和线程阻塞,都是非常耗费CPU的操作,因此阻塞队列的性能好坏能够在很大程度上决定上层应用的性能瓶颈。JAVA中用BlockingQ...
2018-07-06 16:19:00
181
转载 小工具:word表格文字转化成insert语句
群里的一个朋友有个需要,要让把word里的表格数据插入到数据库里面。我的思路是,把格式化的数据转成insert语句,然后去执行就可以了。要求的insert语句格式是:'insert into xxx values("字段1","字段2","字段3");"public class WordsProcessor { public static void main(String...
2018-06-22 18:01:00
131
转载 [LeetCode] 771. Jewels and Stones
You're given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in Sis a type of stone you have. You want to know how many of the s...
2018-05-17 17:36:00
79
转载 探索Java8:(一)Stream的使用
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上...
2018-04-10 09:07:00
187
转载 如何写出格式优美的javadoc?
如果你读过Java源码,那你应该已经见到了源码中优美的javadoc。在eclipse 中鼠标指向任何的公有方法都会显示出详细的描述,例如返回值、作用、异常类型等等。本文主要来自《Thinking in java》的内容以及我在工作中写javadoc的经验。三种类型的注释文档注释文档有三种类型,分别对应于注释位置后面的三种元素:类、域和方法。也就说类注释正好位于类定义之前;域注释位...
2018-02-23 23:13:00
274
转载 《设计模式之禅》读书笔记(五)之代理模式
1. 代理模式的定义和应用1.1 代理模式的定义Provide a surrogate or placeholder for another object to control access to it .(为其他对象提供一种代理以控制对这个对象的访问)代理模式的类图如下:代理模式也叫做委托模式,是一种基本设计技巧。许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特...
2018-02-05 14:25:00
94
转载 从一个审批需求看数据库设计——联合主键的使用
最近工作挺忙,已经接近996了,所以博客更新也少了。今天忙里偷闲,分享一个最近遇到的一个数据库设计问题。业务需求是:针对一条人员信息的数据进行审批操作在进行审批时要看到审批前后数据的修改同一人员的审批数据只能存在一条审批通过后数据在正式表中生效审批通过后保存审批结果数据业务逻辑本身并不复杂,我们可以建一个跟正式表完全相同的临时表来存储修改的数据,再增加一个审批结果来标...
2018-01-26 18:47:00
156
转载 「翻译」一篇redis文章引发的翻译——JVM能支持多少线程?
昨天看了一篇关于redis 的文章https://www.cnblogs.com/fanwencong/p/5782860.html作者说他模拟了100万线程的并发,我对这个有一些怀疑,看了评论也有很多质疑的声音。当然我这篇不是要批评作者对线程的模拟,事实上作者写的对redis的使用是很不错的,我们本篇主要针对个人电脑上的JVM最多能支持多少个线程。以下是StackOverflow上的...
2018-01-12 14:35:00
66
转载 深入解析Java AtomicInteger 原子类型
Java开发中不可避免的会遇到并发的问题。在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是要实现线程安全。那么什么样的标准可以称为线程安全呢?这里有线程安全的定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。...
2018-01-06 23:36:00
434
转载 ConcurrentHashMap——浅谈实现原理及源码
本文整理自漫画:什么是ConcurrentHashMap? - 小灰的文章 - 知乎 。已获得作者授权。HashMap 在高并发下会出现链表环,从而导致程序出现死循环。高并发下避免HashMap 出问题的方法有两种。一是使用HashTable,二是使用Collections.syncronizedMap但是这两种方法的性能都能差。因为这两个在执行读写操作时都是将整个集合加锁,导致多...
2017-12-27 07:06:00
134
转载 浅谈HashMap 的底层原理
本文整理自漫画:什么是HashMap? -小灰的文章 。已获得作者授权。HashMap 是一个用于存储Key-Value 键值对的集合,每一个键值对也叫做Entry。这些个Entry 分散存储在一个数组当中,这个数组就是HashMap 的主干。HashMap 数组每一个元素的初始值都是Null。1. Put 方法的原理调用Put方法的时候发生了什么呢?比如调用 hashMa...
2017-12-25 09:49:00
73
转载 如何在命令提示符下编译运行含有Package的java文件
这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇。看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁,为命令提示符上打印出的图案而兴奋。到现在我依然觉得,一个从没有过编程经验的人在屏幕上打印出Hello World 的时候,他真的感觉是对一个全新的世界说了句“你好,我来了”。尽管现在来看那...
2017-12-13 17:11:00
526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人