【Java 温故而知新系列】基础知识-01 概述
1、什么是Java
2、JVM、JRE和JDK的关系

3、Java语言有哪些特点
- 简单易学(Java语言的语法与C语言和C++语言很接近);
- 面向对象(封装,继承,多态);
- 平台无关性(Java虚拟机实现平台无关性);
- 支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的);
- 支持多线程(多线程机制使应用程序在同一时间并行执行多项任);
- 健壮性(Java语言的强类型机制、异常处理、垃圾的自动收集等);
- 安全性。
4、Java 跨平台性的原理是什么
JVM充当了软件层面的抽象计算机,在不同平台之间提供了一致的接口。这意味着Java编译器只需生成与JVM兼容的字节码,而无需考虑最终运行程序的具体环境。每个支持Java的平台都有一个特定版本的JVM,它能够读取字节码并将其转换为该平台上原生的机器指令来执行。由于各个平台上的JVM实现了相同的规范,因此它们都能正确地解释和执行同样的字节码,从而确保了Java应用程序的跨平台兼容性。
此外,现代JVM通常还包含了即时编译器(JIT),它可以将频繁使用的字节码片段编译为直接的机器码,以提高执行效率。这种方式结合了编译型语言的速度优势和解释型语言的灵活性,使得Java程序不仅可以在多种环境中高效运行,而且具有良好的性能表现。总结来说,Java通过引入JVM和字节码机制,巧妙地解决了跨平台编程的问题,同时保持了高性能的潜力。

5、Java和C++的区别
- 都是面向对象的语言,都支持封装、继承和多态
- Java不提供指针来直接访问内存,程序内存更加安全
- Java的类是单继承的,C++支持多重继承;虽然Java的类不可以多继承,但是 接口可以多继承。
- Java有自动内存管理机制,不需要程序员手动释放无用内存。
6、Java语言采用何种编码方案?
Java语言采用Unicode编码标准,Unicode(标准码),它为每个字符制订了一 个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。
【Java 温故而知新系列】基础知识-01 概述的更多相关文章
- Java多线程系列 基础篇01 线程的状态
1.进程和线程 进程: 计算机中程序关于某数据集合的一次运行活动,是计算机系统进行资源分配和调度的基本单位,是操作系统结构的基础. 线程: 线程是进程的实例,是CPU进行资源分配和调度的最小单位,线程 ...
- Java多线程系列--“基础篇”01之 基本概念
多线程是Java中不可避免的一个重要主体.从本章开始,我们将展开对多线程的学习.接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait( ...
- Java多线程系列--“基础篇”11之 生产消费者问题
概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...
- Java多线程系列--“基础篇”04之 synchronized关键字
概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchro ...
- Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程 ...
- Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答.本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start( ...
- Java多线程系列--“基础篇”05之 线程等待与唤醒
概要 本章,会对线程等待/唤醒方法进行介绍.涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long t ...
- Java多线程系列--“基础篇”06之 线程让步
概要 本章,会对Thread中的线程让步方法yield()进行介绍.涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较 转载请注明出处:ht ...
- Java多线程系列--“基础篇”07之 线程休眠
概要 本章,会对Thread中sleep()方法进行介绍.涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较 转载请注明出处:http:// ...
- Java多线程系列--“基础篇”08之 join()
概要 本章,会对Thread中join()方法进行介绍.涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例 转载请注明出处:http ...
随机推荐
- python+ffmpeg视频转码转格式
本文转发来自:https://blog.csdn.net/KH_FC/article/details/115771126 废话 python目前自己也是在学习当中,对python也不是特别精通,写视频 ...
- IO体系
IO,即in和out,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件.管道.网络连接. Java 中是通过流处理IO 的,那么什么是流? 流(Stream),是一个抽象的 ...
- redis哨兵模式下主从切换后,php实现自动切换
redis的哨兵模式,在主服务器挂掉后,会通过选举将对应的从服务器切换为主服务器,以此来达到服务的高可用性. 在业务层面如果主从做了切换可能相对应的服务器IP地址会发生改变,这样会带来程序的的正常运行 ...
- [Apache Doris] Apache Doris 架构及代码目录解读
一.系统架构 Doris是一个MPP的OLAP系统,主要整合了Google Mesa(数据模型),Apache Impala(MPP Query Engine)和Apache ORCFile (存储格 ...
- 3.8 Linux显示当前工作路径(pwd命令)
由于 Linux 文件系统中有许多目录,当用户执行一条 Linux 命令又没有指定该命令或参数所在的目录时,Linux 系统就会首先在当前目录(目前的工作目录)搜寻这个命令或它的参数.因此,用户在执行 ...
- 基于sqli-labs Less-1的sql联合注入详解
SQLi Labs 是一个专为学习和测试 SQL 注入漏洞设计的实验平台,旨在帮助安全研究人员.开发者和网络安全爱好者深入理解并实践各种 SQL 注入攻击.该平台提供了一系列精心设计的实验环境,模拟真 ...
- cmu15545-数据存储(Database Storage)
蓝图 数据库自己管理磁盘数据和缓冲区,而不是通过操作系统管理(Os is not your friend.). 三层视图 数据库以页(page)为存储数据的基本单位,文件(file)是一系列页的集合, ...
- PS命令显示进程数,清理僵尸进程
显示系统上所有进程的进程树 ps -ef --forest 显示给定进程的进程树 -C:Select by command name.这个命令会把name指定进程的所有子进程显示出来 [root@lo ...
- jmeter接口测试应用
一.jmeter下载 安装jmeter: 地址https://jmeter.apache.org/download_jmeter.cgi 下载 [apache-jmeter-XXX. zip ]解压缩 ...
- python 递归比较两个文件夹
以下 import filecmp, os def compare_folders(folder1, folder2): dcmp = filecmp.dircmp(folder1, folder2) ...