网站首页 > 基础教程 正文
Java由Sun Microsystems Inc于1991年开发,后来被Oracle Corporation收购。它是由James Gosling和Patrick Naughton开发的。它是一种简单的编程语言。在Java中编写、编译和调试程序很容易。它有助于创建模块化程序和可重用代码。
在我们开始学习Java之前,让我们先熟悉一下常见的Java术语。
Java虚拟机(JVM)
这通常称为JVM。之前,我们讨论JVM让我们看看程序执行的阶段。阶段如下:我们编写程序,然后编译程序,最后运行程序。
1、程序的编写当然是像你我这样的java程序员。
2、程序的编译由javac编译器完成,javac是java开发工具包(JDK)中的主要java编译器。它以java程序为输入,生成java字节码作为输出。
3、第三阶段,JVM执行编译器生成的字节码。这称为程序运行阶段。
所以,现在我们明白了JVM的主要功能是执行编译器产生的字节码。每个操作系统都有不同的JVM,但是它们在执行字节码后产生的输出在所有操作系统中都是相同的。这就是我们称java为平台无关语言的原因。
字节码
如上所述,JDK的javac编译器将java源代码编译成字节码,以便JVM执行。字节码由编译器保存在一个.class文件中。
Java开发工具包(JDK)
在解释JVM和字节码时,我使用了术语JDK。让我们讨论一下。顾名思义,这是一个完整的Java开发工具包,包括JRE(Java运行时环境)、编译器和各种工具,如JavaDoc、Java调试器等,为了创建、编译和运行Java程序,您需要在您的计算机上安装JDK。
Java是一种面向对象的语言
面向对象编程是一种将程序组织为对象集合的方法,每个对象代表一个类的实例。
面向对象编程的4个主要概念是:
抽象 封装 遗产 多态性 简单的
Java被认为是一种简单的语言,因为它没有运算符重载、多重继承、指针和显式内存分配等复杂特性。
健壮的语言
稳健意味着可靠。Java编程语言的开发方式非常重视早期检查可能的错误,这就是为什么Java编译器能够检测其他编程语言不易检测到的错误的原因。使其健壮的Java的主要特性是垃圾收集、异常处理和内存分配。
安全的
我们没有指针,我们不能在java中访问越界数组(如果你尝试这样做,你会得到ArrayIndexOutOfBoundsException)。这就是为什么在Java中不可能利用堆栈损坏或缓冲区溢出等几个安全漏洞的原因。
Java是分布式的
使用java编程语言我们可以创建分布式应用程序。RMI(远程方法调用)和EJB(企业Java Beans)用于在java中创建分布式应用程序。简而言之:Java程序可以分布在多个使用Internet连接相互连接的系统上。一个JVM(java虚拟机)上的对象可以在远程JVM上执行过程。
多线程
Java支持多线程。多线程是Java的一项特性,它允许同时执行程序的两个或多个部分,以最大限度地利用CPU。
更多知识请看下方视频,能让小白快速掌握Java基础知识。
尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili
猜你喜欢
- 2024-11-30 java实现10种排序算法
- 2024-11-30 Java高频面试题- 每日三连问?「Day7」—数据库篇
- 2024-11-30 java如何调用支付宝和微信支付功能
- 2024-11-30 java常见异常机制
- 2024-11-30 Java性能优化的50个细节,我必须分享给你
- 2024-11-30 JAVA常见异常
- 2024-11-30 你还在遍历搜索集合?别逗了!Java 8 一行代码搞定,是真的优雅
- 2024-11-30 「Java面试题第一期」Java常见异常有哪些?
- 2024-11-30 灵魂拷问:如何检查Java数组中是否包含某个值?
- 2024-11-30 java面试题
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)