- 博客(148)
- 收藏
- 关注
转载 Java并发之AQS详解
转载自:http://www.cnblogs.com/waterystone/p/4920797.html一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的...
2019-04-29 11:39:13
272
转载 CPU缓存一致性协议MESI,memory barrier和java volatile
转载自:https://www.wowodx.com/xinxiyujisuankexue/7fcf3737d630412fa3717ccc39966196.htmlMESI协议MESI协议是一个被广泛使用的CPU缓存一致性协议。我们都知道在CPU中存在着多级缓存,缓存级别越低,容量就越小,速度也越快。有了缓存,CPU就不需要每次都向主存读写数据,这提高了CPU的运行速度。然而,在多核CP...
2019-04-17 11:27:04
1257
转载 TIME_WAIT累积与端口耗尽
转载自:http://www.708luo.com/posts/2017/05/tcp-local-port-exhausted/最近在压测的时候遇到一个问题,python requests库在发起HTTP请求的时候,报错:Failed to establish a new connection errno 99。查了一下,这和错误是因为本地TCP端口耗尽导致的。因为之前通过打开tcp_times...
2018-06-27 11:49:29
4951
3
转载 ngnix负载均衡
转载自:点击打开链接本节就聊聊采用Nginx负载均衡之后碰到的问题:Session问题文件上传下载通常解决服务器负载问题,都会通过多服务器分载来解决。常见的解决方案有:网站入口通过分站链接负载(天空软件站,华军软件园等)DNS轮询F5物理设备Nginx等轻量级架构那我们看看Nginx是如何实现负载均衡的,Nginx的upstream目前支持以下几种方式的分配
2017-05-10 09:29:02
820
转载 关于java中静态变量初始化
题目如下:[java] view plain copypublic class Test{ private static Test tester = new Test(); //step 1 private static int count1; //step 2 priva
2017-04-12 13:54:57
1595
转载 关于不同浏览器对URL编码的分析
先来看看三个url: url1. http://hi.baidu.com/爱宝的妍 url2. http://hi.baidu.com/%E7%88%B1%E5%AE%9D%E7%9A%84%E5%A6%8D (UTF-8 编码) url3. http://hi.baidu.com/%B0%AE%B1%A6%B5%C4%E5%FB (GBK 编码) 这三个url指向
2017-04-12 11:08:45
1578
原创 CGLIB代理
目标类:package proxy;/** * Created by * * @date 2017-03-28 11:54. */public class TargetClass{ public void printA() { System.out.println("print A"); } public void printB()
2017-03-30 11:51:12
546
转载 jdk动态代理实现原理
关于JDK的动态代理,最为人熟知要可能要数spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。那么,什么是JDK的动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。那么JDK是如何生成动态代
2017-03-29 17:43:46
484
转载 spring实例化bean的方式
spring实例化bean的方式 别闹了 2015-05-24 原文1.使用类构造器实现实例化(bean的自身构造器)2.使用静态工厂方法实现实例化 id = "personService" class = "cn.itcast.OrderFactory" factory-method = "createOrder"/> public c
2017-03-28 10:36:16
369
转载 jenkins学习
转载自:http://zhuliang1984723.iteye.com/blog/2157471这篇文章大概写于三个月前,当时写了个大纲列表,但是在优快云上传资源实在不方便,有时上传了莫名审核不通过,如果以前有人上传过,也会导致上传失败。现在把之前工作中找到的好东西和各位分享。现在不搞这些了,也算是个归档吧。内容主要涉及Hudson/Jenkins的使用,维护,以及插件开发,开发的
2016-12-07 10:18:55
1594
转载 HashMap实现原理分析
转载自:http://blog.youkuaiyun.com/vking_wang/article/details/14166593HashMap实现原理分析标签: HashMap2013-11-05 15:23 141297人阅读 评论(68) 收藏 举报 分类:【Java SE】(32) 版权声明:本文为博主原创文章,未经博主允许不得转载。
2016-12-02 11:06:46
420
原创 java类中的静态变量是什么时候初始化的
我们知道一个类(class)要被使用必须经过装载,连接,初始化这样的过程。下面先对这三阶段做一个简单的描述,之后会结合一个简单的例子来说明java中类的初始化过程。在装载阶段,类装载器(Bootstrap ClassLoader 或者用户自定义的ClassLoader) 把编译形成的class文件载入内存,创建类相关的Class对象,这个Class对象封装了我们要使用的类的类型信息。
2016-11-09 10:24:05
21490
3
转载 盒子模型 box-sizing中content-box和border-box
盒子模型CSS中有一种基础设计模式叫盒模型,盒模型定义了Web页面中的元素中如何来解析。CSS中每一个元素都是一个盒模型,包括html和body标签元素。在盒模型中主要包括width、height、border、background、padding和margin这些属性,而且他们之间的层次关系可以相互影响,来看一张盒模型的3D展示图:(单击可放大)从图中可以
2016-11-03 09:57:56
2407
原创 关于margin-top溢出父节点元素的处理方法
给子元素margin-top时,若这个子元素前面没有其他内容,这个margin-top值会应用到父元素上解决方案,给父元素设置:before #content{ height: 80px; width: 100%; background: red; } #header{ height: 60px; width: 100%; backgr
2016-11-02 16:33:32
5180
转载 Java中字符串内存位置浅析
Java中字符串内存位置浅析前言之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来
2016-10-28 14:49:38
357
原创 微信网页开发样式库
https://mp.weixin.qq.com/wiki/2/ae9782fb42e47ad79eb7b361c2149d16.html#Progress
2016-10-25 15:12:28
881
原创 微信小程序开发文档位置
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1474632113_xQVCl&token=&lang=zh_CN
2016-10-19 10:42:46
454
原创 js数组随机排序
function randomsort(a, b) { return Math.random()>.5 ? -1 : 1; //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 } var arr = [1,2,3,4]; var arr2 = arr.sort(randomsort); alert(arr2);
2016-10-11 17:51:22
610
原创 关于tomcat classloader的几篇文章
http://blog.youkuaiyun.com/liweisnake/article/details/8470285http://www.cnblogs.com/xing901022/p/4574961.html
2016-10-10 13:55:44
290
转载 深入分析ClassLoader工作机制
//转载自【深入理解java web技术内幕】ClassLoader类结构分析:我们经常会用到或者扩展ClassLoader,主要会用到一下几个方法,以及他们的重载方法。defineClass(byte[],int,int);findClass(String);loadClass(String);resolveClass(Class)其中defineClas
2016-10-09 16:57:19
449
转载 css解析原理
转载自:http://www.imooc.com/code/4570CSS的解析原理在开始前,我们必须了解一个真相:为什么排版引擎解析 CSS 选择器时一定要从右往左析? 1.HTML 经过解析生成 DOM Tree(这个我们比较熟悉);而在 CSS 解析完毕后,需要将解析的结果与 DOM Tree 的内容一起进行分析建立一棵 Render Tree,最终用来进行绘
2016-09-29 16:48:12
680
转载 jQuery源码解析-----Deferred是什么?
Deferred是什么?前端项目的开发,不仅仅涉及到同步的概念,而且还会经常穿插各种异步的处理。一些大的操作,比如远程获取数据,操作一个大数据处理,这时候是不能马上获取到数据的。假设我们发送一个AJAX请求到接受到数据需要10秒钟,那么从发送到接受数据这个时间段中,前端的处理时间其实是空闲,但是对于开发者来说这种时间是不能浪费了,所以我们可以在10秒钟做很多同步的处理,同时等待异步
2016-09-22 10:05:34
523
转载 jQuery源码分析----Data类设计
转载自:http://www.imooc.com/code/3464Data类的设计我们看看Data类是如何构建这个缓存池的:(1)先在jQuery内部创建一个cache对象{}, 来保存缓存数据。 然后往需要进行缓存的DOM节点上扩展一个值为expando的属性function Data() { Object.defineProperty(th
2016-09-20 16:20:58
390
转载 jQuery源码解析-----jQuery数据缓存系统
//jQuery缓存系统静态方法与实例方法的区别jQuery.data(ele)与$(ele).data()这两个函数都是用来在元素上存放数据,也就是平时所说的数据缓存,都返回jQuery对象,初学的时候很容易让人混淆,尤其是给dom元素添加缓存数据的时候。简单的来说:1.jQuery.data()可以实现为dom元素或js对象添加缓存2.$("ele").data()实是对前
2016-09-20 14:23:44
377
转载 jQuery源码解析----回调函数"memory"场景的实现
//memory的设计memory:包吃以前的值,将添加到这个列表的后面的最新的值立即执行调用任何回调。回调函数是从异步队列Deferred分离出来的,所以很多的接口设计是为了契合Deferred接口,memory用的很多,这个缓存的设计这里提及一下主要是用来实现Deferred的异步收集与pipe管道风格的数据传递的,具体在Deferred有详解,这里大概了解一下作用范围。memor
2016-09-20 10:50:47
390
转载 jQuery源码解析---jQuery回调模块的结构
jQuery回调模块结构整个$.Callbacks的源码很少,它是一个工厂函数,使用函数调用(非new,它不是一个类)创建对象,它有一个可选参数flags用来设置回调函数的行为,对外的接口也就是self的返回。jQuery.Callbacks()的API列表如下:callbacks.add() :回调列表中添加一个回调或回调的集合。callbacks
2016-09-19 17:44:46
320
原创 JQuery源码解析---jQuery回调对象
//jquery回调对象jquery.Callbacks一般开发者接触的很少的,虽然jQuery开发者提供了外部接口调用,但是$.Callbacks()模块的开发目的是为了给内部$.ajax()和$.Deferred()模板提供统一的基本功能组件。它可以用来作为类似基础定义的新组件的功能。jQuery.Callbacks是jquery在1.7版本之后加入的,是从1.6版本中的_Defe
2016-09-19 15:16:51
402
转载 jquery源码解析---理解观察者模式
理解观察者模式讲解jQuery回调对象之前,我们有必要先理解其背后的设计思想 - “观察者模式”。观察者模式 (pub/sub) 的背后,总的想法是在应用程序中增强松耦合性。并非是在其它对象的方法上的单个对象调用。一个对象作为特定任务或是另一对象的活动的观察者,并且在这个任务或活动发生时,通知观察者。观察者也被叫作订阅者(Subscriber),它指向被观察的对象,既被观察
2016-09-19 11:54:10
907
原创 Jquery源码解析---利用队列来实现函数的顺序执行
//利用队列来实现函数的顺序执行function test(list,callback){ var task; task = list.shift(); if(task){ task(); } if(list.length > 0){ arguments.callee(list,callback); }else{ callback(); }}var list
2016-09-19 11:23:34
1930
转载 jquery源码解析----each迭代器
jQuery的each迭代器jQuery的each方法从使用上就要分2种情况:☑ $.each()函数☑ $(selector).each()$.each()函数和$(selector).each()是不一样的,后者是专门用来遍历一个jQuery对象的,是为jQuery内部服务的。$.each()函数可用于迭代任何集合,无论是“名/值”对象(JavaScrip
2016-09-18 11:20:41
578
转载 jQuery源码解析---get与eq的区别
get与eq的区别.eq() 减少匹配元素的集合,根据index索引值,精确指定索引对象。.get() 通过检索匹配jQuery对象得到对应的DOM元素。同样是返回元素,那么eq与get有什么区别呢?eq返回的是一个jQuery对象,get返回的是一个DOM对象。举个例子:$( "li" ).get( 0 ).css("color", "red"); //错误
2016-09-14 15:34:21
713
转载 jQuery源码分析---仿栈与队列的操作
转载自:http://www.imooc.com/code/3414仿栈与队列的操作jQuery既然是模仿的数组结构,那么肯定会实现一套类数组的处理方法,比如常见的栈与队列操作push、pop、shift、unshift、求和、遍历循环each、排序及筛选等一系的扩展方法。jQuery对象栈是一个便于Dom的查找,提供的一系列方法,jQuery可以是集合元素,那么我
2016-09-14 14:40:38
443
转载 jquery源码解析----回溯处理的设计
回溯处理的设计 在这一小节我将会带领你们了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能。关于jQuery对象的包装var $aaron = $("aaron");通过对sizzle的分析,我们可以得知Query选择器最终都是通过DOM接口实现取值的, 但是通过jQu
2016-09-14 11:25:51
526
转载 jQuery源码学习---插件接口的设计
如果jQuery没有插件接口的设计,那么他就像一个光杆司令没有士兵,就是没有手下,只有自己一个封闭的城堡。因此jQuery城堡需要设计一个大门--插件接口,从而打开大门开始招兵买马。当然jQuery除了获得“开发者社区”的大力支持外,也有很多公司纷纷对它投出了橄榄枝,这也是它成功的关键。基于插件接口设计的好处也是颇多的,其中一个最重要的好处是把功能从主体框架中剥离出去,降低了框架的复杂度。
2016-09-14 10:37:10
620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人