一、Java语言概述

1、Java的前世今生

Java起源于Sun公司的Green计划,用于解决C++在实现嵌入式平台的复杂性等问题,起初叫做Oak,由于已被人使用后来改名为Java,第一版本于1995年发布了Java开源并免费使用。

1998年发布了Java1.2,同时分为3个版本J2ME(适用于移动设备和家电)、J2SE(Java核心和基础)、J2EE(应用最广泛的一部分,提供了企业应用开发相关的完整解决方案)。

2006年发布JDK1.6,2009年被Oracle收购,2011年发布Java SE 7。

2、Java的竞争对手

C#:Microsoft在Windows平台对Java进行了进一步改进,但是局限性在于只能使用Windows平台。
Ruby:最大的特征在于简洁,能够享受编程的快乐,弱类型、跨平台的语言。
Pyhton:面向对象的解释型编程语言,功能强大且完善,特点是可扩展性和清晰的语法。

3、Java的运行机制

Java即使编译型语言也是解释型语言,但是同样不纯粹。因为他首先需要通过编译(Compile)生成*.class文件,它是与平台无关的字节码文件,再由JVM(Java Virtual Machine)解释执行该文件。
JVM包含(指令集、寄存器、类文件的格式、栈、垃圾回收堆、存储区)。

4、Java的开发准备

JDK(Java Development Kit)和JRE(Java Runtime Environment)是开发前需要下载的,注意JDK已经包含了JRE,如果是开发需要下载JDK,仅是运行则只需要下载JRE

5、Hello World!

public class Main(){
public static void main(String args[]){
System.out.println(“Hello World!”);
}
}
编译使用命令javac Main.java

6.Java程序基本规则

类(Class)是Java程序的最小程序单位。如需某个类能被解释器直接解释执行,则这个类中必须包含main方法,且必须为public static void来修饰,且main方法的形参必须为字符串数组类型(String[] args)。

Java源文件后缀必须为.java,如果定义了一个public的类,则该源文件名必须与该public类的类名相同。

Java是大小写严格区分的语言,因此需要注意在使用时注意大小写问题。

7.垃圾回收机制

如果一些分配出去的内存得不到及时回收,会引起系统运行速度下降,甚至导致系统瘫痪,这种现象称为内存泄漏(Memory Leak)。内存溢出(Out Of Memory)是指程序申请需要内存时,系统无法给予或没有足够的空间可供其使用。内存泄漏的累积会成为内存溢出的原因之一。

Java程序的内存分配和回收都由JRE后台自动进行的。JRE会负责自动回收那些不再使用的内存,这种机制叫做垃圾回收(Grabage Collection,简称GC)。通常JRE会提供一个后台线程来进行检测和控制,一般在CPU空闲或空间不足时自动进行回收,程序员无法精确控制垃圾回收的时间和顺序等。

垃圾回收的特点:
①.垃圾回收机制的工作目标是回收无用对象的内存空间,这些内存空间都是JVM堆内存中的内存空间,垃圾回收只能回收内存资源,对于其他物力资源,如数据库的连接、磁盘I/O等资源则无能为力。
②.垃圾回收发生的不可预知性。由于不同JVM采用不同的垃圾回收机制和算法,因此虽然程序员可以通过调用对象的finalize()或System.gc()等方法来建议系统回收,但实际依然不能精确控制其执行。

对于不在使用的对象,不要再引用他们,可以通过设置引用对象为null来建议GC回收。JDK7提供了G1垃圾回收器代替原有的并行标记/清除垃圾回收器(简称:CMS)。

8.IDE工具的使用

Java编程的基础不在于工具的使用,不能完全依赖于工具,需要清楚了解IDE在底层实际做了每个细节时,才能更好的使用工具。因此不要从工具开始学习Java。

《Java疯狂讲义》重点及相关信息 第一章相关推荐

  1. java疯狂讲义第四版第五章答案_疯狂java讲义第五章笔记

    1 定义类,成员变量和方法 类和对象 定义类 java的类名由一个或者多个有意义的单词组合而成,每个单词的首字母大写,其他的全部消协,并且单词之间没有分隔符. 成员变量:用于定义该类或者实例的所包含的 ...

  2. 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展

    一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...

  3. 尽信书,不如无书。java的包装类Integer的深入理解及特殊情况(以及java疯狂讲义第5版170页中的错误)

    1.通常情况下,两个包装类型只有在两个引用指向同一对象时,使用 == 进行比较时才会返回true 例如: Double do1 = Double.valueOf(1.23); Double do2 = ...

  4. java疯狂讲义第八章-集合

    8. java疯狂讲义第八章-集合 Java 集合就像一种容器, 可以把多个对象(实际上是对象的引用,但习惯上都称对象) "丢进"该容器中. java集合分为Set.List.Qu ...

  5. java疯狂讲义笔记整理(第二版第一部分)

    第一章    java语言概述 1.1    java语言的发展简史 1990末:    sun公司"Green计划"(James Gosling领导)        ----目的 ...

  6. java获取usb设备的相关信息

    我从上上个礼拜开始接触,公司需要,所以开始在网上搜索相关资料,但是都没有找到合适的范例,但万幸终于测试出合适的代码. import java.io.UnsupportedEncodingExcepti ...

  7. DVB-S 相关知识点第一章--卫星电视简介

    目录 前言 系列文章 卫星电视标准: 卫星电视特点 卫星电视系统组成: 卫星电视信号传输过程: 卫星电视节目来源 卫星信号传输图 卫星天线系统简介 卫星天线组成: 卫星天线种类: 卫星天线系统组成简介 ...

  8. 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制

    内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...

  9. java疯狂讲义内存分配_java疯狂讲义学习:面向对象(上)

    5.7.2 编写java程序时,引用变量只能调用它编译时类型的方法,不能调用它运行时类型的方法. 理解:引用变量只能调用引用变量类型中的方法,不能调用引用变量实际指向对象中"额外" ...

  10. java8--IO(java疯狂讲义3复习笔记)

    产生文件 File file = new File("abc.txt");if(!file.exists()){System.out.println(file.exists()); ...

最新文章

  1. python秩和检验(Kruskal-Wallis H Test)
  2. 2019研究生数学建模比赛题目
  3. linux查询服务器cpu核数_如何查看linux服务器的cpu数量,内核数,和cpu线程数
  4. junit junit_JUnit理论简介
  5. matlab如何添加度,matlab里的模糊工具箱绘制隶属度函数曲线导入到word的方法
  6. 宜信开源|微服务任务调度平台SIA-TASK入手实践
  7. 本人从事软件技术开发也有多年,打算先尝试往外迈一步试试!
  8. 揭秘全球第二大基金公司:先锋基金70人投资团队掌管2万亿美元股票资产
  9. 【4-11】读书笔记 |《推荐系统实践》- 个性化推荐系统总结
  10. AWVS Linux 破解版在 Centos7 下安装过程中存在问题记录
  11. 麟龙指标通达信指标公式源码_通达信仿麟龙决策曲线指标公式
  12. 使用Excel批量生成SQL语句
  13. 鸿蒙方将腐皮雀跃而有,鸿蒙是谁:生于庄子,火于华为
  14. 【笔记】架构整洁之道
  15. 计算机CPU像人的大脑,人脑与电脑的相似性与差异性及全球脑
  16. 黑科技新添成员, 小米mix5再次创新, 但这些真的只是黑科技的全部吗?
  17. sap清账使用反记账_【转】SAP反记账功能祥解
  18. 拓嘉启远电商:拼多多店铺怎样才具有竞争力
  19. OpenFlow网络基本介绍
  20. matlab设置xyz,matlab基本XYZ立体绘图命令

热门文章

  1. 仿360加速球。(实现内存释放)
  2. pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2)
  3. 2022超级好看动态视频官网HTML源码
  4. Unity3D资源加载Resources
  5. JAVA程序员--壁纸
  6. 泛微协同办公平台E-cology9.0版本最全帮助文档
  7. 「架构师必备」关于网络优化你必须要知道的重点
  8. 【Matlab取整函数】
  9. 十四步实现拥有强大AI的五子棋游
  10. 软件开发中的资源管理