- 博客(8)
- 收藏
- 关注
原创 面试中常用的数据结构和算法
一、数据结构部分 1、数组和链表的区别 C++语言中可以用数组处理一组数据类型相同的数据,但不允许动态定义数组的大小,即在使用数组之前必须确定数组的大小。而在实际应用中用户使用数组之前有时无法准确确定数组的大小,只能将数组定义成足够大,这样数组中有些空间可能不被使用,从而造成内存空间的浪费。链表是一种常见的数据组织形式,它采用动态分配内存的形式实现。需要时...
2014-05-26 09:44:55 719
原创 Java容器Collections介绍
Java类库的集合类层次结构: 这个类包含了专门的静态方法来操作或者返回集合。它包含了多种算法来操作集合或者包装器,来返回一个新的特殊的集合和一些其他的东西。如果集合或者类对象提供给的是为null,则这个类的方法都抛出一个NullPoninterException。在这个类中也包含了破坏性的(destructive)算法,这些算法能够修改他们操作的集合,如果这...
2014-05-14 11:05:59 151
原创 Java容器分析之ConcurrentHashMap
ConcurrentHashMap是线程安全并且高效的HashMap。 为什么要使用ConcurrentHashMap? 线程不安全的HashMap,因为多线程环境下,使用它进行put操作会引起死循环,导致CPU利用率接近100%。所以在并发情况下不能使用HashMap。 效率低下的HashTable容器使用synchronized来保证线程安...
2014-05-12 14:34:49 145
Java高性能系列-(三)虚拟机致命错误处理
HotSpot VM的设计者们认为为它的使用者和开发者提供充分的信息来诊断和修复VM的致命错误是重要的。一个常见大的VM致命错误是OutOfMemoryError。另一个在Solaris和Linux平台常见的致命错误是分段错误。也就是Windows上所说的访问冲突错误。当这些致命的错误发生时,理解根本原因然后去修复它就是非常重要的。有时根本问题的解决会引起Java应用的改变,有时根...
2014-05-04 16:27:44 412
Java高性能系列-(一)VM生命周期
HotSpot VM Runtime负责启动和停止hotSpot VM。这篇文章简单介绍了一下一个Web应用的启动和停止。启动HotSpot VM的组件被称作启动器(launcher)。有许多HotSpot VM启动器,最常用的有Unix/Linux上的java 命令和Windows的java和javaw命令。启动器执行一系列的操作来启动HotSpot Vm,这些步骤总结如下:1、...
2014-04-29 15:15:14 176
Java语言实现一个链表
package test;public class LinkList { private static class Node{ int data; Node next; Node(int data){ this.data = data; this.next = null; } } Node head;//头结点 public Lin...
2014-04-25 17:09:42 196
Java HashMap的hash和indexFor函数
此文章,我们将一起了解一下hash和indexFor方法在hashmap内部起什么作用。hash和indexFor方法属于HashMap类,为什么JDK开发者在key对象已经有他自己的hashcode方法的情况下还需要另一个hash函数? 首先看一下hash和indexFor方法的代码: /** * Applies a supp...
2014-04-23 23:10:31 366
记录阿里内推面试经历---第一次面试经历,找工作的第一步
长达四十天的阿里内推面试终于结束了,虽然最终失败,但还是想总结一下,也算是记录一下经验教训,和大家一起共勉。先说一下前提,由于导师有要求研 究生得待够两年才能出去,所以这学期还没打算出去,之前也不知道阿里什么时候招实习生,当得到这个实习生内推通知的时候真的是很突然,基本上是刚开始复习 的,我的方向是Java Web。 总体感觉是摸不到阿里面试的时间安排,除了最后现场终...
2014-04-23 22:15:47 2191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人