1.求一个关于JAVA的论文
TAGS: 毕业论文 计算机 基于 远程 对象 RMI 方法 实现 调用 哪位老兄有计算机毕业设计论文啊?是基于java的,小弟急用,谢谢!用RMI开发基于Java的企业分布式应用我站还提供更多的免费计算机论文,但免费论文仅供参考,建议广大网友下载后不要轻易采用。
摘要由于Java具有跨平台、代码可移植性、安全高效等广泛而强大的功能,因而在开发网络分布式应用的时候,可以用它自身的机制实现分布式计算,一种基于Java的远程方法调用(RMI)为我们开发企业分布式应用提供了行之有效的解决方案。关键词 Java RMI 企业分布式应用 1 概述随着电力企业信息化建设的不断深入和发展,企业内部和企业与企业之间对信息、对数据的交换量大大增加,这些信息与数据越来越需要在不同的计算机网络间传送和交流。
同时,由于各单位、各部门之间的现存的计算机网络硬件设备与操作系统千差万别,应用水平也参差不齐,因此,开发出跨平台、可移植、高效安全的网络分布式应用来服务于电力企业,就显得尤为重要。在当今的编程术语里,分布式计算已经成为很常见的词,它将企业的业务数据和程序分布在网络的不同物理位置上,通过调动网络上多台计算机的处理能力,发挥远程调用数据的功能。
远程方法调用(Remote Method Invocation ,RMI),可以在不同的Java虚拟机(JVM)之间实现对象与对象的通信。JVM可以位于相同或不同计算机上,在多个JVM中,一个JVM可以调用存储在其它JVM的对象的方法。
本文主要介绍RMI的特点,分析应用RMI进行企业分布式计算的原理,以及利用RMI实现基于Java的企业分布式应用的具体步骤。2 远程方法调用(RMI)的特点2.1 TCP编程的缺点由于Java编程语言设计之初就是面向对象和支持网络的,因此,基于对象的RMI机制已经内置在Java平台中。
我们经常会在网络开发中使用TCP/IP编程,这样,自然而然地就会涉及到Socket(套接字)编程。但是,使用Socket编程需要大量重复编码,在复杂分布式操作时显得非常麻烦,而且易于出错。
因此,如何快速、高效、安全、可扩展地进行网络分布式计算,是开发者们一贯追求和倡导的主题。直到RMI的出现,这种繁杂、低效的开发情况才有很大改观。
2.2 RMI编程的特点当我们利用对象序列化在网络上分配对象时,RMI提供了非Java平台无法匹敌的独特而强电子商务资料库)*!%267'$#7'455大的分布式计算模型,RMI主要有以下特点:? 客户机可以向本地方法一样调用远程服务器上的方法;? 可以根据接口指定客户机/服务器编程合约;? 可以从服务器对象缺省二进制类文件,自动生成调动/反调动代码;? 将Java编程模型扩展到机器边界(和Java虚拟机(JVM)边界之外),不需要任何特殊语法;? 还可以和一个远程方法调用中的数据同时传输行为(代码)。尽管RMI不是唯一的企业级远程对象访问方案,但它却是最容易实现的。
2.3 RMI与CORBA作为分布式应用程序框架的规范,COBRA首当其冲,它是由对象管理组织(OMG)开发的。与CORBA不同的是,CORBA能够利用不同编程语言(例如C/C++、Basic等)开发实现分布式应用,而RMI是一种纯Java解决方案。
在RMI中,程序的所有部分都由Java语言编写,这样,开发出来的程序完全符合Java规范,便于实现跨平台访问、扩展和移植。按照笔者所在西北电力建设集团公司的情况看,服务器操作系统主要有Linux和Windows2000 Server,分别存在于公司和部门当中,它们是不同的系统平台;同时,公司下属各个工程项目部又距离很远,近的几十公里,远则达到上千公里甚至位于国外,因此跨平台和远程访问这两大功能在开发企业应用系统时就必须考虑,而RMI恰恰能够用它的自身特点来满足编程需要。
3 RMI基本体系结构简介RMI通过TCP/IP在内部使用Socket,象其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。RMI的目的是让位于不同JVM中的对象,在外观及行为上都像是本地的对象。
通常,我们把调用这种远程对象的JVM,称为客户机;而把包括这种远程对象的JVM,称为服务器。尽管对一个远程对象的引用和获得对本地对象的引用有所不同,但我们可以把远程对象像本地对象一样使用。
应用程序并不知道一个对象是远程的还是本地的。实际上,远程对象上被调用的方法与本地对象上调用的方法,具有相同的语法结构。
作为RMI的底层(会包含复杂的Socket操作),它会自动截获方法调用,找到远程对象,然后处理远程请求。笔者认为,RMI设计的重要之处,就在于不但在设计上实现了远程访问功能,而且实现了设计的透明性。
RMI的基本体系结构,概括起来说,由三个抽象层组成:3.1 存根/框架层(Stubs/Skeletons Layer)。
2.java论文
内容是:面向对象语言的优点,特点。JAVA语言的特点优点,编程运行方式,JAVA做事处理过程。 为什么我们要学习Java语言/Java语言的优点 一,简单。 风格类似于C++,从某种意义上讲,Java是对C++去粗取精加改良的结果。 二,面向对象。Java语言是完全面向对象的,区别于C++的“半面向对象”。 三,健壮。 源自强类型检查和自我内存管理。 四,安全。 最重要的一点保证是:Java的安全体系架构。 五,解释。 Java代码是解释执行的,其桥梁是.clss文件(字节码文件)。 六,与平台无关。 七,多线程。 简言之为一项任务多点开工。 八,动态。 Java允许程序动态地装入运行中所需要的类。这个问题后面会有文章详谈。 Java和Javac的用法/Java.exe和Javac.exe的区别/为什么不加.class/为什么要加.java2007-01-31 20:40Java和Javac的用法/Java.exe和Javac.exe的区别/为什么不加.class/为什么要加.java 很多朋友不清楚的一个问题即是: 为什么 javac name.java java name (name代表除后缀名的文件名) javac.exe name.java 编译,编译是对于一个Java源文件,而 java name 解释,解释器加载的是一个类,而不是一个文件,所以java name 而 参考资料
这个里面可能也有对你有帮助的东西。祝你好运哈。
3.求毕业设计及论文“基于Java的学生信息管理系统的设计与实现”
仅仅给你个参考 //Java Group Project_StudentManagement源码 //NetBeans IDE 6.5 环境 package studentmanager; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; class Student implements java.io.Serializable{ String number,name,specialty,grade,borth,sex; public Student(){}; public void setNumber(String number){ this.number=number;} public String getNumber(){ return number;} public void setName(String name){ this.name=name;} public String getName(){ return name;} public void setSex(String sex){ this.sex=sex;} public String getSex(){ return sex;} public void setSpecialty(String specialty){ this.specialty=specialty;} public String getSpecialty(){ return specialty;} public void setGrade(String grade){ this.grade=grade;} public String getGrade(){ return grade;} public void setBorth(String borth){ this.borth=borth;} public String getBorth(){ return borth;} } public class StudentManager extends JFrame{ JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" + "内容改后的保存!"); JTextField 学号,姓名,专业,年级,出生; JRadioButton 男,女; ButtonGroup group=null; JButton 录入,查询,删除,修改,显示; JPanel p1,p2,p3,p4,p5,p6,pv,ph; Student 学生=null; Hashtable 学生散列表=null; File file=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; public StudentManager(){ super("学生基本信息管理系统"); 学号=new JTextField(10); 姓名=new JTextField(10); 专业=new JTextField(10); 年级=new JTextField(10); 出生=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); group.add(男); group.add(女); 录入=new JButton("录入"); 查询=new JButton("查询"); 删除=new JButton("删除"); 修改=new JButton("修改"); 显示=new JButton("显示"); 录入.addActionListener(new InputAct()); 查询.addActionListener(new InquestAct()); 修改.addActionListener(new ModifyAct()); 删除.addActionListener(new DeleteAct()); 显示.addActionListener(new ShowAct()); 修改.setEnabled(false); p1=new JPanel(); p1.add(new JLabel("学号:",JLabel.CENTER)); p1.add(学号); p2=new JPanel(); p2.add(new JLabel("姓名:",JLabel.CENTER)); p2.add(姓名); p3=new JPanel(); p3.add(new JLabel("性别:",JLabel.CENTER)); p3.add(男); p3.add(女); p4=new JPanel(); p4.add(new JLabel("专业:",JLabel.CENTER)); p4.add(专业); p5=new JPanel(); p5.add(new JLabel("年级:",JLabel.CENTER)); p5.add(年级); p6=new JPanel(); p6.add(new JLabel("出生:",JLabel.CENTER)); p6.add(出生); pv=new JPanel(); pv.setLayout(new GridLayout(6,1)); pv.add(p1); pv.add(p2); pv.add(p3); pv.add(p4); pv.add(p5); pv.add(p6); ph=new JPanel(); ph.add(录入); ph.add(查询); ph.add(修改); ph.add(删除); ph.add(显示); file=new File("学生信息.txt"); 学生散列表=new Hashtable(); if(!file.exists()){ try{ FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(学生散列表); objectOut.close(); out.close(); } catch(IOException e){} } Container con=getContentPane(); con.setLayout(new BorderLayout()); con.add(lb, BorderLayout.NORTH); con.add(pv, BorderLayout.CENTER); con.add(ph, BorderLayout.SOUTH); (EXIT_ON_CLOSE); setBounds(100,100,600,300); setVisible(true); } public static void main(String[] args) {new StudentManager();} class InputAct implements ActionListener{ public void actionPerformed(ActionEvent e){ 修改.setEnabled(false); String number=""; number=学号.getText(); if(number.length()>0){ try{ inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 学生散列表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); } catch(Exception ee){System.out.println("创建散列表出现问题!");} if(学生散列表.containsKey(number)){ String warning="该生信息已存在,请到修改页面修改!"; JOptionPane.showMessageDialog(null,warning,"警告", JOptionPane.WARNING_MESSAGE); }//end if1 else{ String m="该生信息将被录入!"; int ok=JOptionPane.showConfirmDialog(null,m,"确认", JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok==JOptionPane.YES_OPTION){ String name=姓名.getText(); String specialty=专业.getText(); String grade=年级.getText(); String borth=出生.getText(); String sex=null; if(男.isSelected()){sex=男.getText();} else{sex=女.getText();} 学生=new Student(); 学。
4.谁有Java毕业论文
java的毕业论文在键盘论文网有很多的,我之前也是参考的他们的 你看看这个: 随着计算机与软件的进步,人机交互越来越需要发展,计算机和用户之间的接口也越来越具有方便用户的特性,从而制作用户界面系统也越来越复杂和花费人力,时间。
因此为了节省程序设计者的时间,有必要研究界面模板技术。 Java是一种灵活的、跨平台的、彻底地面向对象的程序设计语言。
由于Java具有众多特点是跨平台的优点,采甩java编写应用程序界面和web界面越来越流行。 而swing是目前Java中的一个重要的界面工具组类库,是建立GUI的强大工具,它比起Java的其他界面组件来说具有更多的优点,相信以后用java swing制作的界面的软件和web页面会越来越多,所以研究和设计java swing的界面模板有着非常重要的意义。
主要内容: 首先引入和介绍两种设计模式,即MVC模式和主控模式,并且详细描述和举例说明了swing类库与MVC模式之间的关联。 还不错吧 然后本文结合国内外现有的交互式用户界面模型的特点,提出了一种基于java/swing和两种设计模式的交互式界面的设计思想与具体实现方案。
该方案包含用户界面代理,能提供给用户图形的可视化方式来设计界面的视图,和控制器的设计;这套方案包括了几乎所有的基本控件,例如对话框,滚动条,分割栏,文本框等的界面生成器;然后以此方案做了一个示例程序,即利用swing类库和基于前面介绍的设计模式, 以按钮为例创建了一个界面生成器,该按钮生成器能按照用户输入的属性生成具有该属性的swing风格的按钮,并且生成相应的java代码,用户也可以通过代码来改变这个按钮。 也就是说它具有中间件的功能,能将界面内容保存在模板实例中以便修改及重用,并能根据模板实例生成界面程序源代码。
接着讲述了其他swing控件如编辑框,滚动条,弹出菜单等的做法,由此形成了一个开发swing风格界面的集成界面模板工具。最后,文章结尾总结了提出和研究设计的这套方案在意义和不足,以及进一步的工作。
关于java控件的东西。