`
miaoge
  • 浏览: 110982 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类

FirstDay--配置java环境变量(Java入门)

阅读更多

配置java环境变量:
 JAVA_HOME:配置JDK的目录
 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码)
 PATH:指定可执行程序的位置
 
 LINUX系统(在" .bash_profile "下的环境变量设置)
  JAVA_HOME=/opt/jdk1.5.0_06
  CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
  PATH=$PATH:$JAVA_HOME/bin:.
  export JAVA_HOME CLASSPATH PATH     (将指定的环境变量声明为全局的)
   
 windows系统:
  右击我的电脑-->属性-->高级-->环境变量
  
Java的运行过程:
 编译:生成可执行文件,如C++中利用g++生成a.out,效率高,但不跨平台
 解释:解释器把源文件逐行解释,跨平台但效率不高
 
 在java中:先编译后解释,把.java文件编译成.class字节码文件
  Java源代码文件(.java文件)--->
  Java编译器(javac)--->
  Java字节码文件(.class文件,平台无关的)--->
  Java解释器(java),执行Java字节码

Java的垃圾回收:
 由一个后台线程gc进行垃圾回收
 虚拟机判定内存不够的时候会中断代码的运行,这时候gc才进行垃圾回收
 缺点:不能够精确的去回收内存
 java.lang.System.gc(); 建议回收内存,但系统不一定回应,他会先去看内存是否够用,够用则不予理睬,不够用才会去进行垃圾回收
 内存中什么算是垃圾:
  不在被引用的对象(局部变量,没有指针指向的)
  
java的安全性:
 沙箱机制:只能做沙箱允许的操作
 通过下面环节,实现安全
  加载有用的类文件,不需要的不加载
  校验字节码,查看允许的操作
   查看代码和虚拟机的特性是否相符
   查看代码是否有破坏性
   查看是否有违规操作,如越界
   查看类型是否匹配,类型转换是否能正确执行
   
源程序:
 package mypack;  //相当于一个目录
 
 public class HelloWorld{
  public static void main(String[] args){
   System.out.println(“Hello World”);
  }
 }
 注:
  1、文件名必须和public修饰的类名一致,以.java作为文件后缀,如果定义的类不是public的,则文件名与类名可以不同。
  2、一个.java文件中可以有多个class,但是只有一个public修饰的类。
  3、java源代码文件编译后,一个类对应生成一个.class文件
  4、一个java应用程序应该包含一个main()方法,而且其签名是固定的,它是应用程序的入口方法,可以定义在任意一个类中,不一定是public修饰的类
  编译:javac -d . HelloWorld.java
   含有包的类,在编译的时候最好用上面的格式,-d指的是让该类生成的时候按照包结构去生成," . "指的是在当前路径下生成
   如果不用上面的格式,也可以用javac HelloWorld.java,但是需要注意的是包结构就要由自己去建立,然后将生成的.class文件放到该目录下
  执行:java mypack.HelloWorld
   将字节码文件交给Java虚拟机去解释执行
   需要注意的事,必须使用包名.类名去解释执行
   
包(package):把源文件放在目录下
 由于工程的需要,将不同的源文件放在不同的目录下,从而引入了包。
 包可以看作就是一个存放java源文件的目录。
 在源码中声明一个包名:package p;(只能放在第一行,且最多只能是一行)
 如果指定多层包,那么在包名之间我们可以用.作为分隔符:package p1.p2.p3.p4;
 用“javac HelloWorld.java –d 绝对路径”,编译后生成的字节码文件就会放在指定的包结构下
 执行该程序需要用" java 包名.类名 "
 引进包中的某个类:import 包名.类名;
 引进包中的所有类:import 包名.*;
   
注释:
 // 单行注释, 到本行结束的所有字符会被编译器忽略
 /* */ 多行注释,  在/*  */之间的所有字符会被编译器忽略
 /**  */   文档注释, java特有的,在/**  */之间的所有字符会被编译器忽略
 可以用javadoc把java源程序中这种注释抽取出来形成html页面(只有写在包,类,属性,方法,构造器,引入之前的注释才可以进行抽取)
    
标识符:
 命名规则:
  (1) 由字母、数字、下划线、$组成,不能以数字开头
  (2) 大小写敏感
  (3) 不得使用java中的关键字和保留字
 
 关键字:都是小写的,jdk1.2多了strictfp(经准浮点型),关键字 jdk1.4多了assert(断言)关键字,  jdk1.5多了enum(枚举) 关键字
  随着学习进度,会慢慢接触到的
  true、false、null严格说不应该算关键字,应称其为保留字更合适
 
 习惯:
  (1) 标识符要符合语义信息
  (2) 包名所有字母小写
  (3) 类名每个单词首字母大写,其它小写 //TarenaStudent
  (4) 变量和方法:第一个单词小写,从第二个单词开始首字母大写 //tarenaStudent
  (5) 常量:所有字母大写,每个单词之间用" _ "连接
  
基本数据类型:8种
 1) 整型
  byte       1B  8位       -128到127
  short      2B  16位      -2^15到(2^15)-1
  int          4B  32位      -2^31到(2^31)-1
  long        8B  64位      -2^63到(2^63)-1
 2) 浮点类型
  float        4B   32位      
  double     8B   64位
 3) 字符类型
    char       2B 16位  
 4) 布尔型  1B
  boolean    false/true
  
 注:
  1、Java中的自动类型提升问题。
   1)、正向过程:从低字节到高字节可以自动转换。
    byte->short->int->long->float->double
   2)、逆向过程:从高字节到低字节用强制类型转换。
    例:int a = (int)4.562;
    注:逆向转换将丢失精度。
   2、boolean:只有true和false。
   3、char:Java中用" \u四位十六进制的数字 (即使在注释中出现\u,后面如果跟的不是4个数字,也会报错)"表示将字符转换成对应的unicode编码,字符类型要用单引号括起来。
   4、黙认浮点类型为double,float数据类型有一个后缀为" f "或" F "。
   5、long类型有一个后缀,为" l " 或者" L "
 
引用数据类型:
 类、接口、数组
 引用类型 变量名 = new 引用类型名(参数);  //new后面一般跟的都是类的构造器
 成员:写在类体括号里面的
 
内存空间的分配:
 内存分为:
  栈:存放简单数据类型变量(值和变量名都存在栈中),存放引用数据类型的变量名以及它所指向的实例的首地址
  堆:存放引用数据类型的实例

分享到:
评论

相关推荐

    Java教材课程

    配置环境变量: - `JAVA_HOME`: 指向JDK的安装目录。 - `PATH`: 添加`%JAVA_HOME%\bin`路径。 - `CLASSPATH`: 默认设置为当前目录(`.`)。 ### 2. 编写第一个Java程序 - **示例代码**: ```java public class...

    java基础知识入门学习

    入门书籍推荐可能包括《Head First Java》、《Thinking in Java》等经典著作,这些书籍深入浅出地介绍了Java语言的核心概念和技术,适合初学者阅读。 相关API是指Java标准库中的类和接口,它们提供了丰富的功能,如...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除环境变量中的PATHT CLASSPATH中包含Oracle的值。  删除“开始”/“程序”中所有Oracle的组和图标。  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...

    ZendFramework中文文档

    7.3.3. 环境访问器方法 7.3.4. 前端控制器参数 7.3.5. 继承前端控制器 7.4. 请求对象 7.4.1. 介绍 7.4.2. HTTP 请求 7.4.2.1. 访问请求数据 7.4.2.2. 基地址和子目录 7.4.2.3. 决定请求方式 7.4.2.4. 删除 ...

    支持pyramid2.x的kotti web代码

    Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty

    cmd-bat-批处理-脚本-hello world.zip

    cmd-bat-批处理-脚本-hello world.zip

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。

    基于Matlab实现图像形状纹理颜色特征提取

    在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。

    实证数据-2010-2023年上市公司-管理层情感语调数据-社科经管.rar

    该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。

    cmd-bat-批处理-脚本-FTIME.zip

    cmd-bat-批处理-脚本-FTIME.zip

    1747829038637.png

    1747829038637.png

    2025年自动化X光检查机项目大数据研究报告.docx

    2025年自动化X光检查机项目大数据研究报告.docx

    基于Logisim的原码与补码一位乘法器设计

    在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    二十四节气之立秋介绍.pptx

    二十四节气之立秋介绍.pptx

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    二十四节气之小雪介绍.pptx

    二十四节气之小雪介绍.pptx

    java、SpringBoot面试专题,6页面试题

    java、SpringBoot面试专题,6页面试题

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

Global site tag (gtag.js) - Google Analytics