一. 绪

1.软件:按照特定顺序组织的计算机数据和指令的集合。

软件开发:借助开发工具与计算机语言制作软件

2.计算机语言:用于人与计算机通讯的语言

分为机器语言,汇编语言,高级语言

高级语言分为编译行语言和解释型语言

编译型语言:源程序编译成二进制代码的可运行程序,然后运行    源代码-->机器码         执行速度快,效率高,依赖编译器,跨平台性差

解释型语言:源程序翻译一句执行一句,知道结束    源代码-->中间代码(字节码文件)-->机器码     执行速度慢,效率低,依赖解释器,跨平台性好

通俗的讲,编译语言是在编译后可以直接运行,而解释语言的执行需要一个解释环境。java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。

——常用的DOS命令

打开DOS控制台的方式

1、开始—程序—附件—命令提示符

2、开始—运行—cmd—回车

3、win+r—cmd—回车

常用的DOS命令

d: 回车 盘符切换

dir(directory):列出当前目录下的文件以及文件夹

md (make directory) : 创建目录

rd (remove directory): 删除目录

cd (change directory)改变指定目录(进入指定目录)

cd.. : 退回到上一级目录

cd\: 退回到根目录

del (delete): 删除文件,删除一堆后缀名一样的文件*.txt

exit : 退出dos命令行

cls : (clear screen)清屏

——Java语言平台版本

J2SE  Java SE(Java 2 Platform Standard Edition)标准版

是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。

J2ME(Java 2 Platform Micro Edition)小型版

是为开发电子消费产品和嵌入式设备提供的解决方案。

J2EE(Java 2 Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发。

——配置环境变量

我的电脑(右键)—>属性—>高级系统设置—>高级—>环境变量

——JAVA_HOME

系统变量自带是没有JAVA_HOME这个变量,变量值就是JDK安装的路径,需要自己编辑如下:

——PATH

PATH在系统变量中本来就是存在的,在最前面输入Bin的路径(用分号隔开其他路径),编辑如下:

$JAVA_HOME%\bin

C:\java\jdk\bin

——CLASSPATH

系统自带的变量是没有CLASSPATH的,需要添加

这是 Java 的环境配置,配置完成后,可以启动 Eclipse 来编写代码,它会自动完成java环境的配置。

注意:如果使用1.5以上版本的JDK,不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序。

——测试JDK是否安装成功

1、"开始"->"运行",键入"cmd";

2、键入命令: java -version、java、javac 几个命令,出现以下信息,说明环境变量配置成功;

——Java语言的主要特性

1.跨平台性

软件不受计算机硬件和操作系统的约束,而在任意计算机环境下正常运行

在Java语言中, Java自带的虚拟机很好地实现了跨平台性。

2.面向对象

3.安全性(鲁棒性)

4.多线程

多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。 Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。

5.简单易用

——JREJDK

JRE(Java Runtime Environment    Java运行环境)

包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK(Java Development Kit    Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)

       简单而言:使用JDK开发完成的java程序,交给JRE去运行。

——Java的跨平台性

因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

     Java语言是跨平台的,而JVM不是跨平台的。

——Bytecode(字节码文件)

字节码文件是经过编译器预处理过的一种文件,是JAVA的执行文件存在形式,它本身是二进制文件,但是不可以被系统直接执行,而是需要虚拟机解释执行,由于被预处理过,所以比一般的解释代码要快,但是仍然会比系统直接执行的慢。

机器码,完全依附硬件而存在,并且不同硬件由于内嵌指令集不同,即使相同的0 1代码 意思也可能是不同的~换句话说,根本不存在跨平台性~比如~不同型号的CPU,你给他个指令10001101,他们可能会解析为不同的结果。

我们知道JAVA是跨平台的,为什么呢?因为他有一个jvm,不论那种硬件,只要你装有jvm,那么他就认识这个JAVA字节码,至于底层的机器码,咱不用管,有jvm搞定,他会把字节码再翻译成所在机器认识的机器码。

——GC    垃圾回收器

        Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。

       对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们称该对象为“不可达的”,GC将负责回收所有“不可达”对象的内存空间。

gc会开启线程清理内存,不是及时回收的,根据内存效率,如果真的内存紧张了,才会回收,或者系统处于空闲状态,才会回收,所以说gc优先级较低,为的就是提高运行效率,程序员无法对其控制,由虚拟机控制,我们只能提出建议,但是人家不一定接受。

System.gc()/Runtime.gc()          //代码作用建议垃圾回收此处进行工作

什么是跨平台性?

通过Java语言编写的应用程序在不同的系统平台上都可以运行。

原理是什么?

只要在需要运行java应用程序的操作系统上,

先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

为什么JDK中包含一个JRE呢?

其一,开发完的程序,总需要运行一下看看效果。

其二,也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便使用才打包成exe文件,如果没有JRE,那么这些工具是运行不了的。

Core Java(一)的更多相关文章

  1. applet示例 WelcomeApplet.java <Core Java>

    import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.Grap ...

  2. Core Java Volume I — 1.2. The Java "White Paper" Buzzwords

    1.2. The Java "White Paper" BuzzwordsThe authors of Java have written an influential White ...

  3. Core Java Volume I — 4.7. Packages

    4.7. PackagesJava allows you to group classes in a collection called a package. Packages are conveni ...

  4. Core Java Interview Question Answer

    This is a new series of sharing core Java interview question and answer on Finance domain and mostly ...

  5. Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

  6. Core Java读书笔记之String

    Java里面的String Conceptually, Java Strings are sequences of Unicode characters. Java里面的String都是Unicode ...

  7. Top 25 Most Frequently Asked Interview Core Java Interview Questions And Answers

    We are sharing 25 java interview questions , these questions are frequently asked by the recruiters. ...

  8. Difference Between Arraylist And Vector : Core Java Interview Collection Question

    Difference between Vector and Arraylist is the most common  Core Java Interview question you will co ...

  9. Core Java (十一) Java 继承,类,超类和子类

    Core Java (十一) Java 继承,类,超类和子类 标签: javaJavaJAVA 2013-01-22 17:08 1274人阅读 评论(0) 收藏 举报  分类: java(58) 读 ...

  10. Core Java的那点事儿之ArrayList

    Core Java的那点事儿之ArrayList 万丈高楼平地起,Java基础要拿起.今天就从我看的Core Java里找了些小基础点来分享一下. 首先隆重介绍一下专业级龙套演员---Employee ...

随机推荐

  1. 解决:[WARNING] fpm_children_bury(), line 215: child 2736 (pool default) exited on signal 15 SIGTERM after 59.588363 seconds from start

    试用Nginx + PHP FastCGI 做WEB服务器,运行了几个月的时间,烦恼的是经常碰到Nginx 502 Bad Gateway 这个问题. 参考了很多修改办法,这个502的问题一直存在,今 ...

  2. JS进阶 - 浏览器工作原理

    一.浏览器的结构 浏览器的主要组件为: 用户界面 - 包括地址栏.前进/后退按钮.书签菜单等.除了浏览器主窗口(显示页面),其他部分都属于用户界面. 浏览器引擎 - 在用户界面和渲染引擎之间传送指令. ...

  3. Book 树状数组 小结

    差不多花了10天学树状数组,是照着这篇博客做的题目,还差几道---------- http://blog.csdn.net/chenguolinblog/article/details/9916229 ...

  4. JS判断客户端是否是iOS或者Android或者ipad(一)

    通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端.代码如下<script type="text/javascript"> var u ...

  5. Python笔记26----正则表达式匹配

    1.语法: 2.题目1:数据类型: 如果要选择 time 为2014-12-18那天的数据:采用正则化来处理 代码:   import re regex = re.compile(r'^2014-12 ...

  6. idea编写Swing程序中文乱码的解决办法

    Run -> Edit Configurations ,在图示位置加入-Dfile.encoding=gbk

  7. nginx1.15.8源码安装

    useradd www -s /sbin/nologin -M yum -y install gcc  pcre-devel openssl-devel cd /usr/local/src wget ...

  8. Map的四种遍历方法

    1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...

  9. java判断输入的数字的位数_数字问题

    import java.util.Scanner;public class Numbers { public void Judgy(int n){ for(int i=0;i<100;i++){ ...

  10. echarts如何更改表格主题颜色

    vue项目中,需要使用echarts时,需要根据UI设计图进行图标颜色修改 方法一: 1.在script中引入echarts以及主题样式: import echarts from 'echarts'; ...