
Java程序员面试
文章平均质量分 79
sbq63683210
这个作者很懒,什么都没留下…
展开
-
java程序员面试——java基础(1)集合
**java程序员面试——java基础(1)集合**1.HashMap实现原理?参数?原理:hashmap是数组和链表的结合体,数组每个元素存的是链表的头结点往hashmap里面放键值对的时候先得到key的hashcode,然后重新计算hashcode,(让1分布均匀因为如果分布不均匀,低位全是0,则后来计算数组下标的时候会冲突),然后与length-1按位与,计算数组出数组下标如果该下标对应原创 2016-06-02 20:38:04 · 693 阅读 · 0 评论 -
深入理解Java线程池
本文要解决的问题;线程池一般都是面试过程中常问的问题,本文总结一下线程池的一些基本内容。线程池的适用场景:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Ja原创 2016-08-19 16:45:30 · 1000 阅读 · 0 评论 -
Java关键字final、static总结
本文要解决的问题:对Java关键字Final和Static进行总结。一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。原创 2016-08-16 22:25:17 · 1044 阅读 · 0 评论 -
Bloom Filter 布隆过滤算法学习
BloomFilter——大规模数据处理利器 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(web crawler转载 2016-08-03 23:10:57 · 658 阅读 · 0 评论 -
PageRank算法简介及Map-Reduce实现
转自:http://www.cnblogs.com/fengfenggirl/PageRank对网页排名的算法,曾是Google发家致富的法宝。以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下PageRank算法的基本原理。一、什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(g转载 2016-08-03 19:41:11 · 1468 阅读 · 0 评论 -
浅析HashMap与ConcurrentHashMap的线程安全性
本文要解决的问题:最近无意中发现有很多对Map尤其是HashMap的线程安全性的话题讨论,在我的理解中,对HashMap的理解中也就知道它是线程不安全的,以及HashMap的底层算法采用了链地址法来解决哈希冲突的知识,但是对其线程安全性的认知有限,故写这篇博客的目的就是让和我一样对这块内容不熟悉的小伙伴有一个对HashMap更深的认知。哈希表在数据结构中有一原创 2016-06-15 11:14:06 · 21654 阅读 · 2 评论 -
ArrayList与LinkedList源码分析
本文要解决的问题:通过对ArrayList与LinkedList的源码进行分析,以便对这两种集合有更加深入的理解。ArrayList也叫数组列表,底层使用的数组实现的,严格来说是动态数组。为了简化,我将从以下几个方面对ArrayList进行分析,目录结构如下:ArrayList的原理源码分析ArrayList工作原理ArrayList工作原理原创 2016-06-15 13:31:18 · 1222 阅读 · 1 评论 -
守护进程详细解读
本文要解决的问题:详细解读一下守护进行的基本内容。守护进程概念守护进程也称精灵进程,是运行在后台的一种特殊进程。它独立于终端并且周期性执行某种任务或者等待某件事情的发生。守护进程是一种很有用的进程。比如很多的服务器都是以此方式运行在后台,等待客户端连接并处理相关问题的。系统中守护进程通常以d结尾标识。创建守护进程关键的一步是调用setsid函数创建一个新的会话,并使之成为控制进程。注:调用setsi原创 2016-07-23 15:42:11 · 510 阅读 · 0 评论 -
java程序员面试——Java并发编程知识点总结
1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。J2) 线程和进程有什么区别? 线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程转载 2016-06-12 12:16:36 · 2060 阅读 · 0 评论 -
java程序员面试——Java多线程总结
本文要解决的问题:主要对java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等做一下总结。首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分为原创 2016-06-12 12:12:51 · 731 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
十道海量数据处理面试题与十个方法大总结第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最原创 2016-06-08 09:48:44 · 11353 阅读 · 1 评论 -
一些常见的面试问题
一、Java基础1. String类为什么是final的。2. HashMap的源码,实现原理,底层结构。3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。4. 描述一下ArrayList和LinkedList各自实现和区别5. Java中的队列都有哪些,有什么区别。6. 反射中,Class.forName和classloade原创 2016-08-26 23:13:24 · 2284 阅读 · 1 评论