文档章节

Java基础大全

 最胖的瘦子
发布于 04/24 08:32
字数 1231
阅读 11
收藏 0
  1. 八种基本数据类型的大小,以及他们的封装类

     

    byte,char,short,int,long,float,double,boolean

     

    Byte,Character,Short,Integer,Long,Float,Double,Boolean     int是基本类型,Integer是保证类;Integer默认值为null,int默认值为0;Integer需要实例才能使用,实例对象放在堆中,对象的引用放在栈里

    1. 引用数据类型

       

      类class,接口interface,枚举类Enum,

       

      Switch能否用string做参数

       

      Jdk1.7以前不能使用string作为参数,1.7开始可以使用

      而原理是通过调用string.hashcode方法将string类型转换为int类型

       

      equals与==的区别

       

      equals是比较两个对象属性是否相同,常用于比较对象

      ==是比较两个值是否相同,引用类型是比较两个地址值是否相同

       

      自动装箱,常量池

       

      Object有哪些公用方法

       

      Wait,notify,toString,equals,hashcode,notifyAll,getClass

       

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

       

      New Object   object = ‘hello’ 强引用  JVM不会回收,除非定义为null

      SoftReference  软引用     JVM在内存充足时,不会回收,内存不足时才会回收

      WeakReference 弱引用   JVM均会回收,无论内存是否充足

       

       

      Hashcode的作用

       

      获得hashcode值

       

      HashMap的hashcode的作用

       

      获得hashcode值,用于数据插入时的判断

      为什么重载hashCode方法?

       

      原生的hashCode是Object类下的方法,比较的内存地址是否相同,两个对象,在重写后的equals比较下返回true,但是原生的hashcode指向的内存地址不同,就会认为是两个不同的对象,不满足实际情况

       

      ArrayList、LinkedList、Vector的区别

       

      Arraylist和Vector底层都是数组实现,

      arraylist是线程不安全的,

      vector是线程安全的,所有的方法是同步的

      LinkedList底层是通过双链表实现的,非线程安全

      数组初始容量是10,扩容是1.5倍的

       

      String、StringBuffer与StringBuilder的区别

       

      StringBuffer和StringBuilder都是用于大字符串存储,

      StringBuilder是线程不安全的

       

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

       

      HashMap和HashTable的区别

       

      Hashmap是线程不安全的,

      Hashtable是线程安全的

      Hashtable运用了syn锁

       

      JDK7与JDK8中HashMap的实现

       

      原先是数组+链表

      1.8中变成了数组+链表,链表长度超过8时,变成红黑树

       

      HashMap和ConcurrentHashMap的区别,HashMap的底层源码

       

      ConcurrentHashMap本质上也是数组+链表,他是由segment数组和hashEntry数组组成,每个hashEntry中是一个链表结构。segment是一个可重入的reentrantLock,当要对hashEntry数组下的数据进行操作时,先需要获得segment锁

       

      ConcurrentHashMap能完全替代HashTable吗

       

      ConcurrentHashMap是弱一致性的

      HashTable是强一致性的

      如果某个Segment实例中的put将一个Entry加入到了table中,在未执行count赋值操作之前有另一个线程执行了同一个Segment实例中的get,来获取这个刚加入的Entry中的value,那么是有可能取不到的!

      为什么HashMap是线程不安全的

       

      操作没有上锁

       

      如何线程安全的使用HashMap

       

      不考虑多线程情况下用hashmap

      Put方法前,加syn操作

      操作hashmap前加个分布式锁

       

      多并发情况下HashMap是否还会产生死循环

       

      1.7以前hashmap中的链表插入采用头插入法,这种情况下会有死循环造成,1.8中改为尾插入法,不会造成死循环

       

      TreeMap、HashMap、LindedHashMap的区别

       

      Hashmap无序,线程不安全

      LindedHashMap有序

      TreeMap同样有序

       

      Collection包结构,与Collections的区别

                Collection是集合类的顶级接口,子接口有Set,Map,List     Collecitons只是一个集合的工具类

 

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

       

      会执行

       

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

    2.  

      https://blog.csdn.net/qiuchaoxi/article/details/79788993

       

      Java(OOP)面向对象的三个特征与含义

       

      Override和Overload的含义去区别

    3.  

       

      override重写  方法的参数个数及类型,以及返回值类型均不可发生变化,常用语接口实现类下重写某个方法

      overload重载,方法的入参个数及类型发生变化,返回值类型变化与否均可

       

      Interface与abstract类的区别

       

      Static?class?与non?static?class的区别

       

      java多态的实现原理

       

      foreach与正常for循环效率对比

       

      Java?IO与NIO

       

      java反射的作用于原理

       

      泛型常用特点

       

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

       

      Java1.7与1.8,1.9,10 新特性

       

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

       

      JNI的使用

       

      AOP是什么

       

      OOP是什么

       

      AOP与OOP的区别

© 著作权归作者所有

粉丝 4
博文 34
码字总数 19073
作品 0
杭州
私信 提问
java学习路线及资源下载,持续整理中

学习路线图:http://blog.csdn.net/shenzhq1980/article/details/48470337 1、java学习经典书籍_基础编程篇 下载地址:http://blog.csdn.net/shenzhq1980/article/details/48375543 书籍: ......

迷茫80
2015/09/21
512
1
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
【菜鸟入门】——一些Android学习资源和一点个人感受

转自:http://www.cainiaobbs.com/forum.php?mod=viewthread&tid=419&extra=page%3D1 不知不觉学习Android有大半年的时间了,虽然中途用了些时间去学习Java。 总的来说这半年里过得很充实,每...

莫侠
2012/12/03
621
0
值得关注的 13 个技术类微信公众号

分享一下 13 个不错的技术类微信公众号。其中有最受欢迎的热门公众号、也有专注某个技术的公众号,涵盖 Java、Python、Android、iOS、Web前端、PHP、C/C++、.NET、Linux和数据库等技术和开发...

可爱的程序媛
2015/03/12
13.9K
19
从Java小白到架构师必须要看的书籍,真正的“武林秘籍”!

少年,我看你骨骼精奇,将是未来万中无一的IT精英,很是适合学JAVA。维护世界和平就看你的了,我这里有能让你成为IT精英的办法!还不来看看! 基础类 1、《Thinking in Java》,入门第一位是...

启示录是真的
2018/05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

进程命令ps

命令ps 用途: 显示当前系统的进程状态 语法: ]# ps [选项] 常用选项: aux = 列出正在运行的所有进程; a 显示现行终端机下的所有程序,包括其他用户的程序 u 以用户为主...

迷失De挣扎
32分钟前
3
0
聊聊spring cloud的CachingSpringLoadBalancerFactory

序 本文主要研究一下spring cloud的CachingSpringLoadBalancerFactory CachingSpringLoadBalancerFactory spring-cloud-openfeign-core-2.2.0.M1-sources.jar!/org/springframework/cloud/o......

go4it
昨天
4
0
一篇文章搞定——JDK8中新增的StampedLock

一、StampedLock类简介 StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细粒度控...

须臾之余
昨天
3
0
Android Camera原理之CameraDeviceCallbacks回调模块

在讲解《Android Camera原理之openCamera模块(二)》一文的时候提到了CameraDeviceCallbacks回调,当时没有详细展开,本文我们详细展开讲解一下。 CameraDeviceCallbacks生成过程: 《Android...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部