写在Java的前面——Java简介

把消息说清楚:OData V2 的 sap-message、错误体 errordetails 与 ABAP 端落地实践(Gateway Foundation / RAP) OData V2消息机制解析:SAP业务系统的结构化通信设计 本文深入剖析了SAP系统中OData V2协议的消息传递机制。该设计通过双通道(成功时使用sap-message响应头,失败时采用error响应体)实现业务数据与提示信息的结构化分离,解决了企业级应用中"只返回业务数据"或"简单报错"的不足。文章详细解读了消息结构中的关键要素:target字段实现精准UI定位、severity级别控制交互流程、transition标记区分状态消息与过渡消息。同时揭示了SAP 阅读详情

Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。

Java分为三个体系:

JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)

JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)

JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字”2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

主要特性

Java语言是简单的:

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

Java语言是面向对象的:

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

Java语言是分布式的:

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

Java语言是健壮的:

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

Java语言是安全的:

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

Java语言是体系结构中立的:

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

Java语言是可移植的:

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的(Java字节码是运行在JVM中)。

Java语言是解释型的:

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

Java是高性能的:

与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

Java语言是多线程的:

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

Java语言是动态的:

Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java开发工具

Java语言尽量保证系统内存在1G以上,其他工具如下所示:
Linux 系统、Mac OS 系统、Windows 95/98/2000/XP,WIN 7/8系统。
Java JDK 7、8……
Notepad 编辑器或者其他编辑器。
IDE:IntelliJ IDEA、Android Studio、Eclipse

配置环境

Java的环境包含开发环境(JDK)、运行环境(JRE)。

JRE: Java Runtime EnvironmentJDK:Java Development Kit JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。

JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。JRE根据不同操作系统(如:windows,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收购SUN公司的JRE版本。

JDK和JRE结构图(资源来源于:http://docs.oracle.com/javase/7/docs/):
这里写图片描述

如何配置环境?

一、安装JDK

1、JDK的安装包可以到Oracle官网上下载或者第三方网站下载,以下提供官方下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
(版本很多,自行选择适用版本,省略安装过程,安装时候下一步下一步即可)
这里写图片描述

二、配置环境变量

JAVA_HOME 配置JDK安装路径

PATH 配置JDK命令文件的位置

CLASSPATH 配置类库文件的位置

1. 我的电脑(右键)–>属性
这里写图片描述
2. 高级系统设置–>环境变量
这里写图片描述
这里写图片描述
3. 系统变量自带是没有JAVA_HOME这个变量,需要自己编辑如下:
(变量值就是JDK安装的路径)
这里写图片描述
4. PATH在系统变量中本来就是存在的,选中PATH–>编辑
这里写图片描述
–>在最前面输入Bin的路径(用分号隔开其他路径)
这里写图片描述
5. 系统自带的变量是没有CLASSPATH的,需要添加
这里写图片描述
–>用”.”代表当前路径
–>用”;”隔开
–>输入Bil的路径(如我的路径是:C:\Program Files\Java\jdk1.8.0_60\lib)
这里写图片描述
配置到这里就结束了,记得要按确定,没确定是不会自己保存的。

三、验证配置环境变量

打开运行cmd输入java/javac进行验证(验证成功的效果如下)
这里写图片描述
如果你看到这样的效果,恭喜你配置成功了。
这里写图片描述

四、Hello Word

环境配好了,下面让我们运行我们第一个程序——Hello Word

1、 在桌面上新建一个文件,命名为HelloWorld.java

2.、打开文件,输入以下代码:

public class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}

3、保存代码

4、运行CMD命令,进入Desktop目录下,运行javac HelloWorld.java

这里写图片描述

5、执行java HelloWorld命令

这里写图片描述

此时看到了输出了的结果了“Hello World!”

好了,我们就从这篇Java简介开始我们的Java之旅吧。

【S32K3 MCAL配置】-4.1-CAN Driver:如何解决CAN帧发送丢帧问题 阅读详情

相关推荐

从Gotham到Foundry:拆解Palantir三大产品线,看它如何用‘本体’统一企业数据与AI

本文深入解析Palantir的三大产品线Gotham、Foundry和Apollo,揭示其如何通过独特的'本体'架构实现企业数据与AI的无缝融合。从国防情报到商业决策,Palantir的产品架构展现了强大的数据整合与AI赋能能力,为企业构建数字孪生提供革命性解决方案。

weixin_30823001的博客 322

JAVA安装、配置及卸载

基本上从入门到实用非常全面了。 安装 安装Eclipse先配置jdk jdk下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html (此处以jdk8为示例) 一、安装jdk   此处默认路径即可,单击下一步   安装完成后会弹出如下对话框,继续下一步   安装成功如下 ...

悬剑丨的博客 1万+

护网日志分析基础

简要介绍日志分析,给出日志分析的步骤和思路。要求根据日志中的字符串特征,识别攻击者的攻击工具;根据日志中的行为特征,确定攻击者可能的攻击手段等。总结归纳护网中常见的中间件Tomcat、Apache、Weblogic、Nginx、Apache、IIS、MySQL、SQL Server、Oracle的日志路径和日志配置文件路径等。

m0_59302403的博客 3700

如何彻底卸载java环境

通过java官方推荐的卸载方式 下载地址 https://java.com/en/download/uninstalltool.jsp 点击 I Agree to the Terms and Want to Continue 会弹出下载窗口将卸载软件下载下来;      ...

u010835426的博客 1万+

Halcon和C#联合编程实现硬币识别(个人入门练习)

本人为机器视觉入门小白,自己突发奇想 1.图片数据来源和分析 2.HALCON实现 3.C#搭建界面框架 4.C#中嵌入HALCON代码,即联合编程 5.导出.exe文件,运行以及Debug 目标是这样的,在图片中识别出每种类型的硬币数量,然后计算出总钱数。先上结果,再细说过程。 C#界面和识别结果: 1.图片数据来源和分析 图片大小及格式均统一,拍摄的时候已经尽可能的去除了背景噪点,所以图像处理的要求并不很高(重点在于思路)。硬币区分原理本人代码采用直径范围来判断(也可以半径或区域面积,HALCON算子

Demobird的博客 3627

LVGL移植教程(正点原子)

学习正点原子LVGL移植教程,根据视频教程写的博客

papalila的博客 945

如何卸载干净JAVA?

有很多小伙伴下载了JAVA的JDK(java开发工具包)并安装成功运行后,发现自己下错了版本。凉了,半天白搞了。卸载之后又发现在再安装出现安装不了的问题。这往往是因为JAVA并没有卸载完全。今天我们就看看如何完全卸载JAVA。 JAVA卸载有两种方式。手动和用JAVA卸载工具。 第一种,手动。 1.打开控制面板,找到卸载程序,在找到java的程序,并卸载。 2.这样之后,java虽然看不见了。但是还没有卸载干净。打开命令行窗口,输入命令regited。打开注册表窗口,删除ja...

m0_56022510的博客 10万+

ArcGIS基础:CAD数据转换为GIS数据(符号化显示、数据转换、线转面、空间连接)

1、符号化显示: CAD数据加载进来有很多列表,包含了点【point】、线【polyline】、面【polygon】、标注数据【Annotation】等数据,本次实验我们需要用到的是面数据,也就是.dwgPolygong格式的数据。如下图所示: 把数据加载进来,然后在2处打开属性表,查看CAD数据的属性表,打开后可以发现【layer】图层表示就是地块的用地性质,它就是符号化显示的依据。 我们在数据上右键【属性】,打开图层属性,找到【符号系统】,选择类别中的【唯一值】,然后在【值字段】下拉选择【layer】,

yuanYW7556的博客 2万+

如何将Java完全卸载

之前安装的Java没有卸载干净,造成重新安装JDK能正常安装,接着安装JRE的时候总是报1603错误。虽然说JRE安装报错了没安装上,但是eclipse、IntelliJ IDEA和AndroidStudio都能正常打开和使用,然而在命令行里却无法使用。虽然工具能正常打开,但是这不能忍,为此我差点就直接使用狂暴AOE秒杀大招重装系统了,还好,最后解决了。在这里,我分享一下我是如何解决的,有需要的小...

blackei的博客 16万+

104基于深度学习识别是AI生成还是真实图片

的可视化界面,通过点击左侧可以加载要识别的检测对象图片,点击中间的识别按钮,会识别出结果,识别结果在右侧显示,当前识别的图片是真实的图片,非假图片。有兴趣的小伙伴也可以自行扩充数据集,或训练自己的数据集。文本,分别存放了图片路径和对应的标签。文本里面的数据,并将训练好的模型也保存在本地。即可加载训练好的模型,真假图片进行识别。本期给大家介绍的是基于深度学习识别是。代码整体是非常简便的,总共三个。个文件夹分别是真图和。

xcvxvfgdfgfh的博客 2261

Mstar的Monitor方案OSD 菜单制作(五)——icon绘制

Mstar的Monitor方案(五)————绘制icon

android 系统定制开发那些事 1807

java null 写前面_java中判断对象为null时,null在前面还是后面

因为目前只学习并使用java语言,所以这里主要是根据java来说的Java中对null进行判断放在前后没有什么区别,只是为了代码规范,为了避免写代码时书写错误。下面面两个测试Demo都没有报错。null放在前面是为了避免少写一个"=","null="书写会报错,防止笔误写成"=null"时检查不出来。 @Testpublic void testDemo1() {String str = null;...

weixin_42524824的博客 2772

大厂校招:星宸科技嵌入式面试及参考答案(5万字长文)

当一个新的硬件设备被插入系统时,内核会发送一个设备事件通知 udev,udev 会根据设备的属性和规则,为该设备创建一个合适的设备文件。通过去除不必要的驱动程序、禁用不需要的功能、选择合适的内核配置选项、优化内核编译选项和定制内核模块等方法,可以减小内核的大小和复杂性,提高系统的性能和稳定性。上半部通常是在中断关闭的情况下执行的,以确保中断处理的原子性。处理碎片化内存是内存管理中的一个重要问题,可以采用内存压缩、内存池管理、伙伴系统、首次适应算法和最佳适应算法等方法来减少内存碎片的产生,提高内存的利用率。

大模型大数据攻城狮的专栏 2929

用html和css来写个人简介

简单的布局了一下页面,有很多地方可以修改,各位可以借鉴一下,勿喷,因为这个是第一次做这个

qq_74271928的博客 3551

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java中switch 没有break,和default 写在最前面!会发生什么!

今天复习了一下基础发现好多细节的东西都不知道打算把java基础在重新复习一遍。 一般在实际开发中case语句后面都会加上break 但是不加break会报错吗? 看一下代码: 第一种条件没有break int i=1; switch (i){ case 1: System.out.println("case1");...

zhanyunji9457的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

写时复制简介

PHP 在管理内存方面有一个机制叫写时复制(COW,Copy On Write),保证了变量间复制值不浪费内存:当一个变量的值复制到另一个变量时,PHP 没有为复制值使用更多的内存,相反,它会更新符号表来说明两个变量拥有相同的内存块,所以当执行下面的代码时并没有创建一个新的数组。写时复制技术(Copy on Write)是比较常用的一种技术,它的主要目的是延迟减少以及延迟内存的分配,增加执行效率,只有在真正进行写操作的过程中才会真正分配物理资源。相反,Java的读写锁中,读写是完全互斥的,能实现强一致性。

hbnn111的专栏 2439

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java学习-数据结构-写在最前面

这个系列是自己学着写一些Java的数据结构工具类,也就是util类中的一些结构。比如:ArrayList、LinkedList。 需要注意的是,我写的类不一定是按照Java真正的实现方式。很多和Java实现方式不一样,而且很多方法的返回值也不一样,传入的参数也不一样。 很多细节我也并未处理,所以难免会有bug。 以下有几点是读者需要注意的: 1)ArrayList和LinkedList都是线程不安...

阿斯蒂芬的博客 178

null写在==的前面和后面有什么区别

1、Null写在==的前面和后面有什么区别? 2、" "写在equals的前面和后面有什么区别?

songzi1228的博客 5251

java 插入 list前面

Java 中如何在 List 前面插入元素 在 Java 中,List 是一个非常常用的数据结构,允许我们存储有序的元素集合。在实际开发中,我们常常需要在一个已有的 List 的前面插入新元素。本文将介绍如何在 Java 中实现这一操作,并提供相应的代码示例。 使用 ArrayList 前面插入元素 ArrayList 是...

weixin_41193026的博客 203

null什么写在前面

原文链接:https://blog.youkuaiyun.com/songzi1228/article/details/105100605 备忘 : 1、null写在的前面和后面有什么区别? null放在前面就是为了避免变量为空时 引了空指针异常 如: if(anull) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了。 这种说法其实是不确切的。在java中: 当a = null的时候,if (a == null){ … }

HC_moyu的博客 3350

java null 在前_java中判断对象为null时,null在前面还是后面

因为目前只学习并使用java语言,所以这里主要是根据java来说的Java中对null进行判断放在前后没有什么区别,只是为了代码规范,为了避免写代码时书写错误。下面面两个测试Demo都没有报错。null放在前面是为了避免少写一个"=","null="书写会报错,防止笔误写成"=null"时检查不出来。@Testpublic void testDemo1() {String str = null;i...

weixin_30613479的博客 6756

java null 在前_java中判断对象为null时,null在前面还是后面?

实验首先通过两个例子来测试一下这两者的区别public void testDemo1() {String str = null;if (str == null) {System.out.println("null在后");return;}}public void testDemo2() {String str = null;if (null == str) {System.out.println(...

weixin_39899226的博客 720

java向list最前面插入一条数据

Java中的List操作:如何在列表最前面插入一条数据 在Java编程中,List是一个非常常用的数据结构,能够方便地存储和管理一系列的元素。为了帮助刚入行的小白理解如何在一个List的最前面插入一条数据,本文将详细阐述整个过程,包括每一步所需的代码示例及其注释。 操作流程 在进行具体的编码之前,我们可以先列出整个操作的步...

weixin_41542400的博客 1880

Java数值格式化前面补零

除了使用String类和DecimalFormat类,我们还可以使用Apache Commons Lang库中的StringUtils类的leftPad方法来实现数值前面补零的操作。除了使用String类的format方法,我们还可以使用DecimalFormat类来实现数值前面补零的操作。格式化字符串%02d,其中%d表示将整数值插入到字符串中,02表示将整数值格式化为两位数,并在前面补零。使用StringUtils类的leftPad方法对整数值进行处理,指定总长度为2,并在不足的位置补零。

Z_hhhha的博客 676

java list 元素加在最前面

我整理的一些关于【Java】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/f2PFnNJava List 元素加在最前面 在 Java 编程中,List 是一种非常常用的数据结构,它允许我们以特定的顺序存储多个元素。Java 中的 List 接口有多个实现类,其中最常用的是...

weixin_41459692的博客 362

java 读者写者问题

读者—写者问题(Readers-Writers problem)也是一个经典的并发程序设计问题,是经常出现的一种同步问题。计算机系统中的数据(文件、记录)常被多个进程共享,但其中某些进程可能只要求读数据(称为读者Reader);另一些进程则要求修改数据(称为写者Writer)。就共享数据而言,Reader和Writer是两组并发进程共享一组数据区,要求: (1)允许多个读者同时执行读操作; (

进击的小白 3050
上一篇: 我工作的第一个五年
下一篇: Java的数据类型
码农驿站
博客等级 码龄10年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值