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

news2025/7/9 18:23:17

目录

【一】前言

【二】基础数据类型

【三】修饰符

【四】集合

【五】总结


【一】前言

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs基于微信小程序的书籍销售系统--(ssm+uinapp+Mysql)

伴随着社会以及科学技术的发展,互联网已经渗透在人们的身边,网络慢慢的变成了人们的生活必不可少的一部分,随着互联网的飞速发展,系统这一名词已不陌生,越来越多的书店都会使用系统来定制一款属于自己个性化的系统。书籍销售系统采用nodejs技术, mysql数据库进行开发,实现了首页…

人脑能否重启?

1.重启是什么 “人脑能否重启”这个问题还不简单&#xff0c;人睡眠后清醒就是重启。 事实真的是如此简单吗&#xff1f;我们先不急着给出结论&#xff0c;前面提到“人睡眠后清醒就是重启”&#xff0c;这句话中有两概念&#xff1a; 1、睡眠和觉醒&#xff0c;这是两种人脑…

计算机算法与分析--算法实现题1

代码网上一抓一大把&#xff0c;所以我就不贴代码了&#xff0c;主要讲讲解题的思路&#xff0c;相信各位都能随便写出来。 1-1 统计数字问题 第一反应就是直接循环&#xff0c;然后每个数字进行统计。虽然很容易想到&#xff0c;但肯定会超时的宝贝&#xff01;用心找到位数…

MySQL梳理

MySQL数据库总结篇_许小许520的博客-CSDN博客_mysql数据库文章 MySQL简介 MySQL安装 MySQL建库/表/记录 MySQL基本操作语句 MySQL字段类型&#xff0c;约束条件 int,float...pk,unique.. MySQL单/多表关系 四个关系 MySQL单/多表查询 MySQL查询关键字 where&#xff0c;havi…

学编程:Python入门考级必备[5]

海龟画图(5) 妙手丹青 一、初始化 二、坐标与角度 三、画圆与点与技巧 四、填充颜色与圆内内切多边形 炼 海龟画图 一、初始化 英文:turtle 中文:海龟 海龟能在一个画布上游走&#xff0c;游走的轨迹就形成了绘制的图形。 1.怎么在 Python 编程中找到海龟呢&#xff1f; …

从0到1实现python基于RPC协议的接口自动化测试

01、什么是RPC RPC&#xff08;Remote Procedure Call&#xff09;远程过程调用协议是一个用于建立适当框架的协议。从本质上讲&#xff0c;它使一台机器上的程序能够调用另一台机器上的子程序&#xff0c;而不会意识到它是远程的。 RPC 是一种软件通信协议&#xff0c;一个程…

安装HBase集群

安装HBase集群 1 软件环境 注&#xff1a;我的Hadoop环境已经安装完成。 1.1 版本选择 版本的兼容问题很重要&#xff01;&#xff01; 软件环境版本号备注CentOS77.6JDK1.8.0Hadoop3.1.3hadoop-3.1.3.tar.gzZooKeeper3.6.3apache-zookeeper-3.6.3-bin.tar.gzHBase2.4.15h…

宝塔centos7安装Conda

前言&#xff1a;最近学习了python&#xff0c;主要原因是公司主营百度相关业务&#xff0c;接触了一下paddle Ai开发套件&#xff0c;其中paddlehub安装一直有问题&#xff0c;windows环境也好还是liunx环境也好一直安装不了最新版本&#xff0c;应该是某个库版本问题&#xf…

shell脚本编程

shell介绍 Shell的本意是“壳”的意思,它是相对于操作系统的“壳”。外界的操作不能直接调用操作系统内核,需要通过Shell脚本进行调用。 Shell本质是一个解释器程序,用于接受应用程序/用户命令,然后调用操作系统内核。Shell还是一个功能相当强大的编程语言,易编写,易调…

c++的STL+string

目录 STL 什么是STL&#xff1f; STL有哪些版本&#xff1f; string string的使用&#xff1a; string st1 st2 "北山口镇"​编辑 string st3 "巩义市" string st4(10, *) cout << st1 << endl string st6(st2); string st7 st2; …

0086 Java核心技术卷I Chapter05

目录 5.6枚举类 5.7 反射 5.7.1 Class类 4.7.2 声明异常入门 5.7.3 资源 5.7.4 利用反射分析类的能力 5.7.5 使用反射在运行时分析对象 5.7.6 使用反射编写泛型数组代码 5.7.7 调用任意方法和构造器 5.8 继承的设计技巧 5.6枚举类 public enum Size{SMALL,…

Android聚合SDK母包反编译出包教程

文章目录【前言】一、SDK预处理1、SDK资源合并1.1、合并res目录下的资源1.2、合并libs目录1.3、合并assets目录1.4、合并AndroidManifest.xml1.5、合并jar2、jar转smali2.1、jar 混淆合并2.2、jar转dex2.3、dex转smali二、母包apk反编译1、删除母包模板代码1.1、删掉母包SDK相关…

初识C++ (五)

作者&#xff1a;小萌新 专栏&#xff1a;初阶C 作者简介&#xff1a;大二学生 希望能和大家一起进步 内容简介&#xff1a;本文会简单的介绍auto关键字 还有nullptr关键字 加油&#xff01; 初识Cauto关键字c语言之前的用法C中的新用法auto使用细则auto不能使用的场景1. 未初…

直击固定资产管理痛点,让企业轻松管理海量固定资产

随着固定资产数量和种类、人员、分支机构越来越多&#xff0c;固定资产管理难度加大。传统人工表格管理固定资产的方式在具体实施过程中&#xff0c;会有种种痛点。 1)资产种类繁多&#xff0c;存放地分散且人员变更频繁&#xff0c;管理难度大。 2)盘点费时费力&#xff0c;手…

云原生Kubernetes 基本概念和术语

一、概述 Kubernetes 中的大部分概念如 Node 、 Pod 、 Replication Controller 、 Service 等都可以看作一 种“资源对象”&#xff0c;几乎所有的资源对象都可以通过 Kubernetes 提供的 kubectl 工具&#xff08;或者 API 编程调用&#xff09;执行增、删、改、查等操作并将…

工作中何如来合理分配核心线程数?

文章目录一 回顾1.1 使用线程池的优点1.2 任务类型1.3 IO密集型任务确定线程数1.4 CPU密集型任务确定线程数1.5 混合型任务确定线程数一 回顾 1.1 使用线程池的优点 降低资源消耗&#xff1a;线程是稀缺资源&#xff0c;如果无限制地创建&#xff0c;不仅会消耗系统资源&…

学习笔记-Windows 安全

Windows 安全 注 : 笔记中拓扑图 drawio 源文件在其图片目录下 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 大纲 漏洞利用 LOL RDP 命令行开启RDP多开连接记录凭据窃取绕过组策略限制绕过本地安全策略限制…

手机浏览器怎么下载视频,第三方手机浏览器下载视频的方法

在我们的手机中&#xff0c;总少不了一款手机浏览器。很多人经常使用手机浏览器看视频&#xff0c;那么如何在网页中将喜欢的视频下载下载下来呢&#xff1f;下面给大家讲解UC浏览器、多御安全浏览器、QQ浏览器下载视频的方法&#xff0c;有需要的朋友可以继续往下看。 UC浏览器…

如何写成高性能的代码(三):巧用稀疏矩阵节省内存占用

稀疏矩阵的概念 一个mn的矩阵是一个由m行n列元素排列成的矩形阵列。矩阵里的元素可以是数字、符号及其他的类型的元素。 一般来说&#xff0c;在矩阵中&#xff0c;若数值为0的元素数目远远多于非0元素的数目&#xff0c;并且非0元素分布没有规律时&#xff0c;则称该矩阵为稀…

【数据结构】详解顺序表(图解)

目录一、顺序表的概念1.1、静态顺序表1.2、动态顺序表二、接口实现2.1、开辟一个动态顺序表及初始化2.2、顺序表的增容2.3、顺序表的尾插及尾删2.4、顺序表的头插及头删2.5、顺序表在pos处插入及删除数据2.6、顺序表的销毁及打印2.7、顺序表的查找及修改一、顺序表的概念 顺序表…