java面试基础篇(二)】的更多相关文章

上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用  -32768 ~ 32767 int:32 位.最常用,-2^31-1~2^31  (21 亿) long:64 位.次常用,long 型数据后面加 L或 l 两种浮点类型(float,doub…
最近想深入的理解一下java 的工作机制,也是便于后期的面试. 1.A:HashMap和Hashtable有什么区别? Q:HashMap和Hashtable都实现了Map接口,因此很多特性非常相似.但是,他们有以下不同点:     HashMap允许键和值是null,而Hashtable不允许键或者值是null.    Hashtable是同步的,而HashMap不是.因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境.   我们再来剖析一下这个问题,如果你答些,面试…
1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些    LinkedList是链表结构,LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素.    对于查询速度,ArrayList觉得优于LinkedList,因为LinkedList要移动指针. 对于插入或…
一.ArrayList: 底层为数组实现,线程不安全,查询,修改快,增加删除慢, 数据结构:数组以0为下标依次连续进行存储 数组查询元素:根据下标查询就行 数组增加元素:如果需要给index为10的位置添加,则从index为11的位置开始右移 数组删除元素:如果需要删除index为10的位置,则从index为11的位置开始左移 线程: 如果判断线程安不安全只需要了解到是否进行加锁,如果没有加锁的话,多个线程操作同一个对象时就会出现线程不安全的情况. 源码: 1.new一个arraylist,调用…
1.数组与指针的区别 数组下标运算实际上都是通过指针进行的. 数组名代表着指向该数组中下标为0的元素的指针,但有例外:sizeof(数组名)返回整个数组的大小,而非指针大小:&数组名返回一个指向数组的指针,而不是指向该数组中下标为0的元素的指针的指针. 数组名作为参数时,数组名会被转换成指向该数组下标为0的元素的指针. 指针操作可能比下标操作效率高,但可维护性却不一定有下标操作好. 数组和指针不相等. 2.野指针是什么? 野指针就是指向一个已删除的对象或者未申请访问受限内存区域的指针 3.介绍一…
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不尽,轻者如释重负,重者涕泪横流的架构体验. 但是,在实际开发过程中,库存超限,作为其中最核心的一员,到底该怎么做,如何做才会是最合适的呢? 今天这篇文章,我将会展示给大家库存限购的五种常见的做法,并对其利弊一一探讨,由于这五种做法,有的在设计之初当做提案被否定掉的,有的在线上跑着,但是在没有任何单元…
原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type,array2,array3..)是对多个数组或多维数组进行排序的函数. array1 必需.规定输入的数组. sorting order 可选.规定排列顺序.可能的值是 SORT_ASC 和 SORT_DESC. sorting t…
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程序员一定要注意. ③大写的NULL不是java的关键字. ④标识符java不是关键字,要小心注意. ⑤String只是一个类不是关键字.…
Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不能重复定义 (5).变量的值可以修改 二.进制基础 计算机处理的是数据,而且是二进制 二进制:逢二进制一 0 0 0 0 0 0 -----代表十进制0 0 0 0 0 0 1 -----代表十进制1 0 0 0 0 1 0 -----代表十进制2 0 0 0 0 1 1 -----代表十进制3 0…
前言 大家好,给大家带来Java面试集合(二)的概述,希望你们喜欢 二 1.请问线程有哪些状态? 新建状态(New) 就绪状态(Runnable) 运行状态(Running) 阻塞状态(Blocked) 死亡状态(Terminated) 2.表达线程代码? new Thread(){ public void run(){} }.start(); new Thread(new Runnable(){ public void run(){} }).start(); 3.如何表示什么是接口? inte…