Java 语言概述

主要应用场景

JavaEE、大数据、Android 开发方向。

基础知识概述

  • 编程语言核心结构
  • 变量、基本语法、分支、循环、数组、…
  • Java 面向对象的核心逻辑
    • OOP、封装、继承、多态、接口、…
  • 开发 Java SE 高级应用程序
    • 异常、集合、I/O、多线程、反射机制、网络编程、……
  • 实训项目
    • 项目一:家庭收支记账软件
    • 项目二:客户信息管理软件
    • 项目三:开发团队人员调度软件
    • 附加项目一:银行业务管理软件
    • 附件项目二:单机考试管理软件

练习和总结


Java 语言的特点是什么?

  • 面向对象性

    • 两个基本概念:类、对象
    • 三大特性:封装、继承、多态
  • 语言健壮性
    • 吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。
    • 自动的垃圾回收机制。
  • 跨平台性
    • 通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。
    • 只需要在运行 Java 应用程序的 OS 上,先安装一个 JVM,由 JVM 来负责 Java 程序在该系统中的运行。

System.out.println() 和 System.out.print() 有什么区别?

一个换行,一个不换行。


一个 ".java" 源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以,但是最多只有一个类名声明为 public,类名与文件名相同。


Something 类的文件名叫 OtherThing.java 是否正确?

class Something {
public static void main(String[] something_to_do) {
System.out.println("Do something ...");
}
}

正确。从来没有人说过 Java 的 Class 名字必须和其文件名相同。但public class 的名字必须和文件名相同。


设置 path 的目的是什么?

目的是为了在控制台的任何文件路径下,都可以调用 jdk 指定目录下的所有指令。


JDK、JRE 和 JVM 的关系是什么?

JDK(Java Development Kit),即 Java 开发工具包、JRE(Java Runtime Environment),即 Java 运行环境、JVM(Java Virtual Machine),即 Java 虚拟机。

JDK 包含 JRE,JRE 包含 JVM。

JDK = JRE + 开发工具集

JRE = JVM + 核心类库


源文件名是否必须与类名相同?如果不是,那么什么情况下,必须相同?

不是,只有 public class 的名字必须和文件名相同


程序中若只有一个 public 修饰的类,且此类含 main 方法。那么类名与源文件名可否不一致?

不可以。


Java 的注释方式有哪几种,格式是什么?

单行注释、多行注释、文档注释 (java 特有)


GC 是什么? 为什么要有 GC?

GC 即 垃圾收集机制,内存处理是编程人员容易出现问题的地方,

忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显式操作方法。


垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。

当 GC 确定一些对象为"不可达"时,GC 就有责任回收这些内存空间。

可以。程序员可以手动执行 System.gc(),通知 GC 运行,但是 Java 语言规范并不保证 GC 一定会执行。


结合\n(换行),\t(制表符),空格等在控制台打印出心形的效果?

package com.parzulpan.java.ch01;

/**
* @author : parzulpan
* @time :2020-11-16
* @attention : 结合\n(换行),\t(制表符),空格等在控制台打印出心形的效果
*/ public class PrintStar {
public static void main(String[] args) {
System.out.print("\t" + "*" + "\t\t\t\t\t\t\t\t\t\t\t\t" + "*" + "\t" + "\n");
System.out.print("*" + "\t\t" + "*" + "\t\t\t\t" + "I love Java" + "\t\t\t\t" + "*" + "\t\t" + "*" + "\n");
System.out.print("\t" + "*" + "\t\t\t\t\t\t\t\t\t\t\t\t" + "*" + "\t" + "\n");
System.out.print("\t\t" + "*" + "\t\t\t\t\t\t\t\t\t\t" + "*" + "\t\t" + "\n");
System.out.print("\t\t\t" + "*" + "\t\t\t\t\t\t\t\t" + "*" + "\t" + "\n");
System.out.print("\t\t\t\t" + "*" + "\t\t\t\t\t\t" + "*" + "" + "\t" + "\n");
System.out.print("\t\t\t\t\t" + "*" + "\t\t\t\t" + "*" + "" + "\t\t" + "\n");
System.out.print("\t\t\t\t\t\t" + "*" + "\t\t" + "*" + "" + "\t\t" + "\n");
System.out.print("\t\t\t\t\t\t\t" + "*" + "\n");
}
}

【Java基础】Java 语言概述的更多相关文章

  1. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  2. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. Java基础-Java中的内存分配与回收机制

    Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.

  4. Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)

    Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...

  5. Java基础-Java中的并法库之线程池技术

    Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.

  6. Java基础-Java中23种设计模式之常用的设计模式

    Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...

  7. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  8. Java基础-Java数据类型

    Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...

  9. java基础---java语言概述

    一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...

  10. Java基础学习_01 概述及环境配置

    一.概述 1.Java语言平台版本 1.1J2SE(Java 2 Platform Standard Edition)标准版 为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可 ...

随机推荐

  1. TCP连接时动态端口的相关问题说明

    最近在线上遇到一个TCP动态端口相关的问题,之前没有留意过此类问题,做个笔记记录在这里,希望也能给大家提供个参考. 简单介绍下问题的场景:Windows服务器上,部署了网关程序SG和RPC进程,其中R ...

  2. 算法——K 个一组翻转链表

    给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 示例: 给你这个 ...

  3. git相关操作

    git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...

  4. 【Django 字段和相关参数补充】

    字段类型: 1.models.AutoField 自增列=int(11) 如果没有的话,默认会生成一个名称为id的列,如果要显示的自定义一个自增列,必须将给列设置为主键primary _key=Tru ...

  5. rhel6.4搭建rac前共享存储配置(iscsi+multipath+udev)

    rhel6.4搭建rac前共享存储配置(iscsi+multipath+udev) server: IP配置: 192.168.12.30 192.168.12.40   添加一个100G磁盘/dev ...

  6. SQL盲注、SQL注入 - SpringBoot配置SQL注入过滤器

    1. SQL盲注.SQL注入   风险:可能会查看.修改或删除数据库条目和表.   原因:未对用户输入正确执行危险字符清理.   固定值:查看危险字符注入的可能解决方案. 2. pom.xml添加依赖 ...

  7. Eclipse的基本设置与使用

    下载完eclipse后,还不能立即来写代码,需要完成一些必要的设置 设置 1.对整个工作区设置编码格式 选择菜单栏中的"Window"选项,然后选择"Preference ...

  8. 简易CLI

    使用C语言实现一个简易的CLI,命令通过模式进行划分,实现效果如下: 代码较为简单,主要是为了方便进行移植,这里就不进行详细的说明了. 代码路径:https://github.com/zhengcix ...

  9. WIN7远程桌面连接提示:“发生身份验证错误。要求的函数不受支持”

    问题 WIN7远程桌面连接–"发生身份验证错误.要求的函数不受支持" 最近WIN7升级补丁后发现远程桌面无法连接了,报"发生身份验证错误.要求的函数不受支持"的 ...

  10. 【程序包管理】Linux程序包管理之yum源安装

    yum源安装是我们工作中常用的一种方式,它是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RP ...