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. [ios][swift]使用swift闭包进行viewcontroller反向传值

    闭包参考:http://c.biancheng.net/cpp/html/2285.html   闭包详解 传值参考:http://www.tuicool.com/articles/vy2uUz Sw ...

  2. 【转】学习总结--Cookie & Session总结

    转载地址:http://www.phperzone.cn/portal.php?aid=718&mod=view 一.状态管理 1)什么是状态管理?   将浏览器与web服务器之间多次交互过程 ...

  3. sql 取时间 问题集

    一. AND B.TRAFFICE_DATE>dateadd(day,5,(select getdate())) dateadd(day,5,(select getdate())):为当前时间+ ...

  4. YTU 3013: 皇后问题(递归)

    3013: 皇后问题(递归) 时间限制: 1 Sec  内存限制: 128 MB 提交: 2  解决: 2 题目描述 编写一个函数,求解皇后问题:在n*n的方格棋盘上,放置n个皇后,要求每个皇后不同行 ...

  5. 文本去重之MinHash算法

    1.概述     跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度.MinHash由Andrei Broder提出,最初用于在搜索引擎中检测重复网页.它也可以应用 ...

  6. sqlite3常用命令&语法

    sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite大量的被用于手机,PDA,MP3播放器以及机顶盒设备.    Mozilla Firefox使用SQLit ...

  7. SQL Server 索引和表体系结构(三)

    转自:http://www.cnblogs.com/chenmh/p/3785285.html 包含列索引 概述 包含列索引也是非聚集索引,索引结构跟聚集索引结构是一样,有一点不同的地方就是包含列索引 ...

  8. linux文件描述符--转载

    转自:http://blog.csdn.net/cywosp/article/details/38965239 1. 概述     在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录 ...

  9. 无边框窗体、用户控件、Timer控件

    一.无边框窗体1 最大化.最小化以及关闭按钮制作实际上就是更换点击前.指向时.点击时的图片 (1)将图片放在该文件夹的Debug中,获取图片的路径Application.StartupPath + & ...

  10. ECharts开始

    为ECharts准备一个具备大小(宽高)的Dom(当然可以是动态生成的) //from echarts example <body> <div id="main" ...