• Java这些最基础的知识,你还记得多少?


    目录

    【一】前言

    【二】基础数据类型

    【三】修饰符

    【四】集合

    【五】总结


    【一】前言

    作为一名CS本专业的程序员来说,大学学过的计算机课程,如:编程语言基本语法、数据结构、算法、计算机网络、计算机组成原理、数据库、汇编都是计算机系统里面的内容和知识。参加工作以后,这些内容真正能用得上也就是常用的那几项,如汇编这种工作中根本或几乎用不上。回过头来想想,这些最基本的知识,我们还记得多少呢?

    【二】基础数据类型

    Java SE里面的知识介绍了java最基础的8种数据类型,这8种细分的数据类型,可以分为4大类,分别是:

    第一类:逻辑(布尔)型boolean

    类型

    占用存储空间

    字节数

    值举例

    boolean

    1字节

    8位

    true/flase

    第二类:文本(字符)型char

    类型

    占用存储空间

    字节数

    值举例

    char

    2字节

    16位

    c

    第三类:整数型(byte、short、int、long)

    类型

    占用存储空间

    字节数

    值举例

    范围

    byte(位)

    1字节

    8位

    c

    -128~127

    short(短整数)

    2字节

    16位

    10

    -2^15~2^15-1

    int(整数)

    4字节

    32位

    10

    -2^31~2^31-1

    long(长整数)

    8字节

    64位

    10l

    -2^63~2^63-1

    第四类:浮点型(float、double)

    类型

    占用存储空间

    字节数

    值举例

    范围

    float(单精度)

    4字节

    32位

    10.0f

    -2^31~2^31-1

    double(双精度)

    8字节

    64位

    10.0d

    -2^63~2^63-1

    【三】修饰符

    1.修饰符private,protected和public都称为可见性修饰符或可访问性修饰符,因为它们指定如何访问类和类的成员。 这些修饰符的可见性按以下的顺序递增:私有<默认<被保护<公共成员。

    2.下表总结了类中成员的可访问性

    作用域当前类同一package 子孙类 其他package
    public  √ √ √ √
    protected  ×
    friendly   ××
    private    ×××

    3.protected成员可以在同一包内被访问,可以在不同包中的子类中被访问,不可以在不同包中的不同类中被访问。

    4.使用 private修饰符可以完全隐藏类的成员,这样,就不能从类外直接访问它们。

    5.不使用修饰符就表示允许同一个包里的任何类直接访问类的成员,但是其他包中的类不可以访问。

    6.使用protected 修饰符允许任何包中的子类或同一包中的类访问类的成员。

    7.使用 public修饰符允许任意类访问类的成员。

    8.修饰符private和protected只能用于类的成员。public修饰符和默认修饰符(也就是没有修饰符)既可以用于类的成员,也可以用于类。一个没有修饰符的类(即非公共类)是不能被其他包中的类访问的。

    【四】集合

    集合是属于单列和双列集合的顶层接口,表示为一组对象。其类型为引用数据类型,具体创建对象,通过多态的形式进行。集合是java中提供的一种容器,可以用来存储多个数据。

    List:继承了 Collection 接口以定义一个允许重复项的有序集合,不但能够对列表的一部分进行处理,还添加了面向位置的操作 LinkedList,ArrayList,Vector(Stack)

    Set:是Collection接口的一个子接口,它表示数学意义上的集合概念。支持对象的添加、删除,而不需提供随机访问     HashSet 以哈希表的形式存放元素,插入删除速度很快,散列无序   TreeSet 不包含调优选项,因为树总是平衡的,保证了插入、删除、查询的性能为log(n),自动排序

    Map:不是 Collection 接口的继承。从自己的用于维护键-值关联的接口层次结构入手。按定义,该接口描述了从不重复的键到值的映射。

    Hashtable,HashMap,WeakHashMap 在Map 中插入、删除和定位元素,HashMap 是最好的选择。按顺序遍历键,那么TreeMap 会更好。

    SortedMap HashMap与HashTable有什么区别? 两者都是用key-value方式获取数据。非同步和空值(HashMap允许null值作为key和value,而Hashtable不可以);HashMap不是同步的,而Hashtable是同步的。

    ConcurrentHashMap: ConcurrentHashmap采用final和内存可见修饰符volatile关键字。主要是为并发设计,与Collections的包装不同,他不是采用全同步的方式,而是采用非锁get方式,通过数据的弱一致性带来性能上的大幅提升,同时采用分段锁的策略,提高并发能力。 通常是多线程访问的时候使用,通过使用分段锁技术来对容器中同个资源不同数据段Segment分别加上不同锁。(HashTable)是对同个资源只用一把锁。

    【五】总结

    除了上面讲到的这几个基础知识,Java中还有很多最基础的知识,都是在日常工作中所需要用到的,像最基本的语法、数据结构、算法等,越是最基础的东西我们越不会太在意,而越是最基础的知识反而有时越容易出错,往往在程序里面越是最基础的内容越值得我们引起重视,因为一个严重的故障往往最终都是由一个很小的错误或纰漏引起的。学编程从掌握好基础知识开始!


    面试连载系列

    《面试系列篇》——11种常用的设计模式

    《面试系列篇》——ShardingJdbc分库分表浅谈

    《面试系列篇》——MySQL慢查询及解决方案

    《面试系列篇》——面试官最喜欢问的Redis知识

    《面试系列篇》——听说面试官喜欢问这些MySQL知识

    《面试系列篇》——Paxos与Zookeeper分布式一致性面试必备

  • 相关阅读:
    Android使用AOP切面编程
    人脸自收集数据集辅助制作工具——多人在线协同标注系统
    PythonGui之PyQt5的简单运用
    【快速上手系列】内网穿透(natapp)的快速上手和简单使用教程
    GoFrame框架
    IM即时通讯系统[SpringBoot+Netty]——梳理(总)
    【如何使用vscode用户代码】
    使用Python爬虫抓取网站资源的方法
    ML 线性回归原理推导以及灵魂拷问 (面试必考知识点)
    纯css制作常见的图形
  • 原文地址:https://blog.csdn.net/Follow_24/article/details/127624717