1、Java主要技术和分支以及应用领域
(1)Java SE
Java Platform,Standard Edition,Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序,能为Java EE提供开发基础。
(2)Java EE
Java Platform,Enterprise Edition,以前称为J2EE。可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。
(3)Java ME
Java Platform,Micro Edition,以前称为J2ME,也叫K-JAVA。用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)。现在使用的越少用了,Android会逐渐的取代J2ME的市场份额。
2、每种平台的可执行文件
windows平台的可执行文件大部分是以exe后缀结尾,而Linux平台是以bin后缀结尾,而java的虚拟机JVM的可执行文件是以class为后缀的!
3、跨平台
 
java跨平台,而java虚拟机JVM是不跨平台的,因为它是针对不同的操作系统的!

java虚拟机就是需要跟操作系统交互的,但是我们的应用是运行在java虚拟机之上的,所以我们写的应用能跑在不同的操作系统之上。原因就是java虚拟机帮我们隔离了应用和操作系统。应用不依赖于底层操作系统,所以可以跨平台!
Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如Windows平台或Linux、Unix等)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件(JVM)而已!
(1)Java Virtual Machine ,简称JVM;
(2)它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一
       JVM读取并处理编译过的与平台无关的字节码(class)文件。
(3)Java编译器针对JVM产生class文件,因此是独立于平台的,class文件是跨平台的
(4)Java解释器负责将JVM的代码在特定的平台上运行。
(5)Java虚拟机是不跨平台的.
A、计算机高级语言类型:
Ø编译型
Ø解释型
总结:Java既是编译型语言又是解释型语言。 
B、Java程序的组成
ØJava源文件
Ø字节码文件 
 4、Java开发环境搭建
JDK:(Java Development Kit)Java开发者工具包    JDK = JRE + 开发工具集(javac编译工具等)
JRE:(Java Runtime Environment)java运行环境   JRE = JVM + Java核心类库(包含java.lang,java.until等常用类库)
两者的区别:
如果你只需要运行java程序或Applet,下载并安装JRE即可,如果你要自行开发java软件,就必须下载JDK,因为只有JDK里面才包含编译器,才能把我们的代码编译成字节码文件,最好才能被JVM识别运行!
通俗的说,没有JDK的话,无法编译Java程序,如果想只运行java程序,要确保已安装了相应的JRE
综上所述:基本上安装了JDK就都满足了开发和执行java程序的需求了!
5、JDK安装
一般快安装好JDK的时候,会在弹出一个安装JRE的界面(如图1),因为JDK已经包含了JRE(如图2),所以我们可以选择取消就可以了!如果选择安装此JRE的话,会在系统的位置C:\Windows\System32下产生四个java打头的文件(如图3),我们必须把他删掉,不然运行我们的程序会报错!所以强烈建议我们不要额外安装JRE了,因为安装JDK的时候已经安装好它了!
      
第四个没找到!JavaScriptCollectionAgent.dll不是的,这是微软的东西!
配置环境变量:
环境变量有两种类型,一种是指针对ZWH用户的,一种是针对所有用户的即系统变量,因为一个系统可能有多个用户!
1、设置java_home的变量值为jdk的安装目录跟路径
2、设置Path的变量值为jdk的安装目录下的bin目录, %java_home%表示引用的是java_home对应的值的路径
配置path主要是为了告诉系统去哪里找编译或运行等工具(必须设置)、java_home相当于临时变量
classpath:去哪里找需要运行的class文件(java5开始可不设置)
 变量名不区分大小写
 
一.设置classpath:
java1.5之后默认设置从当前所在目录查找class字节码文件的,此时就可以不用设置classpath了,如果非要设置,就要根据设置的先后顺序去查找了
java1.5之前路径是不能指定当前路径的,除非这样设置classpath,值为.;c:\test,就表示先在当前目录找class文件,要是没找到就到c:\test去找;(当一个变量有多个值时,多个值之间是有英文的分号隔开) 
二.设置JAVA_HOME:
1.为了方便引用,比如,你JDK安装在C:\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径;
注意:设置了JAVA_HOME也必须设置PATH;
比如:原来的path=C:\Java\jdk1.6.0\bin
现在设置: JAVA_HOME=C:\Java\jdk1.6.0 和 PATH=%JAVA_HOME%\bin
2.当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
3.第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件,比如JavaEE 最常用的服务器Tomcat. 
配置java环境变量:
JAVA_HOME:配置JDK的根目录
CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码)
PATH:指定可执行程序的位置
6、 JDK安装目录结构
 
 7、Java编译和运行
UNIX系统或Win  NT/2K/XP中
使用shell操作符    2>xx  可将错误重定向到一个XX文件中;
若没有XX文件,会自动生成。文件名可以自己制定;
如:javac  HelloWorld.java 2> error.txt
 
javac -d dir HelloWorld.java可以将生成的class文件定向到指定的dir目录,指定类层次的根目录;
javac -d 目录名 HelloWorld.java:若目录不存在,需要  手工建立.
8、Java学习注意 

(1)Java语言拼写上严格区分大小写;
(2)一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类;
(3)若源文件中包括了public类,源文件必须和该public类同名;
(4)一个源文件中包含N个Java类时,编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同;
编程建议:

(1)一个Java源文件只定义一个类,不同的类使用不同的源文件定义;
(2)将每个源文件中单独定义的类都定义成public的;
(3)保持Java源文件的主文件名与源文件中的类名一致;
9、比特字节
Bit意为"位"或"比特",是计算机运算的基础;
Byte意为"字节",是计算机文件大小的基本计算单位;
1byte=8bits,两者换算是1:8的关系。
两个字节一个汉字。
1Bit=1/16个字
所以16bit=1个汉字
10、Java基本数据类型
Java中定义了4类共8种基本数据类型。
•布尔型: boolean
•字符型: char
•整数型: byte、short、int 、long
•浮点数型:float、double 

java初学1的更多相关文章

  1. java初学的分析

    java初学的分析第一阶段:入门阶段学习目标:简单项目开发学习内容:1.Java入门书籍,Java基础知识.关于Java入门级的书,给大家推荐过<Java编程思想>.<Java核心技 ...

  2. 【全网最优方法】JAVA初学:错误: 找不到或无法加载主类HelloWorld

    JAVA初学:错误: 找不到或无法加载主类 HelloWorld 我这是看的黑马2019网课(B站)出现的问题. 放一下别人的图,我也是大概的问题:就是javac没问题,java却无论怎么弄都报错. ...

  3. (Java初学篇)IDEA项目新建流程和软件配置优化以及怎么彻底删除项目

    相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下来我就给大家简单地介 ...

  4. sqlite - java 初学

    进来准备使用一种embedded database,即嵌入式数据库,方便随项目本地存储.目前学习打算是sqlite和H2. document:http://www.runoob.com/sqlite/ ...

  5. Java 初学记录之可执行jar包

    环境 jdk7 jre7 当我用jdk7开发的时候,编写完成可执行的jar工具,并且成功使用. 当我在另一台机器安装了jre6,再次运行我的小工具jar 的时候,报错 解决: http://stack ...

  6. JAVA初学(1):值类型和引用类型的区别

    JAVA值类型和引用类型的区别(转)                                                          [定义] 引用类型表示你操作的数据是同一个,也就 ...

  7. Java初学随笔

    背景 狡兔三窟,在使用了近7-8年的C#后,考虑到云化的到来,还是要面向更多的语言与技术,近期决定学习scala,先从Java为跳板,最后达到学会并熟练 使用scala的目的. <核心技术> ...

  8. java初学知识点

    public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARG ...

  9. Java初学(四)

    一.图解二维数组 二.图解动态创建二维数组 三.杨辉三角练习: import java.util.Scanner; class Array2Demo{ //实现杨辉三角 public static v ...

  10. Java初学(三)

    一.使用键盘录入数据 三步:1.导入包:import  java.util.Scanner; 2.创建键盘录入对象:Scanner sc=new  Scanner(System.in);   3.通过 ...

随机推荐

  1. 2018年第九届蓝桥杯【C++省赛B组】第四题 测试次数

    x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机.各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通.x星球 ...

  2. EF Database first 中,实现 多个表对应一个 实体的 查询

    1.首先 创建好 数据 库. hobby表 major 表 student 表 外键 关系如下 2. 实现将 数据库 映射到EDM中 视图如下 在VS中 生成了 3个实体类  ,对应的是 数据库中的3 ...

  3. EF 连接数据库 Mysql (database first ) 一个表对应一个模型

    准备工作 1.下载vs2015 2.下载mysql2017 3.安装 1.创建数据库 2. 将数据库映射成模型 3创建aspx 文件. 写下窗体内容的代码 hello_worldEntities en ...

  4. NVIDIA CUDA Library Documentation

    http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/online/index.html 英伟达CUDA库说明文 ...

  5. 五、@property的参数

    格式:@property(参数1,参数2)类型 名字: 参数可有可无 如:@property int age; @property (nonatomic,retain) UIButton* btn; ...

  6. C#中的委托是什么?事件是不是一种委托?

    C#中的委托是什么? 委托可以把一个方法作为参数代入另一个方法. 委托可以理解为指向一个函数的引用. 事件是不是一种委托?事件是一种特殊的委托.

  7. jquery 添加和删除节点

    // 增加一个三和一节点 function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(&qu ...

  8. ES6 extends继承及super使用读书笔记

    extends 继承 extends 实现子类的继承 super() 表示父类的构造函数, 子类必须在 constructor中调用父类的方法,负责会报错. 子类的 this 是父类构造出来的, 再在 ...

  9. Vim---配置实用的.vimrc文件

    配置自己电脑的vim,配置一个根据个人习惯使用的.vimrc文件.我的有以下功能等,读者可以根据自己的 个人喜好去配置自己的vim. 1.自动插入文件头 ,新建C.C++源文件时自动插入表头:包括文件 ...

  10. linux redis5.0 集群搭建

    一.下载 wget http://download.redis.io/releases/redis-5.0.0.tar.gz 二.解压.编译 #解押到 /usr/local/ 文件夹 tar -zxv ...