摘要: 1、JVM的结构: JVM主要由类加载器子系统、运行时数据区(内存空间)、执行引擎以及本地方法接口等组成。其中运行时数据区又由方法区、堆、Java栈、PC寄存器、本地方法栈组成。 从上图中还可以看出,在内存空间中方法区和堆是所有Java线程共享的,而Java栈、本地方法栈、PC寄存器则由每个线程私有 阅读全文
posted @ 2016-10-01 22:37 Hesier 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 一个数n的二进制中1的个数 & 快速判断一个数是否是2的幂次方 A + B 问题 A + B 问题 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。 分析: 异或运算^ 与运算 & 加法运算<考虑进位> 加法运算<不考虑进位> 0 ^ 0 = 0 0 & 0 = 0 0 + 0 = 阅读全文
posted @ 2016-09-27 17:45 Hesier 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题目描述:查找数组中最小的k个数。 思路: (1)维护k个元素的最大堆,即用容量为k的最大堆存储最先遍历到的k个数,并假设它们即是最小的k个数,建堆费时O(k)后,有k1<k2<...<kmax(kmax设为大顶堆中最大元素)。继续遍历数列,每次遍历一个元素x,与堆顶元素比较,x<kmax,更新堆( 阅读全文
posted @ 2016-09-22 00:09 Hesier 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Question:在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? Answer:在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多 阅读全文
posted @ 2016-09-20 23:42 Hesier 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 负载均衡 (1)HTTP重定向负载均衡 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标。例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同 阅读全文
posted @ 2016-09-20 23:11 Hesier 阅读(208) 评论(0) 推荐(0) 编辑
摘要: Comparable对实现它的每个类的对象进行整体排序。这个接口需要类本身去实现。若一个类实现了Comparable 接口,实现 Comparable 接口的类的对象的 List 列表 ( 或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,实现 Comp 阅读全文
posted @ 2016-09-20 15:30 Hesier 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 概述 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件 阅读全文
posted @ 2016-09-20 13:44 Hesier 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 抽象类和接口 抽象类:只要包含一个抽象方法的类就必须被声明为抽象类,抽象类可以声明方法的存在而不去实现它,被声明为抽象的方法不能包含方法体。抽象类的子类为父类中的所有抽象方法提供具体的实现,否则它们也是抽象类。抽象类的成员变量默认为default,当然也可以被定义为private, protecte 阅读全文
posted @ 2016-09-20 00:33 Hesier 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Java创建对象的方法: 阅读全文
posted @ 2016-09-20 00:24 Hesier 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 代理模式分为静态代理和动态代理。静态代理是由程序猿创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理是在程序运行时,通过运用反射机制动态的创建而成。 静态代理 1、RealSubject 是委托类,Proxy 是代理类;2、Subject 是委托类 阅读全文
posted @ 2016-09-19 23:39 Hesier 阅读(141) 评论(0) 推荐(0) 编辑