JavaSe基础

1. 九种基本数据类型的大小,以及他们的封装类

  boolean 无明确指定 Boolean

  char 16bits Character

  byte 8bits Byte

  short 16bits Short

  int 32bits Integer

  long 64bits Long

  float 32bits Float

  double 64bits Double

  void Void

2. switch能否用string做参数?

  参数必须是int或char那样的整数值 字符串或浮点数不可以

3. equals与==的区别。

4. Object有哪些公用方法?

  equals()

  getClass()

  hashCode()

  notify()

5. Java的四种引用,强弱软虚,用到的场景。

强引用
   程序代码中普遍存在 类似Object obj = new Object() 这类引用
   只要强引用还存在 垃圾回收器永远不会回收掉
软引用
   描述一些还有用但非必须的对象 SoftReference
弱引用
   描述非必须对象 强度比软引用更弱
   垃圾回收器工作时 无论当前内存是否足够 都会回收掉 WeakReference
虚引用
   最弱的一种引用关系
   设置虚引用的唯一目的就是能在这个对象被收集器回收时收到一个系统通知

6. Hashcode的作用。

  Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值

  http://www.cnblogs.com/dolphin0520/p/3681042.html

7. ArrayList、LinkedList、Vector的区别。

  ArrayList 随机访问元素较快 插入和移除较慢

  LinkedList 随机访问元素较慢 插入和移除较快

  Vector 过时 Java1.0/1.1的容器

8. String、StringBuffer与StringBuilder的区别。

  String 对象不可变

  StringBuffer 线程安全

  StringBuilder JavaSE5引入

9. Map、Set、List、Queue、Stack的特点与用法。

  Map 一组成对的键值对对象

  Set 不保存重复的元素

  Queue 先进先出的容器

  Stack 后进先出

10. HashMap和Hashtable的区别。

  HashMap Map基于散列表的实现 取代了Hashtable 插入和查询键值对的开销是固定的

11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。

  ConcurrentHashMap 一种线程安全的Map 它不涉及同步加锁

12. TreeMap、HashMap、LindedHashMap的区别。

  TreeMap 基于红黑树的实现 查看键或键值对时 他们会被排序

  HashMap Map基于散列表的实现

  LindedHashMap 使用链表维护内部次序

13. Collection包结构,与Collections的区别。

14. try catch finally,try里有return,finally还执行么?

  finally子句总是会执行

15. Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。

16. Java面向对象的三个特征与含义。

  封装

  继承

  多态

17. Override和Overload的含义去区别。

  Override 重写就是子类重写了父类的方法

  Overload 重载 同一个类中,允许存在同名函数,但它们的参数个数或者参数类型不同

18. interface与abstract类的区别。

  1 接口可以多重继承,抽象类不可以

  2 接口定义方法,不给实现 而抽象类可以实现部分方法

  3 接口中基本数据类型的数据成员,都默认为static和final 抽象类则不是

19. static class 与non static class的区别。

20. java多态的实现原理。

21. 实现多线程的两种方法:Thread与Runable。

22. 线程同步的方法:sychronized、lock、reentrantLock等。

23. 锁的等级:方法锁、对象锁、类锁。

24. 写出生产者消费者模式。

25. ThreadLocal的设计理念与作用。 线程本地变量 为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量

26. ThreadPool用法与优势。

27. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。

28. wait()和sleep()的区别。

29. foreach与正常for循环效率对比。

30. Java IO与NIO。

31. 反射的作用于原理。

32. 泛型常用特点,List<String>能否转为List<Object>。

33. 解析XML的几种方式的原理与特点:DOM、SAX、PULL。

34. Java与C++对比。

35. Java1.7与1.8新特性。

36. 设计模式:单例、工厂、适配器、责任链、观察者等等。

37. JNI的使用。

Java里有很多很杂的东西,有时候需要你阅读源码,大多数可能书里面讲的不是太清楚,需要你在网上寻找答案。

推荐书籍:《java核心技术卷I》《Thinking in java》《java并发编程》《effictive java》《大话设计模式》

基础1 JavaSe基础的更多相关文章

  1. javaSE基础07

    javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...

  2. javaSE基础06

    javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...

  3. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  4. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  5. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  6. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  7. JavaSE基础01

    JavaSE基础篇01 ------从今天开始,我就学习正式java了,O(∩_∩)O哈哈~,请大家多指教哦 一.Windows常见的dos命令 操作dos命令: win7 --->开始 --- ...

  8. javase基础复习攻略《十》

    按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...

  9. javase基础复习攻略《二》

    今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...

随机推荐

  1. [UML]转:浅谈UML的概念和模型之UML九种图

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...

  2. 杭电1097-A hard puzzle

    Problem Description lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how ...

  3. 【转】西门子数控系统中MMC、PCU、NCU、CCU简略介绍

    转载地址:http://cyj221.blog.163.com/blog/static/34194117201093005526170/ 2010-10-30 01:06:09|  分类: 机械制造 ...

  4. Ajax中GET和POST的区别

    Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的 ...

  5. Linux学习之八——利用变量

    一.变量的使用 用$放在变量前面进行使用,例如: echo $PATH 为了和别的字符隔开,可以用{}和"",例如 echo ${PATH}nic echo "$PATH ...

  6. Andriod 按钮代码

    package com.example.test1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle ...

  7. angular 控制器之间的通信

    1, 利用作用域的继承方式 由于作用域的继承是基于js的原型继承方式,所以这里分为两种情况,当作用域上面的值为基本类型的时候,修改父作用域上面的值会 影响到子作用域,反之,修改子作用域只会影响子作用域 ...

  8. (POJ2635)The Embarrassed Cryptographer(大数取模)

    The Embarrassed Cryptographer Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13041 Accep ...

  9. Radar Installation 分类: POJ 2015-06-15 19:54 8人阅读 评论(0) 收藏

    Radar Installation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 60120   Accepted: 13 ...

  10. CSS选择器及其优先级

    一:一些普通的选择器 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&quo ...