2017年8月4日

Referrer Policy 介绍

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

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

js 操作 cookie

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

posted @ 2017-08-04 14:11 cag2050 阅读(115) 评论(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 阅读(1348) 评论(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 阅读(893) 评论(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 阅读(486) 评论(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) 编辑

2017年8月3日

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

2017年8月2日

mysql 聚簇索引、非聚簇索引的区别

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

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

java 中的 hashcode

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

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

HTTP报头:通用报头,请求报头,响应报头和实体报头

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

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

http报头 Accept 与 Content-Type 的区别

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

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

Lock 和 synchronized 的区别

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

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

java 多线程知识点

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

posted @ 2017-08-02 10:45 cag2050 阅读(132) 评论(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 阅读(171) 评论(0) 推荐(0) 编辑

2017年8月1日

IdentityHashMap 与 HashMap 的区别

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

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

WeakHashMap 理解

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

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

2017年7月31日

vue-cli 项目构建性能分析工具

摘要: 修改package.json 启动 阅读全文

posted @ 2017-07-31 18:44 cag2050 阅读(723) 评论(0) 推荐(0) 编辑

vue-cli、webpack提取第三方库-----DllPlugin、DllReferencePlugin

摘要: 需要安装的插件有 extract text webpack plugin assets webpack plugin clean webpack plugin 配置文件 在 build 文件夹中新建 buildDll.js 在 build 文件夹中新建 webpack.dll.conf 修改webp 阅读全文

posted @ 2017-07-31 18:32 cag2050 阅读(1017) 评论(0) 推荐(0) 编辑

package.json 文件中的版本号

摘要: 版本号,格式:“主要版本,次要版本,补丁版本” 1. 指定版本:比如1.2.2,遵循“主版本,次要版本,补丁版本”的格式规定,安装时只安装指定版本。 2. 波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变主 阅读全文

posted @ 2017-07-31 16:13 cag2050 阅读(722) 评论(0) 推荐(0) 编辑

项目优化时间统计

摘要: Vue cli项目的Webpack2构建优化 针对vue cli(vue init webpack)构建的npm run build命令,优化方法 时间统计(在前一优化保留的情况下,计算的时间): 未优化前:131501ms,140447ms,126268ms,138763ms 开启webpack的 阅读全文

posted @ 2017-07-31 15:10 cag2050 阅读(401) 评论(0) 推荐(0) 编辑

2017年7月30日

http 301 和 302的区别

摘要: 301 永久重定向 301 重定向是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。 301 重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。 302 临时重定向 3 阅读全文

posted @ 2017-07-30 21:07 cag2050 阅读(315) 评论(0) 推荐(0) 编辑

node V8 的垃圾回收机制

摘要: 将变量设置为null意味着切断变量与它此前引用的值之间的连接。当垃圾收集器下次运行时,就会删除这些值并回收它们占用的内存。 阅读全文

posted @ 2017-07-30 20:36 cag2050 阅读(163) 评论(0) 推荐(0) 编辑

Array、ArrayList 区别

摘要: ArrayList可以算是Array的加强版,(对array有所取舍的加强)。 存储内容比较(可包含元素的类型不同、数组要求存储同种类型): Array数组可以包含基本类型和对象类型, ArrayList却只能包含对象类型。 但是需要注意的是:Array数组在存放的时候一定是同种类型的元素。Arra 阅读全文

posted @ 2017-07-30 16:37 cag2050 阅读(213) 评论(0) 推荐(0) 编辑

二分查找算法,java实现

摘要: 二分查找算法是在有序数组中用到的较为频繁的一种算法。 在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间复杂度为O(n),但二分查找算法则更优,因为其查找时间复杂度为O(log2 n)。 比如数组{0,1,2,3,4,5,6,7,8 9},查找元素6,用二分查找的 阅读全文

posted @ 2017-07-30 16:29 cag2050 阅读(185) 评论(0) 推荐(0) 编辑

Arrays、ArrayUtils 区别

摘要: Arrays java.util 包提供的静态类:java.util.Arrays 此静态类专门用来操作array ,提供搜索、排序、复制等静态方法。 ArrayUtils apache 提供的类:org.apache.commons.lang.ArrayUtils 阅读全文

posted @ 2017-07-30 15:38 cag2050 阅读(323) 评论(0) 推荐(0) 编辑

Collection与Collections,Array与Arrays的区别

摘要: Collection 和 Collections的区别 1. Collection 在Java.util下的一个接口,它是各种集合结构的父接口。继承与他的接口主要有Set 和List. 2. Collections java.util下的一个静态工具类,它包含有各种有关集合操作的静态方法。 提供一系 阅读全文

posted @ 2017-07-30 14:49 cag2050 阅读(359) 评论(0) 推荐(0) 编辑

(String)、toString、String.valueOf的区别

摘要: 在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。 常用的方法有 (String)[要转换的对象],[要转换的对象].toString(),String.valueOf([要转换的对象])等。 (String)[要转换的对象] 使用 阅读全文

posted @ 2017-07-30 14:38 cag2050 阅读(223) 评论(0) 推荐(0) 编辑

2017年7月29日

Vuejs项目的Webpack2构建优化

摘要: 最近在做的项目因为相对较大(打包有100多个chunk),在build构建的时候速度一直上不去,甚是烦恼。由于用的是vue cli的webpack2模板,一开始并没有想着要对其进行优化,一直觉得是webpack本身慢+硬件慢(在开发机上开发,内存和CPU都不是很强力)的原因。后来慢到实在受不了了,转 阅读全文

posted @ 2017-07-29 16:12 cag2050 阅读(394) 评论(0) 推荐(0) 编辑

2017年7月28日

webpack 的插件 DllPlugin 和 DllReferencePlugin

摘要: 在项目中,引入了比较多的第三方库,导致项目大,而每次修改,都不会去修改到这些库,构建却都要再打包这些库,浪费了不少时间。所以,把这些不常变动的第三方库都提取出来,下次 build 的时候不再构建这些库,这样既可大大缩短构建时间。那么要怎么去实现呢? 可以利用 webpack 的插件 DllPlugi 阅读全文

posted @ 2017-07-28 16:20 cag2050 阅读(395) 评论(0) 推荐(0) 编辑

webpack externals

摘要: 当我们想在项目中require一些其他的类库或者API,而又不想让这些类库的源码被构建到运行时文件中,这在实际开发中很有必要。此时我们就可以通过配置externals参数来解决这个问题: externals对象的key是给require时用的,比如require('react'),对象的value表 阅读全文

posted @ 2017-07-28 16:00 cag2050 阅读(238) 评论(0) 推荐(0) 编辑

2017年7月27日

java 的集合框架

摘要: java 中的集合分为 Collection 和 Map 两种接口,Collection是单列集合,Map是双列集合。 Collection单列集合:继承了Iterator接口所以具有了iterator()方法 ,该方法返回一个Iterator,这个接口具有 hasNext (),next(),re 阅读全文

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

jsp 中变量作用域:pageScope、requestScope、sessionScope、applicationScope

摘要: jsp 中,变量的作用域,一共有4种: pageScope:表示变量只能在本页面使用。 requestScope:表示变量能在本次请求中使用。 sessionScope:表示变量能在本次会话中使用。 applicationScope:表示变量能在整个应用程序中使用。 jsp 中写成 ${messag 阅读全文

posted @ 2017-07-27 11:32 cag2050 阅读(658) 评论(0) 推荐(0) 编辑

Spring MVC 向页面传值-Map、Model、ModelMap、ModelAndView

摘要: Spring MVC 向页面传值,有4种方式: ModelAndView Map Model ModelMap 使用后面3种方式,都是在方法参数中,指定一个该类型的参数。 Model Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。 ModelMap 阅读全文

posted @ 2017-07-27 11:20 cag2050 阅读(2205) 评论(0) 推荐(0) 编辑

java中<load-on-startup>含义

摘要: java中 load on startup 含义 java中的 load on startup 用于表示该servlet是否在servlet容器启动的时候加载。 示例: 其中:如果xx是负数或者没有指定,表示该servlet在被选择时才加载; 如果xx为正数或者为0,表示在servlet容器启动的时 阅读全文

posted @ 2017-07-27 11:06 cag2050 阅读(353) 评论(0) 推荐(0) 编辑

导航