J2SE总结

一、java

       java是一种面向对象的编程语言,和C++的语言风格十分接近。

它继承了C++面向对象技术的核心。舍弃了指针、运算符重载、多重继承等特性,添加了垃圾回收功能用于内存管理。

java的特点:

   1.平台无关性:java可执行于不同的操作系统上。

java引进了虚拟机原理,并执行于虚拟机
   2.安全性:程序执行时。内存由操作系统分配。

   3.健壮性:java側重于检查程序在编译和执行时的错误,有利于在开发早期及时发现错误。此外还提供了一定的校验功能。

   4.动态:java程序的基本组成单元是类,类在执行时动态装载,在类库升级后不须要又一次改动程序

java程序的开发过程:

   1.编写源文件(使用文本编辑器编辑文本。将编好的源文件保存起来,源文件扩展名需为.java)

   2.编译源文件(使用java编译器javac.exe编译)

   3.执行java程序

   java平台由java虚拟机和java核心类构成。它为java程序提供了统一的编程接口。而不用管下层的操作系统是什么。眼下我们所说的java平台一般指java2,它包括三个版本号:

   1.标准版StandardEdition(J2SE):主要用于桌面应用程序的编程

   2.企业版EnterpriseEdition(J2EE):主要用于分布式的网络程序的开发。

   3.微缩版MicroEdition(J2ME):主要用于嵌入式系统的开发

   三者的关系为J2EE包括J2SE。J2ME包括了J2SE的核心类。但新加入了一些专有类的应用场合。

整体来说,J2SE是基础,压缩一点再添加一些CLDC等方面的特性是J2ME;扩充一点,再添加一些EJB等企业应用方面的特性就说J2EE。

二、J2SE

   J2SE视频看了两遍。里边讲的内容可分为两部分:面向对象编程语言的基础知识、J2SE的应用(经常使用类,文件IO操作,多线程等),当中包括的知识比較简单,总的来说相当于在曾经的基础上进行的扩展延伸,另外引入一些新的概念。

1.内存分析

   内存分为四个区:

      Stack栈:存放基本类型的数据和对象的应用。但对象本身放在堆中

      Heap堆:存放用new产生的数据

      DataSegment数据区

      CodeSegment代码区

   一般的常量、定义的对象都会放在栈内存中,当定义该对象且用newkeyword创建了一个对象后会在堆中分配一个内存。

程序中定义的常量仅仅占用一块内存,仅仅分配在栈内存中。

一般程序调用的方法中的各种參数也等同于常量一样分配在栈中,可是唯一的差别是当我们调用的方法运行结束后分配在内存中的各种參数所有小时。在堆中分配的对象内存假设在栈内存中没有指向该内存的引用,则堆中该内存会被垃圾回收期收回。

2.线程

   在操作系统中已经接触过线程。主要涉及进程与线程的区分,PV操作。进程的同步与相互排斥,死锁等。

线程比較好理解能够解决非常多问题,可是用到系统中就有点费劲了。

   J2SE仅仅是开了一个头,在以后的学习中还有非常多须要深入理解的地方,对于遇到的新知识要多做样例。及时把它的思想转化到实践中。

原文地址:https://www.cnblogs.com/liguangsunls/p/7190096.html