08 2017 档案

JSON.stringify、JSON.parse、toJSON 区别
摘要:JSON.stringify 方法 将一个 JavaScript 值转换为一个 JSON 字符串 可以将数组、对象等转换后的 JSON 字符串,保存在 sessionStorage、localStorage 中。 JSON.parse 方法 解析一个JSON字符串,构造由字符串描述的JavaScri 阅读全文

posted @ 2017-08-28 16:32 cag2050 阅读(460) 评论(0) 推荐(0) 编辑

正则表达式 验证规则总结
摘要:正则表达式 验证规则总结: 姓名:可以有空格(\s)、•、· 1 20个字母或汉字 身份证验证:3种情况:数字15位,数字18位,数字17位加一个数字或X或x 手机号码验证: 输入的不是数字 等价关系: 符号 | 等价于 | \d | 0 9 \s | 空格 \w | 数字、26个英文字母或者下划线 阅读全文

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

commonJS模块规范 和 es6模块规范 区别
摘要:ES6 模块与 CommonJS 模块的差异 1. CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。 2. CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。 3. CommonJS 加载的是一个对象(即module.exports属性),该对象只有在脚本运 阅读全文

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

伪类(:)和伪元素(::)
摘要:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素 简而言之:伪类总是以一个冒号开头。伪元素通常以两个冒号开头。 在 CSS2 时代,伪元素和伪类均是以一个冒号开头的;在 CSS2.1 之后,为了对伪元素和伪类加以区分,规定伪类继续以一个冒号开头,而伪元素改为以两个冒号开头。 但是为了向 阅读全文

posted @ 2017-08-23 11:45 cag2050 阅读(193) 评论(0) 推荐(0) 编辑

webpack中require和import的区别
摘要:最佳选择是往commonjs方向靠拢,想尝试ES6的话就用import代替commonjs同步语法即可。 因此,代码中保持以下两种风格就好: 目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require 阅读全文

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

css 知识点
摘要:父div包含两个子div,移到一个div上另一个div一直显示且能点击上面的元素。 解决办法:为父div设置透明border,覆盖过两个子div。 text shadow是给文本添加阴影效果,box shadow是给元素块添加周边阴影效果。 CSS 是用来表现的,HTML 一切非正文的、装饰性的东西 阅读全文

posted @ 2017-08-22 19:33 cag2050 阅读(104) 评论(0) 推荐(0) 编辑

java io 知识点
摘要:io 阅读全文

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

webpack 遇到报错情况及解决
摘要:webpack2 报错:optimize.OccurenceOrderPlugin is not a function。 原因:上个版本拼写错误,少写了一个字母r,新版本修正过来了。要写成这样:OccurrenceOrderPlugin。 报错:This seems to be a pre buil 阅读全文

posted @ 2017-08-22 14:31 cag2050 阅读(329) 评论(0) 推荐(0) 编辑

js 逻辑的短路运算
摘要:&& 与运算 同时为true,才为true; 表达式1为false,不用看表达式2; || 或运算 有一个为true,就为true; 表达式1为true,不用看表达式2; &&: 表达式1 | 表达式2 | 结果 | | false | | false true | false | false tr 阅读全文

posted @ 2017-08-21 16:48 cag2050 阅读(221) 评论(0) 推荐(0) 编辑

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 阅读(341) 评论(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 阅读(246) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

弹性盒子布局(display:flex)知识点
摘要:设为 Flex 布局以后,子元素的float、clear和vertical align属性将失效。 阅读全文

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

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 阅读(602) 评论(0) 推荐(0) 编辑

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

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

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

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

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

posted @ 2017-08-09 23:47 cag2050 阅读(178) 评论(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 阅读(1735) 评论(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 阅读(187) 评论(0) 推荐(0) 编辑

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

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

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

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

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 阅读(6645) 评论(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) 编辑

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

posted @ 2017-08-06 20:08 cag2050 阅读(976) 评论(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 阅读(1390) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Referrer Policy 介绍
摘要:详情:https://imququ.com/post/referrer policy.html 阅读全文

posted @ 2017-08-04 16:14 cag2050 阅读(162) 评论(0) 推荐(0) 编辑

js 操作 cookie
摘要:显示cookie: 设置cookie: 阅读全文

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

顶级域名和子级域名之间的cookie共享和相互修改、删除
摘要:举例: js 设置 cookie: domain=cag.com 和 domain=.cag.com 是一样的,在浏览器cookie中,Domain都显示为 .cag.com。 就是说:以下2个语句是等价的。 主域名(www.cag.com) cookie 设置如下: name | value | 阅读全文

posted @ 2017-08-04 11:06 cag2050 阅读(1361) 评论(0) 推荐(0) 编辑

关于 Cookie-free Domains (为什么将静态图片,js,css存放到单独的域名?)
摘要:这篇文章对高性能web开发具有参考性:http://developer.yahoo.com/performance/rules.html 本文主要描述使用裸域名做网站主域名时,如何用子域名做 cookie free domains。 看站点优化的文章,很多建议将站点的静态文件(如图片、js、css 阅读全文

posted @ 2017-08-04 10:32 cag2050 阅读(896) 评论(0) 推荐(0) 编辑

cookie 知识点
摘要:cookie失效是由浏览器实现的,根据时间来控制,服务器端并不做cookie是否失效的验证。 某个cookie失效了浏览器发送请求时便不会带上它,服务器端自然就没有这个cookie了,所以对于服务器来讲,能获得的cookie都是有效的。 js 查看 cookie: js 设置 cookie: 阅读全文

posted @ 2017-08-04 10:20 cag2050 阅读(123) 评论(0) 推荐(0) 编辑

java 多线程之:yield() 方法
摘要:1. yield()介绍 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行! 2. y 阅读全文

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

java 多线程之:wait()、notify()、notifyAll()等方法
摘要:1. wait()、notify()、notifyAll()等方法介绍: 在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。 而notify()和notify 阅读全文

posted @ 2017-08-04 00:04 cag2050 阅读(294) 评论(0) 推荐(0) 编辑

java 多线程之:synchronized
摘要:1. synchronized原理 在java中,每一个对象有且仅有一个同步锁。这也意味着,同步锁是依赖于对象而存在。 当我们调用某对象的synchronized方法时,就获取了该对象的同步锁。例如,synchronized(obj)就获取了“obj这个对象”的同步锁。 不同线程对同步锁的访问是互斥 阅读全文

posted @ 2017-08-03 23:53 cag2050 阅读(169) 评论(0) 推荐(0) 编辑

高并发分布式系统中生成全局唯一Id汇总
摘要:详情链接:http://www.cnblogs.com/baiwa/p/5318432.html 阅读全文

posted @ 2017-08-03 17:38 cag2050 阅读(159) 评论(0) 推荐(0) 编辑

postman 中 form-data、x-www-form-urlencoded、raw、binary的区别
摘要:区别 1. form data: 就是http请求中的multipart/form data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content Type来表名文件类型;content disposition,用来说 阅读全文

posted @ 2017-08-03 17:21 cag2050 阅读(236) 评论(0) 推荐(0) 编辑

RESTful 知识点
摘要:REST(英文:Representational State Transfer,简称REST) 对于资源的具体操作类型,由HTTP动词表示。 常用的HTTP动词有下面五个(括号里是对应的SQL命令)。 还有两个不常用的HTTP动词。 在实际的做的时候,很多人却没有按照REST规范去做,原因有很多,比 阅读全文

posted @ 2017-08-03 17:01 cag2050 阅读(135) 评论(0) 推荐(0) 编辑

http 缓存机制
摘要:http 缓存机制,看这篇文章即可:https://www.cnblogs.com/slly/p/6732749.html 优先级从高到低分别是Pragma Cache Control Expires 需要注意的是,响应报文中Expires所定义的缓存时间是相对服务器上的时间而言的,其定义的是资源“ 阅读全文

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

chrome浏览器network面板出现:Provisional headers are shown 提示
摘要:一般来说,如果看到这个提示,说明这个请求并没有发送出去。 具体原因有多种: 1. 请求被某些扩展如 Adblock 拦截了 2. 请求被墙了 3. 走本地缓存或者 dataurl 的请求 4. client发送请求后,由于各种原因,比如网络延迟,server端逻辑错误,导致client端长时间未收到 阅读全文

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

mysql 聚簇索引、非聚簇索引的区别
摘要:索引分为聚簇索引和非聚簇索引。 以一本英文课本为例,要找第8课,直接翻书,若先翻到第5课,则往后翻,再翻到第10课,则又往前翻。这本书本身就是一个索引,即“聚簇索引”。 如果要找"fire”这个单词,会翻到书后面的附录,这个附录是按字母排序的,找到F字母那一块,再找到"fire”,对应的会是它在第几 阅读全文

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

java 中的 hashcode
摘要:在Java的Object类中有一个方法: 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。 hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet、HashMap以及HashTable。 阅读全文

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

HTTP报头:通用报头,请求报头,响应报头和实体报头
摘要:缓存控制优先级从高到低分别是Pragma Cache Control Expires 报头 每一个报头都是由 [名称 + ":" + 空格 + 值 + ] 组成。有四种不同类型的报头: 1. 通用报头:可用于请求,也可以用于响应,它是作为一个整体而不是特定的资源与事务相关联。 1. 请求报头:允许客 阅读全文

posted @ 2017-08-02 14:32 cag2050 阅读(1242) 评论(0) 推荐(0) 编辑

http报头 Accept 与 Content-Type 的区别
摘要:Accept属于请求头, Content Type属于实体头。 Http报头分为通用报头,请求报头,响应报头和实体报头。 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报头结构:通用报头|响应报头|实体报头 Accept代表发送端(客户端)希望接受的数据类型。 比如:Acc 阅读全文

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

Lock 和 synchronized 的区别
摘要:Lock 和 synchronized 的区别 1. Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现; 1. synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过 阅读全文

posted @ 2017-08-02 11:38 cag2050 阅读(145) 评论(0) 推荐(0) 编辑

java 多线程知识点
摘要:线程状态图 说明: 线程共包括以下5种状态。 1. 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法, 阅读全文

posted @ 2017-08-02 10:45 cag2050 阅读(133) 评论(0) 推荐(0) 编辑

docker 知识点
摘要:docker 教程:http://www.runoob.com/docker/docker-tutorial.html docker 仓库地址:https://store.docker.com/ docker run参数说明: docker run [OPTIONS] IMAGE [COMMAND] 阅读全文

posted @ 2017-08-02 09:31 cag2050 阅读(173) 评论(0) 推荐(0) 编辑

IdentityHashMap 与 HashMap 的区别
摘要:1. IdentityHashMap 中的 key 允许重复 1. IdentityHashMap 使用的是 == 比较 key 的值(比较内存地址),而 HashMap 使用的是 equals()(比较存储值) 1. IdentityHashMap 使用的是 System.identityHash 阅读全文

posted @ 2017-08-01 20:12 cag2050 阅读(260) 评论(0) 推荐(0) 编辑

WeakHashMap 理解
摘要:WeakHashMap 通过 expungeStaleEntries 这个函数的来实现:移除其内部不用的条目,从而达到自动释放内存的目的。 基本上只要对 WeakHashMap 的内容进行访问就会调用这个函数,从而达到清除其内部不再为外部引用的条目。 总结来说:WeakHashMap 并不是你啥也干 阅读全文

posted @ 2017-08-01 19:56 cag2050 阅读(134) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示