【Java基础】Java 语言概述
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 语言概述的更多相关文章
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java基础-Java中的内存分配与回收机制
Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
- Java基础-Java数据类型
Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...
- java基础---java语言概述
一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...
- Java基础学习_01 概述及环境配置
一.概述 1.Java语言平台版本 1.1J2SE(Java 2 Platform Standard Edition)标准版 为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可 ...
随机推荐
- 【学习笔记】K-D tree 区域查询时间复杂度简易证明
查询算法的流程 如果查询与当前结点的区域无交集,直接跳出. 如果查询将当前结点的区域包含,直接跳出并上传答案. 有交集但不包含,继续递归求解. K-D Tree 如何划分区域 可以借助下文图片理解. ...
- 协程gevent学习
import gevent def f1(): print(11) gevent.sleep(2) print(33) def f2(): print(22) gevent.sleep(1) prin ...
- logstash导入DNS解析数据到es中,中间有filebeat
这个过程中,主要用logstash处理数据的时候不好处理. 在logstash-sample.conf这个配置文件中的配置,我用这个监控filebeat的5044端口 # Sample Logstas ...
- 情话爬虫工具[windows版]
有没有在气氛暧昧的情况下想说点什么却又无话可说?女朋友有没有抱怨过你,只会写代码,一点都不懂情调?这次,是时候要改变她对你的看法了!一键爬取情话,情话全都躺在txt里面.想怎么玩就怎么玩!张口一句情话 ...
- Vue-组件传值:子传父和兄弟组件间常见的传值方式
前言 上篇介绍了我对vue组件化的理解和父组件对子组件传值的方式,这篇介绍下常见的子传父和兄弟组件间的传值方式 目录 子组件向父组件传值 任意组件间的传值方式 正文 子组件向父组件传值 关键知识点:$ ...
- Python 学习笔记 之 随着学习不断更新的Python特性搜集
大小写敏感 缩进敏感--tab和空格不要混用,最好使用4个空格进行缩进.可使用vim配置缩进字符为4个空格 编写py文件时注意文件的编码,UTF-8 without BOM, 并且记得声明coding
- css 02-CSS属性:背景属性
02-CSS属性:背景属性 #background 的常见背景属性 css2.1 中,常见的背景属性有以下几种:(经常用到,要记住) background-color:#ff99ff; 设置元素的背景 ...
- js下 Day12、案例
一.垃圾分类 效果图: 功能思路分析: 1. 鼠标按下 (1) 获取鼠标到元素的距离(e.offsetX) (2) 开启开关变量 (3) 获取事件源 (4) 记录垃圾初始位置 2. 鼠标移动 ( ...
- 海选与包装,Python中常用的两个高阶函数(讲义)
一.filter(function, iterable) - 过滤("海选") # 判断落在第一象限的点[(x1, y1), (x2, y2)...] points = [(-1, ...
- Python之猜拳游戏
第一次写这东西,主要是为了记录自己的学习历程,或者说是为了忘记的时候找回来看看. 今天是参加风变编程培训第10天.昨天晚上完成了第10关关底的猜拳小游戏. 要求:人和电脑轮流出拳.判断输赢. 给出列表 ...