一. 绪

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. 完整注册+JQuery验证+selert后台校验

    Java代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  2. android 方案源码下载repo同步遇到的问题

    1. error: could not verify the tag 'v1.12.4'的解决 repo init -u git://github.com/CyanogenMod/android.gi ...

  3. QlikSense系列(1)——整体介绍

    接触QlikSense(3.1 SR1)已经快一年了,在此记录自己的经验心得,为想了解QlikSense的小伙伴提供一个参考. 1.产品介绍 Qlik公司以QlikView产品成名,QlikSense ...

  4. Linux目录结构(一)

    linux文件系统的最顶端是/,称为linux的root,所有的目录.文件.设备都在/之下. 文件类型 linux有四种基本文件系统类型:普通文件.目录文件.连续文件和特殊文件.可以用file命令来识 ...

  5. 。net内存优化

    1.尽量减少和避免不必要的对象 2.优化算法和数据结构 3.采用非托管代码或者模块编写数据处理逻辑 4.NET应用程序的内存一定程度上受垃圾回收的影响.并指出,一些数据结构如List,系统会分配多余的 ...

  6. java 公开内部类无法实例化 no enclosing instance 解决办法

    因为B类不是A类的静态内部类,所以B累也只能像A类的成员一样通过new A()的实例访问,new(new A()).B(),这显然不是我们想要的方式,于是需要在B类的前边加上static,变成下边这样 ...

  7. 根据 thread id 停止一个线程

    出自 https://github.com/Bogdanp/dramatiq/blob/master/dramatiq/middleware/threading.py#L62 thread_id = ...

  8. B-Tree概念

    记录下学习B-Tree: concept:(m-阶) 1.  根节点 孩子数 ( 2 <= N <= m) 根节点key数([m/2] - 1 <= n <=  m -1) 2 ...

  9. MySQL的读写分离的几种选择

    MySQL的读写分离的几种选择 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 原址如下: http://heylinux.com/archives/1004. ...

  10. Eclipse Maven 创建Hello World Web项目

    通过Eclipse创建Maven Web项目的简单步骤 先决条件 (Prerequisites) 1,JDK  environment, 具体的安装JDK的步骤和环境配置一般网上都有,这里就不在赘述. ...