-
怎样保证JaveBean里的某个方法只能被一个用户调用?3
如题!
怎样保证JaveBean里的某个方法只能被一个用户调用?synchronized?Singleton?2008年8月12日 23:26
3个答案 按时间排序 按投票排序
-
采纳的答案
1.
直接将方法定义为synchronized的.public synchronized void method1() { // ... }
2.
在方法体内部要求先获得一个对象锁.private Object lock = new Object(); public void method2() { synchronized (lock) { // ... } }
2008年8月13日 00:14
-
单例模式Singleton是用来保证系统中只产生该对象的一个实例。虽然多线程环境下的单例模式需要使用同步synchronized,但楼主的问题好象跟单例没有直接关系。
关于单例模式,网上很多地方都有讨论,我博客也有一篇关于此问题的讨论:
http://zhaipuhong.iteye.com/blog/214675
JaveBean里的某个方法只能被一个用户调用,应该是同步的问题。
“在 Java 编程中,所有的对象都有锁。线程可以使用 synchronized 关键字来获得锁。在任一时刻对于给定的类的实例,方法或同步的代码块只能被一个线程执行。这是因为代码在执行之前要求获得对象的锁。继续我们关于复印机的比喻,为了避免复印冲突,我们可以简单地对复印资源实行同步。如同下列的代码例子,任一时刻只允许一位职员使用复印资源。通过使用方法(在 Copier 对象中)来修改复印机状态。这个方法就是同步方法。只有一个线程能够执行一个 Copier 对象中同步代码,因此那些需要使用 Copier 对象的职员就必须排队等候。 ”
示例代码:class CopyMachine { public synchronized void makeCopies(Document d, int nCopies) { //only one thread executes this at a time } public void loadPaper() { //multiple threads could access this at once! synchronized(this) { //only one thread accesses this at a time //feel free to use shared resources, overwrite members, etc. } } }
关于同步的问题,确实很复杂,而且Jdk5.0在多线程编程上增加了一些新特性。楼主有兴趣可以参阅一下《JAVA核心技术 II》第七版,第一章。
2008年8月13日 09:31
-
实现线程安全:
最基本的办法就是synchronized关键字...Singleton模式也是基于synchronized关键字的.
关于实现线程安全的具体方法.下面这个问题里面已经讲得很详细了.
楼主可以参考一下:[url]
http://www.iteye.com/problems/2641[/url]2008年8月13日 00:13
相关推荐
一个典型的JavaBean包括私有字段、公共的getter和setter方法,并且可以通过构造函数初始化这些字段。在企业级应用开发中,JavaBean经常作为持久化对象使用,负责在应用程序和数据库之间传输数据。 **Hibernate**是...
简单的超市进销系统,使用Servlet+Jsp+JaveBean实现 简单的超市进销系统,使用Servlet+Jsp+JaveBean实现 简单的超市进销系统,使用Servlet+Jsp+JaveBean实现 简单的超市进销系统,使用Servlet+Jsp+JaveBean实现 简单...
在Java Web开发中,"javabean+jsp"是一个常见的技术组合,用于构建动态网站应用程序。这个小实例展示了如何利用这两个技术进行用户注册验证。在这个过程中,JavaBean作为业务逻辑层,负责处理数据验证和存储,而JSP...
【标题】"基于Myeclipse+javebean+oracle数据库的电信报表系统" 是一个典型的Java Web项目,旨在实现电信行业的数据报表生成与管理。Myeclipse作为开发工具,提供了集成开发环境,支持Java、JSP、Servlet等技术,...
- **作用**:创建一个临时文件,用于存储上传过程中的文件数据。 - **实现**: - 定义临时文件名`tempFileName`。 - 使用`File`构造器创建临时文件实例`tempFile`。 ##### 6. 文件流操作 ```java ...
这个插件的第一版大概是在两年多前写的,中间一直都有零碎升级,但从来没有写过安装使用说明(我个人认为很简单的)。 支持功能: 1、 支持oracle 和 mysql 两种数据库。 2、 支持oracle指定表空间生成。 3、 支持...
AXIS是Apache软件基金会的一个开源项目,它提供了一个强大的SOAP(Simple Object Access Protocol)客户端和服务端实现,用于构建和消费Web服务。 在Java世界中,当我们需要通过WebService传递复杂的数据结构时,...
【jsp+servlet+javabean客房管理系统】是一个基于Web的软件解决方案,用于高效管理酒店或宾馆的客房状态、预订、入住、退房等业务流程。这个系统的核心技术栈包括JavaServer Pages (JSP)、Servlet以及JavaBeans,...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为...基于Servlet+Jsp+JaveBean实现简单的超市进销系统源码.zip
例如,Servlet可能会创建一个新的`StudentDAO`实例,调用`getStudentById()`方法获取指定ID的学生信息,然后将这些信息填充到一个`Student`对象中。最后,Servlet可以将这个Java Bean传递给JSP页面,JSP通过EL...
【标题】"jsp+mysql+javabean电子商城"是一个基于Web的电子商务平台,它结合了JavaServer Pages(JSP)、MySQL数据库以及JavaBean技术来实现动态网站功能。这个大型购物和新闻系统提供了完整的在线购物体验,包括...
- **控制流**:JSP中的脚本元素(scriptlets)可以处理用户交互,比如当用户点击“提交”按钮时,调用JavaBean的方法进行逻辑判断。 3. **JSP与JavaBean的交互** - **请求处理**:在JSP中,通过`<jsp:useBean>`...
将json转换为javebean的工具,封装jsonschema2pojo,用户可以修改配置文件json2Beans.json,然后运行Json2JavaBean2.bat直接生成对应类。 能够批量转换json为bean,直接拷贝到项目中使用。 提醒: 需要提前安装java...