Java之初印象

Java语言的跨平台性:

Java语言的编程过程:

只要实现了特定平台下的解释器程序(JVM),Java字节码就能通过解释器程序在该平台下运行,这是java跨平台的根本,当前并不是在所有平台下都有相应的Java解释器程序,这也是Java并不是在所有平台下都能运行的原因,它只能在实现了Java解释器程序(JVM)的平台下运行

另: Java兼顾解释性与编译性语言的特点:

JAVA源文件—>.class字节码文件 (编译型)

.class文件在OS上运行的过程则是解释型的(JVM充当了解释器的作用)

JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

Java开发环境的搭建:

注:运行一个开发好的Java程序,只需安装 JRE 即可

Javac.exe:是Java源文件的编译工具,例如:Test.java-编译---->Test.class(Java字节码文件)

Java.exe:负责解释执行java字节码文件,其实就是一个JVM.

JRE:

JRE为JavaRuntimeEnvironment的简称,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-in。

JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机、Java核心类库和支持文件。它不包含开发工具--编译器(javac.exe)、调试器和其它工具。

环境变量的配置:

用户变量与系统变量区别:

设置系统变量:

目的:为了在任意路径下都能运行java.exe,javac.exe等程序

①在我的电脑—>属性—>高级系统设置—>环境变量(永久配置)

优点:设置一次后,系统会保存此设置,对以后在当前OS上运行的任何程序都有效,但不会影响先前(未配置前)已经运行起来的程序

②在命令行窗口下设置(临时配置)

set  path=c:\j2sdk1.4.0\bin;%path%;(%path%表示该环境变量的当前取值)

可以把上面的理解为赋值

注意:在命令行窗口下的设置只对当前这个窗口有效,并不会影响到其它命令行窗口和程序,但是如果在当前命令行窗口通过start命令新打开一个窗口,则会沿用原有的环境变量的值

 当执行某个命令时:

classpath设置:

Java虚拟机按照classpath环境变量指定的目录顺序去查找这个类,以最先找到的为准,

并且不会当前目录查找.(注意区别path) ,如果未配置classpath默认查找当前目录.

set classpath=c:\ //只找c:\目录下的文件

使其在当前目录查找:

set classpath=%classpath%;//多了个;这种写法也会在当前目录查找(不建议这种写法)

set classpath=%classpath%;.//加了个".”这个".”代表JVM运行时的当前工作目录

关于当前目录举例:

set classpath=c:\mydir;.

c:\myjava>java Test//先查找c:\mydir,之后在查找c:\myjava(当前目录)

c:\myjava>d:

d:\>java Test//先找c:\mydir,之后在查找d:\(当前目录)

注意Java环境变量几种错误:

①set classpath =c:\j2sdk1.4.0\bin;//原本想设置"classpath”的值,设置成了"classpath+空格”

②set classpath= c:\j2sdk1.4.0\bin;//原本想设置"c:\j2sdk1.4.0\bin;"结果设置成了"空格+c:\j2sdk1.4.0\bin;”

③set classpath=c:\Documents and setting;//java不允许有带空格的目录名(关于这点,个人在windows 7 64位下测试是可以的,但仍然建议不要使用空格)

④在classpath的路径设置中避免中文

以上为临时配置classpath,可以在环境变量中新建classpath变量,进行赋值,永久配置.

class Test {
    public static void main(String[] args) {

        System.out.println("hello Java");// System.out.println作用打印若干字符并换行
        System.out.print("hello world\n");// 与上面等价

    }
}

class Test2// 每个类具备独立运行的能力
{
    public static void main(String[] args) {

        System.out.println("hello test2");
        System.out.print("hello world\n");

    }

}
时间: 2024-09-30 06:35:26

Java之初印象的相关文章

OpenCL学习笔记(一):摩尔定律、异构计算与OpenCL初印象

关于摩尔定律: 摩尔定律1965年提出,晶体管密度是按照每年翻倍发展的,之后的趋势也是这样--每一代芯片的的时钟频率提高50%,而同时工艺节点减小了0.3,功耗密度翻倍(保持功耗相同的情况下,面积0.7*0.7=0.49,因此提高频率使得性能提升了):而在2000年中期之后,出现了物理尺寸更小的器件,意味着,我们没有办法保持功耗密度不变,而同时提高频率,结果我们看到自此之后,时钟频率并没有显著提高,需要通过并行来提高性能,所以多核CPU流行起来.即使是最基本的处理器,超标量和无序指令执行等高级体

初印象至Vue路由

初印象系列为快速了解一门技术的内容,后续会推出本人应用这门技术时发现的一些认识. Vue路由和传统路由的区别: Vue路由主要是用来实现单页面应用内各个组件之间的切换,同样支持传递参数等功能.而传统路由使用超链接 以下内容来自官网,js使用ES6 如何在vue项目中使用vue-router HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="htt

Vue.js之初印象

一.背景 MVVM模式,很多人在说在用,好吧,我落后了,我目前的项目木有用到MVVM模式的框架,vuejs,reactjs,angularjs,nonono,自己去捣鼓过ng,项目木有用到.实在不敢称自己是front-end developer.趁这个失业期,vuejs的学习起哟. 二.简介 1.vue.js是什么 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们

uml时序图的初印象-------Day64

最近有好多想法迫不及待的想去实现,可是事实上是在那些最开始想的非常明白,感觉会没问题的地方也总是会出现问题,导致略微有些急躁,还是要淡定啊,又到了周末,明后天要收拾东西搬家,不知道宽带能不能顺利的给挪过去,想提前来记录下这周的工作吧. 总的来说,这周完成了界面的初始设计,然后就是这概要设计了,结果整合下来,word文档都有近百页了,太多时序图了,画的我都有些头昏脑涨.其实,在很久之前的某公司,我面试的第一道问题就是时序图,结果当时的我是可怜的一片茫然,结果也就自然而然了.这次再看时序图,又理解了

gulp初印象

几个月前三木君向我推荐过gulp,到现在因为工作需要才接触到它,真的很惭愧,在此记录下对gulp的初印象. 全局安装: $ npm install –global gulp 一个gulpfile.js文件: 这个文件需要在项目的根目录下创建.默认任务(什么也不做): var gulp = require('gulp'); gulp.task('default', function() { // place code for your default task here }); 下面的命令将执行这

Django初印象之视图(view)

一.view的初印象 一个视图函数(类),简称视图.我们发起web请求时,返回的web响应.[大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中.] 二.普通view的样子 下面是一个以HTML文档的形式返回当前日期和时间的视图: from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.

一、java初印象

工作了些时候,用的java语言,看了下thinking in java ,特在此记录和分享些自己的理解. 一.关于程序设计,就是对于复杂性的管理 关于复杂性,可以认为有两个方面的考虑:待解决问题的复杂性, 解决该问题工具的复杂性.待解决的问题,程序员不好把控,而解决的工具,就是编程语言. 二.关于java是完全面向对象的语言 1.java完全面向对象,需要以“类”级别才能独立存在,比如方法,是不能独立存在的,一个方法总会要属于一个类. 这个“类”级别,并不完全是class, interface,

Java发送邮件初窥

一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 1.不同的邮箱有不同的支持协议,比如有些只支持SSL协议,有些只支持TLS协议,还有些同时支持SSL和TLS协议. 2.支持不同协议的邮箱,在使用Java发送邮件时要使用不同的方式发送,下面我会介绍基于SSL和TLS的两种实现方式. 附:常用邮箱的服务器(Smtp/POP3)地址和端口总结 三.代

Java爬虫初体验

年关将近,工作上该完成的都差不多了,就剩些测试完改改的活,上午闲着就接触学习了一下爬虫,收益还是有的,纠结了很久的正则表达式终于搞得差不多了,Java的Regex和JS上还是有区别的,JS上的"\w"Java得写成"\\w",因为Java会对字符串中的"\"做转义,还有JS中"\S\s"的写法(指任意多的任意字符),Java可以写成".*" 博主刚接触爬虫,参考了许多博客和问答贴,先写个爬虫的Overvie