Java是由SunMicrosystems公司于1995年推出的一门面向对象程序设计语言。2010年Oracle公司收购SunMicrosystems,之后由Oracle公司负责Java的维护和版本升级。
其实,Java还是一个平台。Java平台由Java虚拟机(JavaVirtualMachine,JVM)和Java应用编程接口(ApplicationProgrammingInterface,API)构成。
Java应用编程接口为此提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
Java平台已经嵌入了几乎所有的操作系统。这样Java程序只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版本发展到1.2版本。常用的Java平台基于Java1.6,最新版本为Java1.8。
Java发展至今,就力图使之无所不能。按应用范围,Java可分为3个体系,即JavaSE、JavaEE和JavaME。
扩展资料
Java语言的特点
Java语言的风格很像C语言和C++语言,是一种纯粹的面向对象语言,它继承了C++语言面向对象的技术核心,但是抛弃了C++的一些缺点,比如说容易引起错误的指针以及多继承等,同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空间的烦恼。
1、面向对象
Java是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java只支持类之间的单继承,但是可以使用接口来实现多继承。使用Java语言开发程序,需要采用面向对象的思想设计程序和编写代码。
2、平台无关性
平台无关性的具体表现在于,Java是“一次编写,到处运行(WriteOnce,RunanyWhere)”的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译。
Java语言使用Java虚拟机机制屏蔽了具体平台的相关信息,使得Java语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。
3、简单性
Java语言的语法与C语言和C++语言很相近,使得很多程序员学起来很容易。对Java来说,它舍弃了很多C++中难以理解的特性,如操作符的重载和多继承等,而且Java语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。
4、解释执行
Java程序在Java平台运行时会被编译成字节码文件,然后可以在有Java环境的操作系统上运行。在运行文件时,Java的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。
5、多线程
Java语言是多线程的,这也是Java语言的一大特性,它必须由Thread类和它的子类来创建。Java支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内。
其实这个就是关系映射的基础拉,2个POJO类,当然代码可以让计算机自动生成的import java.io.Serializable
import java.util.*
public class Student implements Serializable{
private Long id
private String name
private int age
private Set courses=new HashSet()
public Student(String name, int age, Set courses) {
super()
// TODO Auto-generated constructor stub
this.name = name
this.age = age
this.courses = courses
}
public Student(){
}
public Student(String name, int age) {
super()
// TODO Auto-generated constructor stub
this.name = name
this.age = age
}
public int getAge() {
return age
}
public void setAge(int age) {
this.age = age
}
public Long getId() {
return id
}
public void setId(Long id) {
this.id = id
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "id "+id+" name "+name+" age "+age
}
public Set getCourses() {
return courses
}
public void setCourses(Set courses) {
this.courses = courses
}
}
import java.io.Serializable
public class Course implements Serializable{
private Long id
private String couseName
private int score
private Student student
public Course(String couseName, int score) {
super()
// TODO Auto-generated constructor stub
this.couseName = couseName
this.score = score
}
public Course(){
}
@Override
public String toString() {
// TODO Auto-generated method stub
return " id "+id+" courseName "+couseName+" score = "+score
}
public String getCouseName() {
return couseName
}
public void setCouseName(String couseName) {
this.couseName = couseName
}
public Long getId() {
return id
}
public void setId(Long id) {
this.id = id
}
public int getScore() {
return score
}
public void setScore(int score) {
this.score = score
}
public Student getStudent() {
return student
}
public void setStudent(Student student) {
this.student = student
}
}
学生和课程是一对多的关系啊,你学了JDBC或者是Hibernate就会明白地