2008-1-21   (第一天)

1.Java版本介绍:

  J2EE   Java 2 Enterprise Edition      企业应用  Stures  hiblliate   

  J2SE   Java 2 Stander Edition        多线程  流  

  J2ME  Java 2 Micro Edition         运行与微平台 手机平台

2.Java编程机制:

  边编译边解释型语言

3.Java 虚拟机  Java virtual machine

  Java的运行平台   (类似计算机的CPU的功能)

  Java虚拟机是独立与平台的(使得Java语言有着很好的跨平台特性)

  Java虚拟机读取并处理经过编译的与平台无关的字节码.Class文件

3.1Java虚拟机的具体内容:

JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。

3.2Java虚拟机类装载的实现:

类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:

  装载:查找和导入类或接口的二进制数据;

  链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;

  校验:检查导入类或接口的二进制数据的正确性;

  准备:给类的静态变量分配并初始化存储空间;

  解析:将符号引用转成直接引用;

  初始化:激活类的静态变量的初始化Java代码和静态Java代码块。

4.Java运行步骤:

  加载--校验--执行

5.垃圾回收机制:

   Java语言用来释放内存的工具.在内存不使用的时候有垃圾回收机制自动释放,像  c,c++是有程序员编写代码来释放,但java中程序员可以只管用.

   程序员没有办法干预内存的释放.不能控制垃圾回收机制

5.1垃圾回收机制内存分配:

Java中有一种内存存储结构,堆内存.当对象通过new等手段建立时,便在堆内存中开辟空间,然后在栈内存之中会存储一个该堆内存的首地址来映射这个堆内存.但是程序员并不能手动的去释放这片内存,即使你不使用了它也将继续占用着内存,这时便由垃圾回收机 制负责.垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能.

5.2垃圾回收机制的优缺点:

优势:垃圾收集能自动释放内存空间,减轻编程的负担。首先,它能使编程效率提高。可不需要手动的释放内存,有jvm的垃圾回收机制来管理内存空间.其次是它保护程序的完整性, 垃圾收集是Java语言安全性策略的一个重要部份。

  缺点:垃圾收集的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序中有用的对象, 而且最终释放没用的对象。这一个过程需要花费处理器的时间。其次垃圾收集算法的不完备性,早先采用的某些垃圾收集算法就不能保证100%收集到所有的废弃内存。当然随着垃圾收集算法的不断改进以及软硬件运行效率的不断提升,这些问题都可以迎刃而解。

5.3使用垃圾回收机制应注意:

1.不要试图去假定垃圾收集发生的时间,这一切都是未知的。

2.Java中提供了一些和垃圾收集打交道的类,而且提供了一种强行执行垃圾收集的方法

3.挑选适合自己的垃圾收集器。

4.关键的也是难把握的问题是内存泄漏。良好的编程习惯和严谨的编程态度永远是最重要的,不要让自己的一个小错误导致内存出现大漏洞。

5.尽早释放无用对象的引用。大多数程序员在使用临时变量的时候,都是让引用变量在退出活动域(scope)后,自动设置为null,暗示垃圾收集器来收集该对象,还必须注意该引用的对象是否被监听,如果有,则要去掉监听器,然后再赋空值。

6.环境变量的配置:

  系统变量

用户变量

  出现相同的变量名,环境变量是两个加到一起

  Path :JDK的BIN路径 ---  操作系统可执行变量的路径

  Classpath : .;   JRE的LIB路径  加 ;JDK的lib路径 --- 配置java的类文件所需要的包的路径

  在CMD中   set xx=xx   然后再看就可以看到 说明已经配好了

7.Eclipse使用

  基本工作空间的创建:

    创建一个静态工程

    创建一个源文件夹

    创建一个PACKAGE

    创建一个类

  建立包的名字的构成方法:机构性质  机构名  项目名   模块名   子模块名

8.Java 中使用NEW创建对象  后面要跟上构造函数

  This.name   指当前对象的

  构造器:当事例化一个对象时要找到一个相应的构造器来创造实,构造器名字与类名字相同

  不要对类内部定义的数据进行直接的操作    private public的区别

  构造函数里面将静态变量做加法运算,每次调用的时候都会有一个增量.

  构造函数里面还可以使用本类的方法,然后在每次构造的时候调用.

  方法名  第一个单词首字母小写  第二个单词首字母大写

  判断字符串相等不要用等号:

  if (sex.equalsIgnoreCase("f"))

fnumber++;

else

mnumber++;

  判断变量是否相等的办法 f 为字符串   整个为判断字符串相等  而不是用等于符号

9.信息的隐藏和封装

避免参数的改变:定义全局变量,在方法体内改变,不要直接改变影响大局

所以要调用类中的private属性是,给其相应的set get器去解决.

java基础编程学习-1相关推荐

  1. java编程基础素数实验报告,JAVA 基础编程练习题1 (输出素数)

    JAVA 基础编程练习题1 (输出素数) JAVA 基础编程练习题1 (输出素数) 题目:判断 101-200 之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除 2 到 ...

  2. java mq编程_MQ java 基础编程

    MQ java 基础编程 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : wenjunwu430@gmail.com 前言 通过 2 个多星期对 MQ 学习,在 partner 丁 & ...

  3. Java基础的学习、知识点总结

    文章目录 Java基础的学习 1. 2.MS-DOS(Microsoft Disk Operating System) 命令提示符(cmd) 3.JRE和DJK 4.环境变量的配置 5.Java程序开 ...

  4. Java基础篇 学习笔记

    List item Java基础篇 学习笔记 java基础篇 第1章 计算机.程序和java概述 学习笔记 1.1什么是计算机 简单来说:计算机就是 ' 存储 ' 和 ' 处理 ' 数据的电子设备. ...

  5. 大数据第二阶段Python基础编程学习笔记(待完善)

    大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...

  6. Java基础编程及思维导图整理

    我把Java基础编程及思维导图整理的超级详细,小白都能看懂 Java基础编程及其思维导图 目录: Java学习导图 一.Java基本语法 1.关键字与标识符 2.变量分类 3.运算符 4.流程控制 二 ...

  7. Java基础编程及思维导图

    java基础编程及其思维导图 感谢尚硅谷宋红康老师 java学习导图 一.java基本语法 1.关键字与标识符 2.变量分类 3.运算符 4.流程控制 二.数组 1.数组概述 2.一维数组 3.二维数 ...

  8. Java基础编程练习50题(转载)

    JAVA基础编程练习50题 本文对50道经典的java程序题进行详细解说,对于初学者可以跳过一些逻辑性太强的题目,比如第一题用到了方法的递归,初学者可能不理解,最好先看那些有if.for.while可 ...

  9. java并发编程学习一

    java并发编程学习一 什么是进程和线程? 进程是操作系统进行资源分配的最小单位 进程跟进程之间的资源是隔离的,同一个进程之中的线程可以共享进程的资源. 线程是进程的一个实体,是CPU 调度和分派的基 ...

最新文章

  1. c库的rand/random随机数产生函数性能差?
  2. 如何利用神经网络结合遗传算法进行非线性函数极值寻优(2)
  3. Android Retrofit+RxJava 优雅的处理服务器返回异常、错误
  4. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 3
  5. python之4个小作业
  6. 吴恩达机器学习 -- 正则化
  7. 【洛谷P1795 无穷的序列_NOI导刊2010提高(05)】模拟
  8. Android OpenGL显示任意3D模型文件
  9. Spring 与 Hibernate 集成 Transactional设置为只读
  10. Expanding Rods(二分)
  11. api-gateway实践(01)服务网关 - 原型功能
  12. 基于SSM的租房管理系统
  13. 万有引力的意思_万有引力的本质是什么?
  14. 壹基金,李连杰的长尾理论
  15. 五 . css系列之文本段落属性及应用
  16. java 防篡改_用JAVA二十分钟撸一个简易图片防篡改
  17. 信奥中的数学 相关资料汇总(2022.07.08)
  18. 股票实时数据接口软件的数据来源是哪里?
  19. 虚拟机安装linux
  20. 伊朗加油站遭网络攻击致瘫痪、Babuk勒索软件源代码泄露|10月28日全球网络安全热点

热门文章

  1. MySql查询当前版本
  2. springMVC的大体结构及工作流程
  3. ldaptemplate 分页_长图片如何分页打印?3秒搞定|360浏览器|chrome浏览器
  4. ZYNQ启动流程分析之BootROM
  5. matlab根号下是多项式,多项式求根
  6. 11 | 向埃隆·马斯克学习任务分解
  7. 狂神说HTML5笔记
  8. 几个必须知道的Python工具
  9. 【附源码】计算机毕业设计Python安卓基于安卓的校园跑腿代购476ww(源码+程序+LW+调试部署)
  10. 怎样实现在单片机上跑LINUX系统,简述Linux如何应用在嵌入式单片机上