1.线程锁
CopyOnWriteArrayList适用于写少读多的并发场景,为ArrayList的一种线程安全的变体
ReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,读与读之间可以并发执行。在读多写少的情况下可以提高效率
 
2.包装类
包装类的“==”运算在不遇到算术运算的情况下不会自动拆箱
包装类的equals()方法不处理数据转型
 
3.JVM虚拟机作用
虚拟机通过类加载器寻址和装载类文件
解释字节码为指令并执行
进行垃圾回收
提供与硬件交互的平台
 
4.抽象类和接口
抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰
接口是特殊的抽象类,可以省略abstract,不能用protected,但可以用abstract和public
 
5.网页无法连接,且不是40X和50X的错误类型,有哪些可能,并提出解决方案
1)由DNS错误导致的打不开网页,通常是由于DNS服务器自身问题,或者用户设定的dns服务器地址有误。
        解决方案:使用宽带上网的用户,可以使用ipconfig /flushdns命令来重新获取;
                         局域网内的用户,如果IE打不开网页,且看到DNS错误的提示,大多是网关设置出现问题,需要网管解决。
2)主机防火墙拦截。
        解决方案:关掉防火墙和杀毒软件。
3)浏览器设置了代理服务器。
       解决方案: 点击浏览器工具==》internet选项==》连接==》局域网设置,把代理服务器的勾去掉。
4)hosts文件被修改导致的IE打不开网页,基本上都是病毒引起的。hosts文件保存在c:\windows\system32\drivers\etc目录下,病毒经常修改这个文件,使得本机不能正常访问一些指定的网站。
      解决方案:下载杀毒软件去修复。
 
6.jvm设置
-Xmx:最大堆大小
-Xms:初始堆大小
-Xmn:年轻代大小
-XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值
年轻代5120m, Eden:Survivor=3,Survivor区大小=1024m(Survivor区有两个,即将年轻代分为5份,每个Survivor区占一份),总大小为2048m。
-Xms初始堆大小即最小内存值为10240m
 
7.面向对象的五个基本原则
单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。 
开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。 
Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。 
依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。 
接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口
即:
s( Single-Resposibility Principle ): 单一职责原则
o( Open-Closed principle ): 开放封闭原则
l( Liskov-Substituion Principle ): 里氏原则
i( Interface-Segregation Principle ): 接口隔离原则
d( Dependecy-Inversion Principle ): 依赖倒置原则
 
8卡特兰数
h(n)=C(2n,n)/(n + 1) (n=1,2,3,)
或等于       2n!
         -----------
          (n+1)!*n!
 
9.webservice
Webservice是跨平台,跨语言的远程调用技术;
它的通信机制实质就是xml数据交换;
它采用了soap协议(简单对象协议)进行通信
 
10 jdk 1.6垃圾收集器
G1收集器不属于