java基础知识

java SE 基础知识指南 36. Lock(上):相比Java synchronized,JUC Lock有什么优势?19. io类库:http://java.io类库如此庞大,怎么才能全面系统的掌握它?51. 线程状态:为何synchronized和Lock这两种锁对应的线程状态不同?34. synchronized(上):线程释放锁之后,如何通知其他线程获取锁?13. HashMap(上):为何HashMap中数组的大小必须是2的幂次方?37. Lock(中):如何使用AQS(抽象队列同步器)实现JUC Lock? 阅读详情

一、java语言的特点

1.面向对象

        java 是一种纯面向对象的编程语言,它将数据和操作数据的方法封装在一起形成对象。面向对象编程具有封装、继承和多态三大特性。

2.跨平台性

        java 的跨平台特性主要依赖于 java 虚拟机(JVM)。java 程序首先被编译成字节码(.class 文件),而非直接编译成特定平台的机器码。不同操作系统上只要安装了对应的 JVM,就可以运行这些字节码文件。

3.安全性

        java语言在设计时充分考虑了安全性,提供了多层次的安全机制,例如强类型检查、自动内存管理等。

4.多线程支持

        java语言内置了多线程编程的支持。多线程可以提高程序的运行效率和响应性。同时还提供了同步机制(如synchroized关键字)来保证线程的安全,避免多个线程同时访问共享资源时产生的数据不一致问题。

5.丰富的类库

        java拥有庞大、丰富的标准类库。这些类库提供了大量的现成类和方法,极大提高了开发效率,减少开发成本。

6.分布式

        java提供了丰富的API和协议,支持分布式计算。在分布式系统中,java程序可以通过网络调用其它计算机上的对象方法。

7.高性能

        虽然java是解释型语言,但即时编译(JIT)技术的使用可以将经常执行的代码编译成机器码,从而提高程序的执行效率


二、java语法基础

1.标识符

        标识符用于给程序中的元素命名的符号,例如类名、对象名、方法名、变量名等

2.命名规则

        Ⅰ标识符有字母、数字、下划线以及美元符号($)构成,标识符不能以数字开头

        Ⅱ不能使用关键字作为标识符,例如关键字有class、public、if、else等

3.命名规范

        Ⅰ方法名和变量名通常使用小驼峰命名法,例如 studentAge、getUserName

        Ⅱ类名和接口名通常使用大驼峰命名法,例如 Student、UserService

        Ⅲ常量名通常全部字母大写,单词之间使用下划线分隔,例如 MAX_VALUE、PI

        Ⅳ包名通常全部字母小写,例如 com.user.project

4.注意事项

        Ⅰjava语言的标识符区分大小写,例如name和Name属于不同的标识符

        Ⅱ美元符号虽然可以用于标识符中,但通常不建议使用

        Ⅲ每一条语句均以分号结尾


三、java数据类型

        java的数据类型主要分为基本数据类型和引用数据类型

基本数据类型:

        1.数值型:byte:8位有符号整数,取值范围-128到127;

                         short:16为有符号整数,取值范围-32768到32767;

                         int:32位有符号整数,取值范围-2147483648到2147483647,用于大多数整数运算场景;

                     long:64位有符号整数,取值范围-9223372036854775808 到 9223372036854775807

         2.浮点型:float:32为单精度浮点数。定义时须在数字后面加上f或F,如2.13f

                          double:64位双精度浮点数,是默认的浮点类型,通常用于大多数的浮点运算

        3.字符型:char:用于表示单个字符,用单引号括起来,如:‘A’

        4.布尔型:boolean:只有两个取值true和false

引用数据类型:

        1.类:类是一种抽象数据类型,其中定义了对象的属性和行为。通过类可以创建对象,对象是类的实例。

        2.接口:是一种抽象数据类型。实现接口的类必须要实现接口中定义的抽象方法。

        3.数组:用于存储多个相同数据类型的集合。

        4.枚举:一种特殊的数据类型,定义了一组命名常量,枚举类型可以使代码更具可读性和可维护性。

        5.字符串类型:java语言中字符串是String类的对象,属于引用数据类型

※基本数据类型和引用数据类型的区别

        基本数据类型存储的是实际的值,而引用数据类型存储的是对象的引用(内存地址)。在赋值操作过程中,基本数据类型传递的是值的副本,而引用数据类型传递的则是地址的传递。

※类型转换

        java语言中的类型转换分为自动类型转换(隐式类型转换)和强制类型转换(显式类型转换)

        1.自动类型转换(隐式)

                需要满足的条件是:(1)转换前的数据类型和转换后的数据类型兼容

                                                (2)转换后的数据类型比转换前的数据类型表示范围大

        2.强制类型转换(显式)

                将表示范围大的数据类型转换为表示范围小的类型,就须要进行强制类型转换。在这个过程中可能会造成数据的丢失。

        基本数据类型:byte->short->char->int->float->double

                从左到右的转换属于自动类型转换,而从右到左的转换为强制类型转换

                示例代码:自动类型转换

                运行结果:

                

                示例代码:强制类型转换

                运行结果:

        ​​​​​​​        

        引用数据类型的转换

                向上转型:自动类型转换  小-->大

                向下转型:强制类型转换  大-->小

                示例代码:

                创建父类Animal

        ​​​​​​​        

                创建子类Dog

        

                测试类型转换:

                运行结果:

        ​​​​​​​        


四、运算符

        算数运算符:+ :加法运算,也可用于字符串的连接 ;

                              - :减法运算 ;

                              * :乘法运算 ;

                              / :除法运算,操作数为整数时,结果会取整 ;

                             % :取模运算,返回余数

                             ++ :自增运算,支持前缀和后缀形式,如a++、++a

                             -- :自减运算,支持前缀和后缀形式,如a--、--a

        比较运算符:== :判断两个值是否相等

                             != :判断两个值是否不相等

                             > 、 < 、 >= 、<= :大于、小于、大于等于、小于等于

        赋值运算符:= :将右边的值赋值给左边

                             += :先执行加法,再赋值

                             -= :先执行减法,再赋值

                             *= :先执行乘法,再赋值

                             /= :先执行除法,再赋值

                             %= :先执行取模运算,再赋值

        逻辑运算符:&&:与运算符,两边均为真,结果才为真

                             | |:或运算符,两边全为假,结果才为假

                             !:非运算符,对操作数进行取反操作

        三元运算符:语法为:条件表达式?表达式1:表达式2,若条件表达式为true,则返回表达式1的值,反之返回表达式2的值

        instanceof运算符:用于判断一个对象是否为指定类或接口的实例,返回布尔类型的值


五、示例代码

        java作为纯面向对象的语言,可以说是万物皆对象。类属于一种抽象的数据类型,它是对一类对象的共同属性和行为进行了描述;对象是根据类创建出来的具体实例。创建对象的过程也称为实例化的过程。类中实例成员的使用,需要该类的实例对象去呼叫;类中静态成员的使用,可以通过类名去呼叫或者实例对象去呼叫。

        示例代码:以创建动物类为例

        

        运行结果:

        


大厂面经:京东大数据面试题及参考答案(3万字长文) Kafka是一个开源的分布式流处理平台,由 LinkedIn 开发并在 2011 年贡献给 Apache 软件基金会。高吞吐量:能够处理大量的数据流,适合实时数据管道。持久性:数据存储在磁盘上,确保数据不丢失。容错性:通过数据复制提供高可用性。扩展性:支持水平扩展,易于增加更多节点。Kafka 的核心概念Topic:逻辑上的数据流,可以理解为主题。Producer:生产数据的应用程序。Consumer:消费数据的应用程序。Broker:Kafka 集群中的服务器节点。Partition。 阅读详情

相关推荐

C# 进阶:打造WinForms中的动态交互式UserControl

本文深入探讨了如何在C# WinForms中创建动态交互式UserControl,以提升桌面应用的用户体验和代码复用性。通过剖析UserControl生命周期、事件体系,并结合一个可拖拽缩放的分割面板实战案例,详细讲解了鼠标键盘事件处理、自定义绘制、状态管理以及性能优化等核心技巧,帮助开发者封装复杂交互逻辑,打造专业级自定义控件。

weixin_29279153的博客 462

java语言的特点_Java语言有什么特点?

Java语言共有十大特点,分别为:简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线索性、动态性。1、简单性:Java语言继承了C++语言的优点,去掉了C++中学习起来比较难的多继承、指针等概念,所以Java语言学习起来更简单,使用起来也更方便。2、面向对象:Java是一种面向对象的编程语言。3、分布性:Java设计成支持在网络上应用,它是分布式语言。所以只要用Java...

weixin_29505469的博客 3201

大疆精灵3无人机2.4GHz通信系统实测:跳频扩频技术深度解析

跳频扩频(FHSS)是一种经典的扩频通信技术,其核心原理是通过让载波频率在一个宽频带上按伪随机序列快速跳变,将窄带信号的能量扩散开来。这种技术能有效对抗固定频率干扰,提升通信的可靠性和抗截获性,在无线遥控、军事通信等领域具有重要价值。在无人机、物联网等对实时性与可靠性要求高的应用场景中,FHSS技术能显著增强复杂电磁环境下的链路鲁棒性。本文以频谱分析仪实测大疆精灵3无人机为例,深入剖析其2.4GHz频段遥控与图传系统的工作特性,揭示了其采用的成熟FHSS方案,包括约76MHz的总跳频带宽、39个信道及约2M

weixin_33935636的博客 311

JAVA语言都有哪些特点

1. 简单性:Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。7. 高性能:和其它解释执行的语言如basic、tcL不同,Java字节码的设计使之能很容易地直接转换成对应于特定cPu的机器码,从而得到较高的性能。10. 体系结构中立:Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。8. 动态性:Java的设计使它适合于一个不断发展的环境。

hdxx2022的博客 3157

MacOS M芯片部署ComfyUI:从环境排雷到插件生态一站式指南

本文为MacOS M系列芯片用户提供了一份详尽的ComfyUI部署指南。文章深入剖析了因架构差异导致的常见安装报错根源,并给出了基于MPS后端的正确PyTorch安装命令。从创建纯净Python虚拟环境、分步安装依赖,到验证GPU加速,手把手指导完成部署。同时,还推荐了包括管理器、汉化在内的必备插件,以完善使用生态,帮助用户一站式解决从环境搭建到效率提升的所有问题。

weixin_29261711的博客 994

datart 二开环境搭建

下载源码, 地址: https://github.com/running-elephant/datart, dev 分支; 解压后使用 idea 打开; 服务端: 3.1 安装依赖, idea会自动安装; 3.2 修改配置文件 /config/application.yml 3.3 创建数据库,并将bin/datart.sql导入到数据库中 3.4 入口: /server/src/main/java/datart/DatartServerApplication.java [外链图片转存失败,源站可能有防.

又是再见? 6133

Java语言有哪些特点

Java语言有哪些特点

gulang00的博客 1415

节省人力成本40%!仓储物流AI机器人调度系统实战案例(含路径规划算法与系统架构图)

首先,我们需要定义一个Node类self.x = x # 节点x坐标self.y = y # 节点y坐标self.g = g # 从起点到当前节点的实际成本(g值)self.h = h # 从当前节点到终点的启发式成本(h值)self.f = g + h # 总成本(f值)self.parent = None # 父节点(用于回溯路径)self.task_id = task_id # 任务IDself.priority = priority # 任务优先级(1=最高,5=最低)

小程序开发 950

Java语言的特点

Java语言的特点

m0_69505153的博客 506

利用Dify构建文档内容的分析对比

本次主要做了一些workflow和Agent的应用实现,供大家参考。主要目的是为了进行两个内部报告文件的内容对比,特别是报告中的各类审批表、申请表、推荐表和流程对比,本地数据通过知识库方式分别加载到两个知识库中,编制工作流针对同一个问题进行知识库检索,之后将查询结果进行合并,再一起提交给LLM进行对比,最终将对比分析结果以markdown方式返回显示。主要包括如何构建知识库,如何设计workflow、如何将工作流发布为工具、如何设计提示词、如何在agent中引入前面发布的工具,最终通过agent实现与用户交

hhue2007的专栏 2526

【异常】Codybuddy Error Code: 14003 too many requests 限流报错问题排查与解决指南

14003报错本质为服务端限流拦截,并非账号封禁或程序致命故障,90%以上的场景可通过等待冷却+规范使用行为解决。通过本文的排查步骤,可快速恢复工具使用,同时规避后续重复触发该问题。

奶爸的编程之路,也就一周冷个三天 1254

Java语言有哪些特点?

1)简单性 2)面向对象 3)分布式 4)健壮性 5)安全性 6)体系结构中立 7)可移植性 8)解释型 9)高性能 10)多线程 11)动态性 1.简单性: Java语言是C++语言的一个“纯净”版本。没有头文件、指针运算、结构、联合、操作符重载、虚基类等。 2.面向对象 面向对象即面向数据。Java的面向对象特性与C++旗鼓相当,Java与C++的主要不同点在于多继承,在Java中,取而代之的是更简单的接口概念。 3.分布式 Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。

m0_67402564的博客 3681

HFSS实战项目——GPS北斗双模微带天线

本文设计了一款方形圆极化微带天线应用于北斗B1和GPSL1频段,满足高增益、低VSWR、适当方向图等要求。设计中心频率为1568MHz,介质板采用厚度h=1.6mm的Arlon AD450(tm)板,相对介电常数为4.5,采用探针馈电。

2401_87464239的博客 1768

Java基础知识总结

Java基础知识总结 PDF版下载链接:《Java基础知识总结》。  一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java

BriskLyer的博客 2877

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java基础知识_什么才是java的基础知识?

作者:晓风轻来源:https://zhuanlan.zhihu.com/p/28615617近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。我做j2ee开发已经超过十载,作为过来人,心路历程估计和大家差不多。编码的前几年,很长一段时间觉得java简单...

weixin_39846898的博客 180

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java基础知识

标识符: 用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列。合法的标识符:关键字:Java语言中已经赋予了特定含义的变量:程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为“变量声明”,也叫容器的创建。变量的使用:Java 中的注释有三种:Java中的循环语句同c++与c中类似,共有三个for(初始化表达式;条件表达式;迭代语句) { 循环体语句; }whil

qq_62632865的博客 1756

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java基础知识脑图总结

Java基础知识脑图总结 Java基础知识.png

疾风知劲草,智者必怀仁 377

JAVA基础知识总结

java的基础知识总结

wei980704的博客 309

JAVA基础知识图解

JAVA基础知识图解

qq_42895153的博客 219

Java基础知识梳理

Java基础知识梳理上图的放大图

学习是快乐的~ 404

java基础知识大纲

java基础知识图解

仰望与追逐的博客 320

Java基础知识思维导图

两套Java基础知识的思维导图

AthlenaA的博客 1280

【快速复习】Java 基础知识

Java 的基础知识,用于快速复习,突击面试。

2301_79732484的博客 1452

JAVA基础知识思维导图

JAVA基础知识思维导图

weixin_44459907的博客 375
上一篇: 仓颉多线程
下一篇: java多线程
w_zero_one
博客等级 码龄2年 149粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值