`
阅读更多
一、Java开发工具有哪些?JDK的版本?Java的优缺点?
答:

二、AWT和SWING的分别是什么?有何区别?
答:1,AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。
2,SWING()Swing 是一个为Java设计的GUI工具包。 Swing 是JAVA基础类
的一部分。 Swing 包括了图形用户界面 (GUI) 器件 如:文本框,按钮,分隔窗格和表。
一句话说明,AWT几乎是重量级组件,SWING几乎是轻量级组件。
  轻量组件首次出现在AWT1.1版本中。AWT最初只包括与本地对等组件相关联的重量组件,这些组件在它们自己的本地不透明窗口中绘制。
  相反,轻量组件没有本地对等组件,而且在它们的重量容器的窗口中绘制。
  由于轻量组件不在本地不透明的窗口中绘制,因此,它们可以有透明的背景。透明的背景使显示的轻量组件可以是非矩形的,虽然所有组件 (重量的或轻量的)都基于一个矩形边框。
  Swing组件几乎都是轻量组件,那些顶层容器:窗体、小应用程序、窗口和对话框除外。
  因为轻量组件是在其容器的窗口中绘制的,而不是在自己的窗口中绘制的,所以轻量组件最终必须包含在一个重量容器中。因此,Swing的窗体、小应用程序、窗口和对话框都必须是重量组件,以便提供一个可以在其中绘制Swing轻量组件的窗口。


三、绘制动态图像时屏会闪,采用双缓冲,其原理是什么?
这就要涉及到Java Applet中的paint方法的绘图机制了。产生这种现象的主要原因是:

Ø 由于在显示所绘制的图像时,调用了repaint方法。repaint方法被调用时,需要清除整个背景,然后才调用paint方法显示画面。这样,在清除背景和绘制图像的短暂时间间隔内被用户看见的就是闪烁。

Ø 由于paint()方法需要进行复杂的计算,图像中包含着多个图形,不同图形的复杂程度及其所需要的绘制时间不同,因此,图像中的各个像素值不能同时产生,使得图形的生成频率低于显示器的刷新频率,从而造成闪烁。

下面两种方法可以明显地消除或减弱闪烁:

Ø 重载update方法

当AWT接收到Applet重新绘制的请求时,调用Applet的update方法。默认情况下,update方法清除Applet的背景,然后调用paint方法。重载update方法,就可以将以前在paint方法中的绘图代码包含在update方法中,从而避免每次重新绘制时将整个区域清除。

Ø 双缓冲技术

双缓冲技术在很多动画Applet中被采用。主要原理是创建一幅后台图像,将每一帧画入图像,然后调用drawImage方法,将整个后台图像一次画到屏幕上去。这种方法的优点在于大部分绘制是在后台进行的。将后台绘制的图像一次绘制到屏幕上。在创建后台图像前,首先通过调用createImage方法生成合适的后台缓冲区,然后获得在缓冲区的绘图环境(即Graphics类对象)。

综上所述,改善前面我们写的一些Java Applet源程序的思路是:不直接在paint方法中调用各种绘制方法,而是采用重载update方法及双缓冲技术,生成一个图像的缓冲区,获得该缓冲区中的绘图环境后,将该绘图环境读入内存。paint方法不再负责图像的绘制工作,即paint方法不再装入任何的图像绘制代码。我们在paint方法中,直接调用update方法,在内存缓冲区的绘图环境下进行图像的绘制工作,当所有的图像绘制工作完成后,最后将缓冲区的内容一次性地写入Applet并在Applet窗口中直接显示出来。这种方法很巧妙地解决了图像丢失和闪烁的问题。


四、线程之间如何通讯?线程什么时候会出现LOCK饥饿?

五、软件生命周期分为哪几个阶段?各阶段的产出物是什么?

六、UML图分为哪几种?各有什么作用?

七、软件开发模型有哪几种?你在工作中用到哪种?

八、Java多线程如何实现?
分享到:
评论

相关推荐

    com.google.zxing.client.j2se.jar下载

    zxing/zxing-j2se-1.7.jar包, 包含类 com.google.zxing.StringsResourceTranslator.class com.google.zxing.client.j2se.BufferedImageLuminanceSource.class ...

    实验1 JAVA开发环境J2SE实验报告.doc

    JAVA开发环境J2SE实验报告 在本实验中,我们将学习和掌握JAVA开发环境J2SE的基本概念和使用方法。具体来说,我们将学习如何下载和安装J2SE开发工具,熟悉J2SE开发工具的使用,编写简单的Java Application和Java ...

    j2se实现计算器,界面优美

    在本项目中,我们关注的是一个使用Java标准版(J2SE)实现的计算器应用程序。这个计算器项目不仅提供了基本的计算功能,而且它的图形用户界面(GUI)设计得相当优美,使得用户交互体验良好。这对于那些正在学习Java ...

    基于J2SE的图书管管理系统

    《基于J2SE的图书管管理系统》是一款利用Java标准版(J2SE)技术平台开发的图书管理软件,旨在提供高效、便捷的图书借阅、归还、查询以及库存管理功能。这款系统深入体现了Java语言的强大特性和面向对象的设计理念,...

    J2SE6.0中文版.rar

    Java Standard Edition(J2SE)是Java平台的核心部分,它为开发和运行桌面应用、服务器应用以及网络应用程序提供了基础框架。J2SE 6.0是Oracle公司发布的一个重要版本,包含了众多新特性、改进和优化,对于Java...

    j2se1.5中文api

    《J2SE1.5中文API详解》 Java 2 Platform, Standard Edition (J2SE) 1.5,也被称为Java SE 5.0,是Java编程语言的一个重要版本,它引入了大量的新特性和改进,对Java开发者来说具有里程碑式的意义。J2SE 1.5中文API...

    J2SE 1.3,1.4,1.5,1.6,1.7,1.8 API.zip

    本资源包含从J2SE 1.3到1.8的完整API文档,对于开发者来说,这是一个宝贵的参考资料,可以深入了解不同版本间的变更和差异,确保代码在各个版本上的兼容性。 1. J2SE 1.3 API: 这是Java平台的早期版本,引入了...

    j2se6中文网页版

    Java 2 Platform, Standard Edition (J2SE) 6 是Java开发的重要版本,它为开发者提供了丰富的工具和功能,用于创建桌面应用、网络应用以及分布式系统。本资源“j2se6中文网页版”显然是一个中文版的J2SE 6 API文档,...

    J2SE6.0 API 中文版(冷冬大雪)

    Java Standard Edition (J2SE) 6.0 API 是Java编程语言的核心库,它包含了大量预定义的类和接口,供开发者使用以构建各种应用程序。这个API文档的中文版是针对初学者和经验丰富的程序员的一个极其有用的资源,因为它...

    J2SE6.0_EN

    Java 2 Platform, Standard Edition (J2SE) 6.0是Java开发平台的一个重要版本,为Java应用程序提供了丰富的功能和强大的性能支持。这个版本带来了许多改进和新特性,包括增强的开发工具、优化的内存管理和对现代硬件...

    J2SE宏观性总结

    Java 2 Platform, Standard Edition(简称J2SE)是Java平台的核心部分,它为开发桌面应用、服务器端应用以及中间件提供了基础。J2SE包含了Java语言的核心库,包括类库、开发工具和运行环境,使得开发者能够创建、...

    【一脚揣进J2SE】视频教程(持续更新)

    资源名称:【一脚揣进J2SE】视频教程(持续更新)资源目录:【】《一脚踹进J2SE》1-1Java简介【】《一脚踹进J2SE》1-2Java运行环境搭建【】《一脚踹进J2SE》1-3HelloWorld实现及Java运行原理介绍【】《一脚踹进J2SE...

    J2SE6.0-API(中文)-冷冻大雪.chm和java api1.6中文文档.chm

    J2SE(Java Standard Edition)6.0版本是Java平台的一个重要里程碑,为开发者带来了许多新特性、增强和优化。这个压缩包包含三个重要的资源:《J2SE6.0-API(中文)-冷冻大雪.chm》、《java api1.6中文文档.chm》...

    J2SE基础源代码

    Java Standard Edition(J2SE)是Java平台的核心部分,它为开发和运行桌面应用程序、服务器应用程序和嵌入式系统提供了基础。J2SE包含了Java语言的语法、类库以及运行时环境,使得开发者能够创建可移植性强、安全性...

    简单的J2SE环境配置

    ### 知识点:简单的J2SE环境配置 #### 一、J2SE简介与重要性 Java 2 Standard Edition(简称J2SE)是Java技术的基础版本之一,主要用于开发桌面应用程序。它提供了完整的Java核心API集合,以及必要的运行时环境和...

    j2se doc 中文版

    Java 2 Platform, Standard Edition (J2SE) 是 Oracle 公司推出的 Java 开发平台,主要用于桌面应用和服务器端开发。J2SE 文档,尤其是官方文档,是开发者学习和理解 Java 核心特性的关键资源。这个"J2SE doc 中文版...

    J2SE6.0_API_HTML格式的 可通过浏览器直接打开

    Java 2 Platform, Standard Edition (J2SE) 6.0 API HTML 文件是Java开发者的重要参考资料,它提供了J2SE 6.0版本中的所有类、接口和方法的详细文档。这个API文档以HTML格式呈现,使得用户可以直接在浏览器中浏览,...

    J2SE 中文帮助文档

    **J2SE(Java 2 Platform, Standard Edition)是Java平台的标准版,是Java开发工具和技术的基础,主要用于桌面应用的开发。它包含了Java语言的核心库,如基础类库、I/O、网络编程、多线程、集合框架等,以及一些核心...

    j2se_中文版

    Java 2 Platform, Standard Edition(J2SE)是Java开发平台的一个重要组成部分,主要用于桌面应用和服务器端开发。中文版的J2SE API文档对于中国开发者来说尤其方便,它提供了全面的API参考,帮助理解并使用Java编程...

    j2se中文6.0api

    Java 2 Platform, Standard Edition (J2SE) 是 Java 技术的核心部分,它提供了用于开发和部署桌面应用、服务器端应用以及嵌入式系统的工具和API。J2SE 6.0 版本是其历史上的一个重要里程碑,带来了许多性能优化、新...

Global site tag (gtag.js) - Google Analytics