`
文章列表
1、Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件中,中间没有添加任何分隔符。        Class文件中只有两种数据类型:无符号数和表。无符号数可以描述数字、索引引用、数量值,或者按照UTF-8编码构成的字符串值;表是由多个无符号数或其他表作为数据项构成的复合数据类型。整个Class文件本质上就是一张表。   2、Class文件的构成 (1)魔数:0xCAFEBABE,位于Class文件的头4个字节。 (2)属性表:Slot是虚拟机为局部变量为分配内存所使用的最小单位。对于byte、char、float、int、shor ...
时间:2013-09-01 地点:车库咖啡(北京海淀区西大街48号海淀图书城步行街内) 主题:去哪儿网技术专场 链接:http://www.lamper.cn/party/current/   (一)《去哪儿网高可靠消息队列》 1、消息队列应用场景:    (1)广播通知(如缓 ...
时间:2013-08-31 地点:北京京仪大酒店 主题:后端技术架构设计与优化 备注:第19期阿里技术沙龙 链接:http://club.alibabatech.org/salon_detail.htm?salonId=39 (一)《天猫后端技术架构优化实践》(关键词:优化) 1、优化概述:   (1)明确优化的度量指标:QPS、RT(Response Time) 2、缓存条件:   (1)读比写多得多;   (2)查询条件足够简单,不能在查询上就耗费太多时间;  
1、案例:      (1)集群间同步导致的内存溢出。 使用JBossCache这种集群缓存来同步,构建全局缓存。可以允许读操作频繁,因为数据在本地内存有一份副本,读取的动作不会耗费多少资源,但不应当有过于频繁的写操作,这会带来很大的网络同步的开销。 (2)  堆外内存导致的溢出错误。  Direct Memory区的内存溢出。Direct Memory不能像新生代和老年代那样,发现空间不足就通知垃圾回收器进行垃圾回收,它只能等待Full GC时“顺便”帮它进行清理。否则,它只能等到抛出内存溢出异常时,先catch掉,再在catch块里面“大喊”一声:”System.gc()!”。要 ...
1、判断对象是否存活的算法    (1)引用计数算法:对象中添加一个引用计数器,有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1。计数器的值为0的对象就是不可能再被使用的。(Python、微软的COM技术、Squirrel等使用此算法进行内存管理)。缺点在于难以解决对象之间的相互循环引用问题。    (2)根搜索算法:从一系列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。(Java、C#、Lisp等使用此算法)   2

PPT技巧

1、肢体语言: (1)脱稿; (2)要有面对面的眼神交流。眼神扫射,但要和目标人群和有沟通欲的听众交流; (3)演讲过程中多用手势,并且走动。 2、PPT的结构 总分总。最前面有提纲,最后面有总结,即使重要人物来晚了,或者中途离场也知道主要内容; 3、常用技巧: (1)PowerPoint 2007的工具:smartArt; (2
1、Java内存模型        Java包括内存模型规定了所有的变量(这里的变量与java编程中的变量略有区别,它包括了实例字段、静态字段和构成数据对象的元素,但不包括局部变量和方法参数,因为后者是线程私有的,不会被共享)都存储在主内存中,此外,每个线程还有自己的工作内存。 线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝。线程对变量的所有操作都在工作内存中进行,不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递都需要主内存来传递。线程、主内存、工作内存三者的交互关系如下图所示。          主内存、工作内存的划分与java堆、栈、方法区的划分不 ...
  1、Java虚拟机运行时的数据区域,如下图所示。       (1)  程序计数器     每个线程都有一个独立的程序计数器,该内存区域不会出现OutOfMemoryError。 (2)  Java虚拟机栈 线程私有,生命周期与线程相同。虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。 局部变量表存放了编译期可知的各种基本数据(boolean、byte、char、short、 ...

CDN介绍

    博客分类:
  • web
1、CDN是一种组合技术,包括源站、缓存服务器、智能DNS、客户端等几个部分。 http://wenku.baidu.com/view/98978ded0975f46527d3e101.html
下篇主要讲如何用jetty插件在eclipse环境下运行web工程。 一、环境:   windows XP + eclipse3.6 + apache-maven-3.0.3 + jetty-maven-plugin8.0.0.M3   二、步骤: 在《Eclipse+Maven+jetty开发第一个web工程(上篇)》中已经介绍了如何创建web工程,接下来讲如下用jetty插件运行此工程。 1、pom.xml设置如下(注意这时选择的是80端口) <project xmlns="http://maven.apache.org/POM/4.0.0" xm ...
上篇主要讲如何用maven创建web工程。 一、环境:   windows XP + eclipse3.6 + apache-maven-3.0.3 + jetty-maven-plugin8.0.0.M3   二、步骤: 1. 打开eclipse。File→New…→other…选择Maven→Maven Project.   2、选择创建方式,设置workspace。 记着勾选红色的复选框:Create a simple project(skip archetype selection) .这样可以跳过复杂的maven设置。   3、工程配置。 主要包括四个方面,用 ...
13.1 集合接口 1. 使用迭代器Iterator进行访问时,元素被访问的顺序取决于集合类型。如果对ArrayList进行迭代,会从索引0开始,每迭代一次,索引值加1;如果是HashSet,那每个元素将会按照某种随机的次序出现。 (P558)   13.2 具 ...
4.2 使用现有类 1. 一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。 new操作符的返回值也是一个引用。 (P93) 2.所有Java对象都存储在堆中. (P94)    4.4 静态域和静态方法 1.static:属于类且不属于类对象的变量和方法。 (P112)   4.5 方法参数 1. Java采用的是值调用,即方法得到的是所有参数值的一个拷贝。 参数有两种:基本数据类型和对象引用。   (1). 一个方法不能修改一个基本参数类型的参数(即数据值和布尔型);   (2). 一个方法可以改变一个对象参数的状态;   (3).一个方法不能实现让对象参数引 ...
5.1 类、超类和子类 1. Java中,所有的继承都是公有继承。 2. 关键字this的两个作用:一是引用隐式参数,二是调用该类的其他构造器;关键字super的两个作用:一是调用超类的方法,二是调用超类的构造器。(P146) 3.多态:一个变量可以引用多种实际类型的现象;动态绑定:在运行时能够自动地选择调用哪个方法的现象;静态绑定:private、static、final方法或者构造器。 4 如果超类方法是public,子类方法一定要声明为public。否则,编译器会把它解释为试图降低访问权限,编译会报错(P152) 5 如果将一个类声明为final,只有其中的方法自动地成为fi ...
一、接口 1.接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现. (P204)   2.接口中的方法自动属于public,因为声明时可以不使用关键字public. 但是在实现接口时,必 须把方法声明为public,否则,编译器将视为类的默认访问属性(包可见性)(P205)   3.接口可以定义常量[color=red][b](自动设置为public static final)[/b][/color],但是绝不能含有实例域,也不能实现方法。-----可以将接口视为没有实例域的抽象类。   4.类与子类不符合“反对称”的规则时(如调用equals等方法),有两种解决方法 ...
Global site tag (gtag.js) - Google Analytics