自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

未思

有问题可关注微信公众号(子曰思鱼)留言,CSDN一般不在

原创 使用 iconfont 中的 svg 图标

最近在使用 Element-UI开发的时候发现其图标并不是够用,于是想着如何将 https://www.iconfont.cn/home/index 上面的图标导入进自己的项目中去。 网上的搜索结果基本都是传统的引入CSS的方法,并没有使用到SVG的特性,这里介绍使用SVG来引入图标,这中方式普适...

2019-05-19 08:32:53 3700 0

原创 Vue 实例挂载方法($mount)的实现

在 Vue 的 _init 方法中已经回调了beforeCreate 和created这两个生命周期钩子,在此之后就进行了实例的挂载 if (vm.$options.el) { // 挂载实例 vm.$mount(vm.$options.el); } 在挂载函数中,将...

2019-03-30 14:36:33 4792 0

原创 Vue实例初始化之 _init 方法

打开 Vue 源码, 在其入口文件 core/instance/index 代码中,我们可以看到 Vue 类定义如下 function Vue(options) { if (process.env.NODE_ENV !== 'production' &am...

2019-02-27 22:55:22 12232 4

原创 Vue全局 API 之 nextTick 函数的实现

Vue 官方文档中对于 nextTick 函数的介绍为 : 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 那么这句话是什么意思呢 ? 我们通过如下的一段代码来说明 <template&g...

2019-02-23 23:09:05 181 0

原创 用 Promise 实现一个消息队列

需求描述 在此篇博客中,我们的需求如下: 有一个消息调度器去操作发送来消息 但处理消息花费的事件是不确定的,有多有少 消息是不断发送过来的 这个时候就会出现一种情况:前一条消息还未执行结束,后一条消息就被发送过来了 如果这个时候要求后一条消息必须在前一条执行完才开始执行,该如何实现? 使用 Pro...

2018-11-07 22:56:42 828 1

原创 ES6 中的常用方法

Map 转 JSON function map2json(map) { const obj = Object.create(null); map.forEach((v, k) => { obj[k] = v; }); return JSON.string...

2018-09-03 21:17:00 139 0

原创 JavaScript中的Promise对象

标签: JavaScript Promise 在ES6中,Promise对象成为了一个原生对象,有关其基本的用法如下 我们经常会看到格式如下的代码 Promise.resolve("success").then(result =&a...

2018-07-20 15:08:41 227 0

原创 如何设置GitHub的公钥

如果使用http方式push代码的时候,就会每次都要输入用户名和密码,而使用SSH的方式就不会 如果你的prigin是http的,可以使用如下命令经行修改 在项目路径下执行 git remote rm origin git remote add origin git@github.com:X...

2018-04-21 18:09:05 809 0

原创 如何在nginx下部署vue项目

首先我们使用 npm run build 来生成项目的静态页面,会在项目的根路径的dist目录下 我们将dist下的 index.html和static静态文件发布到服务器的某一目录下 比如说我们发布的是 在 usr/local/vue/page下,那么我们对于nginx的配置如下 在/us...

2018-04-21 17:44:21 19824 3

原创 CSS3中 border-image 的基本用法

border-image 是CSS3中的属性,用于使用图片左右一块区域的边界,其基本的使用形式如下 border-image: url(img-url) top right bottom left; 其中 top right bottom left分别表示上右下左的边距,如下示例 bor...

2018-03-19 10:05:09 387 0

原创 CSS3实现加载效果

预期实现的效果如下如所示 首先基本的Html布局如下 <div id="wrap" > <div class="line1"></div> &...

2018-03-16 16:29:30 530 0

原创 Vuex 入门教程

这里要完成的功能是通过按钮的加减来动态的处理数据 我们新建一个基本的 Vue 项目 vue init webpack-simple vuex-1 运行如下命令安装相应的依赖和Vuex npm i npm i vuex --save 安装完之后我们来新建一个 store 文件夹,在...

2018-03-13 14:25:12 2070 0

原创 Vue.js 中的动态路由

在文章 使用vue-router完成简单导航功能 中实现的路由导航功能是不能传递参数的,也就是说是静态路由。 而能传递参数的路由模式,由于可以传递参数,所以其对应的路由数量是不确定的,故称之为 动态路由 那么如何将参数作为路由呢? 在参数名前面加上 : ,然后将参数写在路由的 path...

2018-03-12 09:53:06 19043 3

原创 使用vue-router完成简单导航功能

vue-router是Vue.js官方提供的一套专用的路由工具库 安装命令如下 npm i vue-router -D vue-router 实例是一个Vue插件,我们需要在Vue全局引用中通过Vue.use() 将它接入到Vue实例中。 在我们的工程中,,main.js是默认的程序入...

2018-03-09 17:36:56 6193 0

原创 关于Vue.js中多页面项目的配置

首先使用如下的命令创建一个新的 Vue.js 项目 vue init webpack vue-3 使用 VsCode 打开项目之后,在命令行进入到项目中去,安装相关的依赖库,然后运行项目,执行下面的命令 cd vue-3 npm install npm run dev 在一切正常的情况下,...

2018-03-09 14:48:57 393 0

原创 有关Vue.js中的v-model的说明

首先如下代码使用v-model可以实现数据的绑定,也就是说我们在输入框中输入什么数据,对应的<span>标签中就会显示什么数据 <body> <div id="app"> &a...

2018-03-06 14:29:09 15191 0

原创 Java使用Socket实现通信

客户端程序 package com.jun.client; import java.io.*; import java.net.Socket; import java.util.Scanner; /** * 〈客户端程序〉<br> * * @author...

2018-03-04 16:40:27 1620 0

原创 redis数据库中的通知

Redis数据库的通知主要用来获取数据库中的键的变化以及数据库中命令的执行情况。 要想使用redis数据库中的通知的功能则需要在redis.conf配置文件中进行相应的配置 键的变化通知用官方的语句称为键空间通知 命令的执行情况通知用官方的语句称为键事件通知 配置文件redis.conf中...

2018-02-09 21:17:43 720 0

原创 Redis中的过期键删除策略

我们知道在Redis数据库中,我们可以为相应的键设置过期时间 那么在相应键的过期时间到了,我们要通过什么方法来回收相应的键呢? 对于上面的问题,我们有以下三种不同的删除策略 定时删除:在设置键过期时间的同时,创建一个定时器,让定时器在过期时间来临的时候,立即删除相应的键。 惰性删...

2018-01-21 22:06:30 988 0

原创 Redis 中的对象介绍

Redis底层使用到的主要数据结构有:简单动态字符串,双端链表,字典,压缩列表,整数集合 Redis 并没有直接使用这些数据结构来实现K-Value数据库,而是基于这些数据结构创建了一个对象系统。 这篇文章就是简要的介绍一下Redis的对象的结构。 Redis的对象系统有五个部分组成:字...

2018-01-17 14:38:10 214 0

原创 Effective Java —— 始终要覆盖toString方法

提供好的toString实现可以使类用起来更加舒适 如下有一个用户信息类: package com.blog.effective.note10; /** * 〈用户信息〉 * * @author 未绪 * @time 2018/1/12 14:30 */ public clas...

2018-01-12 14:42:26 255 0

原创 Redis整数集合(intset)的升级操作

当Redis中的Set(集合)只存有整数值元素的时候,并且元素的数目并不是非常多的时候,就会使用intset(整数集合)作为集合键的底层实现。 127.0.0.1:6381> SADD numbers 2 4 6 (integer) 3 127.0.0.1:6381> OBJECT ...

2018-01-11 23:32:51 1249 0

原创 Redis中字典的rehsah操作

最近在看Redis源码的时候,看到Redis中的字典中有一个属性rehashidx,注解中的说明是:rehash索引,当不在进行rehash操作的时候,其值为-1 我们来看一下Redis中字典的定义 // // dict 字典 // typedef struct dict { //...

2018-01-09 14:23:19 229 0

原创 Redis的底层字符串存储—SDS

我们知道Redis数据库是使用C语言写的,然而其内部的字符串的存储却并不是使用传统的C语言字符串表示,而是使用一种名为简单动态字符串(Simple Dynamic String,SDS) 的抽象数据类型。 首先我们来对SDS有一个大概的认识 如果我们客户端执行如下命令 127.0.0.1...

2018-01-05 11:20:27 1044 0

原创 探究常用类的hashCode生成规则

在Java的Object 类中提供了hashCode() 方法,这样会将拥有相同hashCode 的对象放在同一个桶中,这样的话就会很好的我们查询的速度。 更多参考:http://blog.csdn.net/zhangyuan19880606/article/details/51240372这里...

2018-01-02 19:50:40 2190 1

原创 Effective Java -- 重写equals方法时总要重写hashCode方法

在Java的Object 的规范中,有一点说的是—— 相等的对象必须有相等的散列码(hashCode)通俗的说就是如果两个对象通过equals() 方法比较得到的结果是相等的,那么这两个对象的hashCode 就一定是相等的。如果我们重写了一个对象的equals() 方法的时候没有重写其相应的h...

2018-01-02 16:49:26 273 0

原创 Effective Java -- 重写equals方法的通用约定(二)

这篇博客承接上一篇博客,我们来讲讲重写equals() 方法时候要满足的性质——传递性用通俗的话来解释传递性就是说:如果A等于B,然后B等于C,那么我们就可以说A等于C以下我们来举出一个反面例子来帮助理解一下传递性的体现首先我们有一个Point 类该类有横纵坐标的属性(x和y),并且重写了equa...

2018-01-02 09:47:11 450 0

原创 Effective Java -- 重写equals方法的通用约定(一)

equals() 方法是Object 类的一个非final 方法,在重写改类的时候我们应该遵循一下五种通用约定: 自反性:对于任何的非null 的引用值 x ,那么 x.equals(x) 的返回值一定为true。 对称性:对于任何的非空的引用值 x 和y ,则x.equals(y) 和 y.eq...

2017-12-17 09:51:49 317 0

原创 第一次使用LoadRunner时遇到的问题

记录一下第一次使用LoadRunner时遇到的问题安装LoadRunner `Windows 10 + IE11` 装好之后录屏的时候显示`0 Event` ,不要尝试去解决了,试了一天都没解决。请在`Windows 7 + IE8(9)` 上安装该程序,然后就可以愉快的录屏了。 报错—cann...

2017-11-29 10:18:21 1736 0

原创 Effective Java -- 避免使用终结方法

本文是 《Effective Java Second Edition》第7条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激! 一下使用的JVM参数为-Xmx5m -Xmn5m。 首先我们要弄清楚什么是终结方法(finalizer)? 终结方法是我们Object 类中...

2017-11-24 11:13:54 322 0

原创 用PLSQL中的UTL_FILE包来读写文件

我们知道PLSQL是一门非常强大的语言,上次有用这们语言做过发送邮件的程序,今天我们来看一下,如何用PLSQL来操作文件。首先我们使用管理员账号来创建一个路径,并将这个路径进行授权给相应的用户。CREATE OR REPLACE directory file_dir AS 'D:\tes...

2017-11-22 16:54:59 5220 0

原创 Spring中通过注解给返回值加状态信息

Spring中通过注解给返回值加状态信息,在JavaWeb开发中,我们时常需要给返回到前端的数据加上一些头部的状态信息,如下的code和msg{ "code": "SUCCESS", "msg": "操作成功&q...

2017-11-21 10:54:09 2994 0

原创 Java的弱引用—WeakHashMap

在《Effective Java》中的p23页有涉及到WeakHashMap的相关知识,在这篇文章中做一个总结以及介绍一下相关知识。在这里我们分成三个部分来说明一下,这只是我自己参看JDK源码和上网搜索资料得到的结果,如有错误,欢迎指出,我不胜荣幸。WeakHashMap和HashMap有什么不同...

2017-11-18 15:25:07 1207 0

原创 有关MyBatis中的主键设置问题

我们知道在往数据库插入数据的时候,大多时候会要求数据自动给我们设置一个唯一的主键。 比如MySql中的自增主键和UUID(),Oracle中的Sequence和SYS_GUID()都是用来生成唯一主键的。那么在MyBatis中要怎样来使用相应数据库中的特性来设置主键呢?下面的例子中,我们使用Us...

2017-11-17 11:14:11 1153 0

原创 在SpringMVC框架中实现文件上传和下载

在实际开发过程中,尤其是web项目开发,文件上传和下载的需求的功能非常场景,比如说用户头像、商品图片、邮件附件等等。其实文件上传下载的本质都是通过流的形式进行读写操作,而在开发中不同的框架都会对文件上传和下载有或多或少的封装,这里就以Spring MVC环境中文件的上传为例,讲解Spirng MV...

2017-11-15 22:33:41 543 0

原创 Effective Java -- 消除过期的对象引用

本文是 《Effective Java Second Edition》第6条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激!我们来用一段通俗易懂的话来描述什么是过期的对象引用 在我们的程序中,有一些对象我们程序员已经非常明确的知道其不会再被使用,由于还存在被引用(我们知道如...

2017-11-12 09:54:46 475 0

原创 在IDEA上用Weblogic运行Web程序的小记

开发环境 操作系统:Window 10 编译器:IntelliJ IDEA 14.0.2 服务器:Weblogic Server 10.3.5.0[注].默认有使用tomcat经验和对weblogic服务器的一些基本概念(如Domain等)有了解。首先我们需要创建一个Web Applicat...

2017-11-10 17:35:30 8622 0

原创 从HttpServletRequest中读取文件内容

这里介绍如何利用表单来将文件传输到服务器。首先我们的前台jsp页面的源码如下,从HttpServletRequest中读取文件内容,判断上传的文件的编码import java.io.IOException; import javax.servlet.ServletException; import...

2017-11-09 11:19:33 5034 1

原创 谈谈Java中的自动装箱和拆箱

自动装箱:基本类型转化为复杂数据类型。反之,自动拆箱就是编译器自动将我们的复杂数据类型转化为基本数据类型。这篇博客中我们使用基本数据类型int和复杂数据类型Integer。首先我们来看下面的例子: Integer a=10; //自动装箱 int b=a;...

2017-11-07 22:23:40 264 0

原创 Effective Java -- 避免创建不必要的对象

本文是 《Effective Java Second Edition》第5条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激!首先我们来看一下一个极端的方面例子String str=new String("string");这句话每次运行的时候都会创建一个S...

2017-11-02 09:51:37 760 0

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