上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 33 下一页

2017年8月18日

webpack 知识点

摘要: output.filename 注意此选项被称为文件名,但是你还是可以使用像 "js/[name]/bundle.js" 这样的文件夹结构。 注意,此选项不会影响那些「按需加载 chunk」的输出文件。对于这些文件,请使用 output.chunkFilename 选项来控制输出。 output 中 阅读全文

posted @ 2017-08-18 17:51 cag2050 阅读(148) 评论(0) 推荐(0) 编辑

使用 extract-text-webpack-plugin 报错:Error: Chunk.entry was removed. Use hasRuntime()

摘要: 问题:使用 extract text webpack plugin 报错:Error: Chunk.entry was removed. Use hasRuntime() 解决:先运行npm uninstall,将 extract text webpack plugin 卸载,再执行 npm ins 阅读全文

posted @ 2017-08-18 17:29 cag2050 阅读(339) 评论(0) 推荐(0) 编辑

file-loader 与 url-loader 的区别

摘要: url loader是对file loader的一个封装,比如webpack中对图片的加载器配置 这样在小于8K的图片将直接以base64的形式内联在代码中,可以减少一次http请求。 如果文件大小大于限制,将转为使用 file loader,所有的查询参数也会透传过去。 阅读全文

posted @ 2017-08-18 17:08 cag2050 阅读(280) 评论(0) 推荐(0) 编辑

FormData 知识点

摘要: 通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因此可以独立于表单使用。 如果你把表单的编码类型设置为multipart/form data ,则通过FormData传输的数据格式和表单通过submit() 方法传输的数据格式相 阅读全文

posted @ 2017-08-18 10:57 cag2050 阅读(245) 评论(0) 推荐(0) 编辑

vue 文件中的注释

摘要: 在每个代码块内,注释的时候,需要使用各自语言的注释语法去注释(HTML、CSS、JavaScript、Jade 等)。在文件最顶部注释的时候用HTML的注释语法:<!— 在这里写注释的内容 。 html 注释: pug(html) 注释:https://pugjs.org/zh cn/languag 阅读全文

posted @ 2017-08-18 09:53 cag2050 阅读(68882) 评论(1) 推荐(1) 编辑

uml 知识点

摘要: Unified Modeling Language (UML)又称统一建模语言或标准建模语言 阅读全文

posted @ 2017-08-18 00:14 cag2050 阅读(165) 评论(0) 推荐(0) 编辑

2017年8月17日

JUC锁之 框架

摘要: 根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和"JUC包中的锁"。 同步锁 即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。 同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁 阅读全文

posted @ 2017-08-17 22:51 cag2050 阅读(151) 评论(0) 推荐(0) 编辑

JUC集合之 ConcurrentLinkedQueue

摘要: ConcurrentLinkedQueue介绍 ConcurrentLinkedQueue是线程安全的队列,它适用于“高并发”的场景。 它是一个基于链接节点的无界线程安全队列,按照 FIFO(先进先出)原则对元素进行排序。队列元素中不可以放置null元素(内部实现的特殊节点除外)。 Concurre 阅读全文

posted @ 2017-08-17 22:23 cag2050 阅读(119) 评论(0) 推荐(0) 编辑

JUC集合之 LinkedBlockingDeque

摘要: LinkedBlockingDeque介绍 LinkedBlockingDeque是双向链表实现的双向并发阻塞队列。该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入/删除);并且,该阻塞队列是支持线程安全。 此外,LinkedBlockingDeque还是可选容量 阅读全文

posted @ 2017-08-17 22:20 cag2050 阅读(161) 评论(0) 推荐(0) 编辑

JUC集合之 LinkedBlockingQueue

摘要: LinkedBlockingQueue介绍 LinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素。链接队列的吞吐量通常要高于基于数组的队列,但是在大多数并发应用程序中,其可预知的性 阅读全文

posted @ 2017-08-17 22:16 cag2050 阅读(127) 评论(0) 推荐(0) 编辑

JUC集合之 ArrayBlockingQueue

摘要: ArrayBlockingQueue介绍 ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。 线程安全是指,ArrayBlockingQueue内部通过“互斥锁”保护竞争资源,实现了多线程对竞争资源的互斥访问。而有界,则是指ArrayBlockingQueue对应的数组是有界 阅读全文

posted @ 2017-08-17 22:13 cag2050 阅读(125) 评论(0) 推荐(0) 编辑

JUC集合之 ConcurrentSkipListSet

摘要: ConcurrentSkipListSet介绍 ConcurrentSkipListSet是线程安全的有序的集合,适用于高并发的场景。 ConcurrentSkipListSet和TreeSet,它们虽然都是有序的集合。但是,第一,它们的线程安全机制不同,TreeSet是非线程安全的,而Concur 阅读全文

posted @ 2017-08-17 22:10 cag2050 阅读(201) 评论(0) 推荐(0) 编辑

JUC集合之 ConcurrentSkipListMap

摘要: ConcurrentSkipListMap介绍 ConcurrentSkipListMap是线程安全的有序的哈希表,适用于高并发的场景。 ConcurrentSkipListMap和TreeMap,它们虽然都是有序的哈希表。但是,第一,它们的线程安全机制不同,TreeMap是非线程安全的,而Conc 阅读全文

posted @ 2017-08-17 22:04 cag2050 阅读(230) 评论(0) 推荐(0) 编辑

弹性盒子布局(display:flex)知识点

摘要: 设为 Flex 布局以后,子元素的float、clear和vertical align属性将失效。 阅读全文

posted @ 2017-08-17 16:20 cag2050 阅读(173) 评论(0) 推荐(0) 编辑

2017年8月15日

js图片前端预览之 filereader 和 window.URL.createObjectURL

摘要: js图片前端预览,有2种方法: 1. FileReader 1. window.URL.createObjectURL FileReader 例子 vue 使用 element ui 的代码: window.URL.createObjectURL 例子 FileReader.readAsDataUR 阅读全文

posted @ 2017-08-15 16:13 cag2050 阅读(601) 评论(0) 推荐(0) 编辑

2017年8月10日

JUC集合之 ConcurrentHashMap

摘要: ConcurrentHashMap介绍 ConcurrentHashMap是线程安全的哈希表。 HashMap, Hashtable, ConcurrentHashMap之间的关联如下: 1. HashMap是非线程安全的哈希表,常用于单线程程序中。 2. Hashtable是线程安全的哈希表,它是 阅读全文

posted @ 2017-08-10 01:14 cag2050 阅读(241) 评论(0) 推荐(0) 编辑

Thread.currentThread()与this的区别

摘要: Thread.currentThread()与this的区别: 1. Thread.currentThread()方法返回的是对当前正在执行的线程对象的引用,this代表的是当前调用它所在函数所属的对象的引用。 2. 使用范围: Thread.currentThread()在两种实现线程的方式中都可 阅读全文

posted @ 2017-08-10 00:23 cag2050 阅读(259) 评论(0) 推荐(0) 编辑

2017年8月9日

JUC集合之 CopyOnWriteArraySet

摘要: CopyOnWriteArraySet介绍 它是线程安全的无序的集合,可以将它理解成线程安全的HashSet。有意思的是,CopyOnWriteArraySet和HashSet虽然都继承于共同的父类AbstractSet;但是,HashSet是通过“散列表(HashMap)”实现的,而CopyOnW 阅读全文

posted @ 2017-08-09 23:47 cag2050 阅读(177) 评论(0) 推荐(0) 编辑

webpack 打包性能分析工具

摘要: 1. "webpack bundle analyzer" ,推荐使用 新版 vue cli (旧版按照新版的进行配置即可)已经集成该插件,在项目的 package.json 文件中注入如下命令,然后运行(npm run analyze),默认会打开 http://127.0.0.1:8888 作为展 阅读全文

posted @ 2017-08-09 14:07 cag2050 阅读(1734) 评论(0) 推荐(0) 编辑

npm 使用

摘要: npm 命令: 命令 | 作用 | npm init | 产生package.json文件 | 查看安装的module版本 | 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。 | 可以把全局安装的对应命令行程序更新至最新版。 命令 ,`[ script]` 是start 阅读全文

posted @ 2017-08-09 11:52 cag2050 阅读(116) 评论(0) 推荐(0) 编辑

npm 构建时,次要版本变化引起的问题

摘要: 问题:下载项目后,运行 npm install 或 yarn install,vue awesome swiper 做的功能显示不正常。 解决:从 "官方网站" 文件 README.md 中找到: package.json 版本写的是:^2.3.1,重新install后,变成2.6.x版本了,因此需 阅读全文

posted @ 2017-08-09 11:46 cag2050 阅读(185) 评论(0) 推荐(0) 编辑

AtomicStampedReference、AtomicMarkableReference 区别

摘要: AtomicMarkableReference 描述的是更加简单的是与否的关系,它的定义就是将数据变换为true 或 false,通常ABA问题只有两种状态,AtomicMarkableReference在处理是与否上面更加具有可读性; AtomicStampedReference是多种状态,并不便 阅读全文

posted @ 2017-08-09 00:48 cag2050 阅读(329) 评论(0) 推荐(0) 编辑

2017年8月8日

vue-cli 中的静态资源处理

摘要: 你会注意到在项目结构上我们有静态资源两个目录:src/assets 和 static/。它们之间有什么区别? 1. 通过webpack处理的资源 要回答这个问题,我们首先需要了解webpack如何处理静态资源。在 .vue组件中,你所有的html模板和CSS都会被vue html loader 和 阅读全文

posted @ 2017-08-08 11:55 cag2050 阅读(998) 评论(0) 推荐(0) 编辑

2017年8月7日

vue-cli 构建项目中 config/index.js 文件解读

摘要: ``` // see http://vuejs-templates.github.io/webpack for documentation. var path = require('path') module.exports = { build: { env: require('./prod.env'), index: path.resolve(__dirname, '../... 阅读全文

posted @ 2017-08-07 18:54 cag2050 阅读(256) 评论(0) 推荐(0) 编辑

webpack的3个路径配置项: assetsRoot、assetsSubDirectory、assetsPublicPath

摘要: 在 vue cli 构建模版的配置文件config.js中有assetsRoot,assetsSubDirectory和assetsPublicPath这三个路径配置项 “以当前根目录为项目目录,访问static/js/app.js” 阅读全文

posted @ 2017-08-07 18:52 cag2050 阅读(6561) 评论(0) 推荐(0) 编辑

Vue2 dist 目录下各个文件的区别

摘要: vue2 经过 2.2 版本升级后, 文件变成了 8 个: vue.common.js vue.esm.js vue.js vue.min.js vue.runtime.common.js vue.runtime.esm.js vue.runtime.js vue.runtime.min.js 瞬间 阅读全文

posted @ 2017-08-07 15:03 cag2050 阅读(473) 评论(0) 推荐(0) 编辑

DllPlugin、DllReferencePlugin 可以提取的第三方库列表

摘要: DllPlugin、DllReferencePlugin 可以提取的第三方库列表: 阅读全文

posted @ 2017-08-07 14:56 cag2050 阅读(626) 评论(0) 推荐(0) 编辑

JUC集合之 CopyOnWriteArrayList

摘要: CopyOnWriteArrayList介绍 它相当于线程安全的ArrayList。和ArrayList一样,它是个可变数组;但是和ArrayList不同的时,它具有以下特性: 1. 它最适合于具有以下特征的应用程序:List 大小通常保持很小,只读操作远多于可变操作,需要在遍历期间防止线程间的冲突 阅读全文

posted @ 2017-08-07 00:11 cag2050 阅读(182) 评论(0) 推荐(0) 编辑

2017年8月6日

JUC集合之 JUC中的集合类

摘要: 1. Java集合包 在“Java 集合系列01之 总体框架”中,介绍java集合的架构。主体内容包括Collection集合和Map类;而Collection集合又可以划分为List(队列)和Set(集合)。 1.List的实现类主要有: LinkedList, ArrayList, Vector 阅读全文

posted @ 2017-08-06 20:08 cag2050 阅读(975) 评论(0) 推荐(0) 编辑

JUC原子类之 原子操作数据类型

摘要: 根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ; 2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray 阅读全文

posted @ 2017-08-06 19:39 cag2050 阅读(198) 评论(0) 推荐(0) 编辑

JUC线程池之 Callable和Future

摘要: Callable 和 Future 简介 Callable 和 Future 是比较有趣的一对组合。当我们需要获取线程的执行结果时,就需要用到它们。Callable用于产生结果,Future用于获取结果。 1. Callable Callable 是一个接口,它只包含一个call()方法。Calla 阅读全文

posted @ 2017-08-06 17:31 cag2050 阅读(140) 评论(0) 推荐(0) 编辑

JUC线程池之 线程池拒绝策略

摘要: 1. 拒绝策略介绍 线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。 当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异常关闭。第二,任务数量超过线程池的最大限制。 线程池共包括4种拒绝策略,它们分别是:AbortPolicy, CallerRunsPolicy, Di 阅读全文

posted @ 2017-08-06 17:26 cag2050 阅读(276) 评论(0) 推荐(0) 编辑

JUC线程池之 线程池的5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED

摘要: 1. 线程池有5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED。 线程池状态定义代码如下: private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); 2.SHUTD 阅读全文

posted @ 2017-08-06 16:22 cag2050 阅读(1382) 评论(0) 推荐(0) 编辑

JUC线程池之 ThreadPoolExecutor简介

摘要: 1. ThreadPoolExecutor简介 ThreadPoolExecutor是线程池类。对于线程池,可以通俗的将它理解为"存放一定数量线程的一个线程集合。线程池允许若个线程同时允许,允许同时运行的线程数量就是线程池的容量;当添加的到线程池中的线程超过它的容量时,会有一部分线程阻塞等待。线程池 阅读全文

posted @ 2017-08-06 15:46 cag2050 阅读(167) 评论(0) 推荐(0) 编辑

JUC线程池之 线程池架构

摘要: 线程池的架构图如下: 1. Executor 它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnable 任务的对象。Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制。 它只包含一个函数接口: 2. 阅读全文

posted @ 2017-08-06 00:54 cag2050 阅读(149) 评论(0) 推荐(0) 编辑

java 多线程之 线程优先级和守护线程

摘要: 1. 线程优先级的介绍 java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于“低优先级线程”执行。 java 中有两种线程:用户线程和守护线程。可以通过isDaemon()方法来区别它们:如果返回false,则说明该线程是“用户线程”;否则就是“守护线程”。 用户线程 阅读全文

posted @ 2017-08-06 00:19 cag2050 阅读(119) 评论(0) 推荐(0) 编辑

java 中一些需要注意的知识点

摘要: 1. java数组的length属性是容量,而不是数组真实元素的个数; 1. 多线程中的interrupt()方法并不会终止处于“运行状态”的线程,它只是将线程的中断标记设为true。 1. juc线程池状态: 线程池处在SHUTDOWN状态时,不接收新任务,但能处理已添加的任务;调用线程池的shu 阅读全文

posted @ 2017-08-06 00:05 cag2050 阅读(136) 评论(0) 推荐(0) 编辑

2017年8月5日

java 多线程之 interrupt()和线程终止方式

摘要: 1. interrupt() 说明 interrupt()的作用是中断本线程。 本线程中断自己是被允许的;其它线程调用本线程的interrupt()方法时,会通过checkAccess()检查权限。这有可能抛出SecurityException异常。 如果本线程是处于阻塞状态:调用线程的wait() 阅读全文

posted @ 2017-08-05 23:46 cag2050 阅读(172) 评论(0) 推荐(0) 编辑

java 多线程之:join() 方法

摘要: 1. join()介绍 join() 定义在java.lang.Thread中。 join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。 阅读全文

posted @ 2017-08-05 22:38 cag2050 阅读(123) 评论(0) 推荐(0) 编辑

java 多线程之:sleep() 方法

摘要: 1. sleep()介绍 sleep() 定义在java.lang.Thread中。 sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/等于该休眠时间;在线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态 阅读全文

posted @ 2017-08-05 22:30 cag2050 阅读(245) 评论(0) 推荐(0) 编辑

上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 33 下一页

导航