- 浏览: 530686 次
- 性别:
- 来自: 山东济南
文章分类
最新评论
-
dragon_8844:
非常不错,nice
java.util.concurrent 多线程框架 -
wusendong:
很好的文章!受益匪浅,谢谢!
java.util.concurrent 多线程框架 -
SINCE1978:
你也关注并发啊
java.util.concurrent 多线程框架 -
lku1314:
这个不错 刚刚找到这个组建 以前孤陋寡闻了 像lz学习!标 ...
quartz 在WEB中应用小结 -
lliiqiang:
人们对于目标需要的需求明确的去做,对于目标以外的因素是随机的执 ...
flex和后端的数据交互(一)--XML和HTTPService
刚温习了一下DTO,自己做的一个多线程的socket数据传输示例!
AtomsServer.java
ServerHandle.java
AtomsClient.java
AtomsData.java
AtomsServer.java
package exam.lingling; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class AtomsServer { private int port = 8833; private ServerSocket serverSocket; private ExecutorService executorService; private final int POOL_SIZE = 10; public AtomsServer() { try { serverSocket = new ServerSocket(port); executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * POOL_SIZE); System.out.println("The server has started!"); } catch (IOException e) { System.out.println(e.getMessage()); } } public void serviceStart() { while (true) { Socket socket = null; try { socket = serverSocket.accept(); executorService.execute(new ServerHandle(socket)); } catch (Exception e) { e.printStackTrace(); } } } public static void main(String[] args) { new AtomsServer().serviceStart(); } }
ServerHandle.java
package exam.lingling; import java.io.IOException; import java.io.ObjectInputStream; import java.net.Socket; public class ServerHandle implements Runnable { private Socket socket; public ServerHandle(Socket socket) { this.socket = socket; } private ObjectInputStream getAtomsReceive(Socket socket) throws IOException { return new ObjectInputStream(socket.getInputStream()); } public void run() { try { ObjectInputStream ois = this.getAtomsReceive(socket); Object o = ois.readObject(); while (o != null) { AtomsData atomsdata = (AtomsData) o; System.out.println("The version of operation is " + atomsdata.getVersion() + " ."); } } catch (IOException e) { e.printStackTrace(); System.out.println(e.getMessage()); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (socket != null) socket.close(); } catch (Exception e) { e.printStackTrace(); } } } }
AtomsClient.java
package exam.lingling; import java.io.IOException; import java.io.ObjectOutputStream; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class AtomsClient { public static void main(String args[]) throws InterruptedException { ExecutorService exec = Executors.newFixedThreadPool(2); for (int index = 0; index < 10; index++) { Runnable run = new Runnable() { private Socket socket = null; private int port = 8833; AtomsData atomsdata; ObjectOutputStream oos = null; public void run() { while (true) { try { socket = new Socket("localhost", port); atomsdata = new AtomsData(); atomsdata.setVersion((new Double((long) (Math.random() * 1000))).toString()); oos = new ObjectOutputStream(socket.getOutputStream()); oos.writeObject(atomsdata); } catch (IOException e) { e.printStackTrace(); } finally { try { oos.close(); } catch (Exception e) { e.printStackTrace(); } } } } }; exec.execute(run); } exec.shutdown(); } }
AtomsData.java
package exam.lingling; import java.io.Serializable; public class AtomsData implements Serializable { private static final long serialVersionUID = 1L; private String version; private int[] atomsArray; AtomsData() { } AtomsData(String version, int[] atomsArray) { this.version = version; this.atomsArray = atomsArray; } public int[] getAtomsArray() { return atomsArray; } public void setAtomsArray(int[] atomsArray) { this.atomsArray = atomsArray; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String toString() { return "AtomsData info:" + this.version; } }
发表评论
-
ubuntu14.04下编译安装Tora
2015-08-11 16:19 1205需预先安装oracle客户端;以下类库,有的可能需要提前安 ... -
ubuntu14.04下oracle客户端最小化安装
2015-08-11 16:04 1053在Oracle官网下载Oracle Instant Clien ... -
ubuntu14.04下编译安装QT
2015-08-11 16:03 14991. 首先配置一些编译Qt ... -
55种开源可视化数据分析工具
2015-07-22 14:50 0http://mp.weixin.qq.com/s?__bi ... -
响应式设计理念
2013-09-29 10:00 0概念 响应式Web设计(Responsive Web desi ... -
Liferay 使用随笔
2010-04-19 14:18 01.如何根据权限去除每一个portlet中右上角的选项。 关于 ... -
Liferay中ajax应用用户session超时
2010-03-26 09:31 3913基于Liferay Portal开发ajax应用时,如果长时间 ... -
Liferay portlet实例化配置
2009-11-10 09:06 4369在默认的情况下,一个p ... -
带checkbox的dhtmlxtree菜单树异步加载时的问题解决
2009-10-24 11:27 5965最近一直很忙,自己负责几个模块的设计开发,还有和其他服务接口的 ... -
JS代码示例
2009-10-21 14:23 22791.数组操作时的push var a = [],b = [ ... -
dhtmlxtree异步加载时的一个bug修正
2009-09-15 10:00 3805前面已经对dhtmlx的东西有所介绍,使用中也发现了不少bug ... -
WEB Page to PDF
2009-06-17 11:10 2533现在有很多网页页面转换成PDF文档的支持项目,我使用的是pd4 ... -
Liferay中使用dhtmlxlayout在IE下的问题
2009-06-12 13:43 2093Liferay 中使用dhemtlx系列UI的时候,dhtml ... -
Liferay相关配置
2009-06-10 13:35 1253修改liferay中portlet的加载目录 前面 ... -
Spring JDBC对Oracle10g数据库操作时RowSet的问题
2009-05-19 08:56 3443使用Spring JDBC对Oracle10g进行数据库分页的 ... -
Dynamic Tables In JavaScript for IE and Firefox
2009-05-06 14:03 1708http://www.sweetvision.com/2007 ... -
liferay中对struts桥接处理后的response
2009-04-18 14:29 1833对于在liferay开发平台中 ... -
liferay开发小记---Struts,Spring,Hibernate架构
2009-04-07 11:11 6256liferay有自己的struts和spring扩展,有兴趣的 ... -
liferay开发小记---portlet文件构造
2009-04-03 17:09 3277书接上回,说说portlet的开发,每一个portlet就是对 ... -
liferay开发小记---开发环境的搭建
2009-04-02 13:42 3800用惯了MyEclipse,我的环境也是在它上面搭建的,试用过M ...
相关推荐
在软件开发中,视图对象(View Object,简称VO)和数据传输对象(Data Transfer Object,简称DTO)是两种常见的设计模式,它们在系统架构中起着至关重要的作用。这两种对象主要用于解决数据模型与界面展示之间的数据...
DTO数据传输对象简介PPT
然而,对于VO对象、DTO对象以及前端Vue页面等非预置的代码生成需求,就需要我们对默认的代码生成器进行扩展和定制。 在MyBatisPlus 3.5.3版本中,代码生成器主要有两种类:`AutoGenerator`和`FastAutoGenerator`。`...
数据传输对象(DTO)模式...由于每个调用的大部分成本与客户端和服务器之间的往返时间相关,减少调用次数的一种方法是使用一个对象(DTO),该对象聚合了原本需要通过多次调用传输的数据,但仅通过一次调用提供服务。
DTO可能会包含多个VO对象的组合,以适应更复杂的传输需求。 这六种对象在实际项目开发中起到不同的作用,理解并正确使用它们可以帮助我们构建更加清晰、模块化的软件架构。例如,PO和DAO一起用于数据持久化,BO处理...
在给定的压缩包文件中,可能包含了实现这一功能的相关代码示例,包括XML文件、数据传输对象(DTO,Data Transfer Object)以及一个用于读取文件的工具类。 首先,我们需要了解JAXB的基本工作原理。JAXB提供了一种...
在IT行业中,尤其是在Java开发领域,数据传输对象(DTO,Data Transfer Object)是一种常见的设计模式,用于在系统组件之间传递数据。"导入Excel快速生成DTO"这个标题暗示了一个工具或库,它能帮助开发者从Excel文件...
DTO,全称Data Transfer Object,是软件设计模式中的一种,主要用在分布式系统或Web服务之间,用于数据的传输。DTO对象通常不包含任何业务逻辑,仅仅是数据的载体,使得不同层之间的数据交换变得简单。在这个"登陆的...
这样做的好处在于,当数据需要跨层传输时,可以避免直接传递复杂的业务对象,防止了不同层之间的相互污染,同时也可以提高性能,因为在传输过程中只传输必要的数据,而不是整个对象。 在上述实例中,我们有一个...
标题“分页dto把html写在dto里”和描述“把分页按钮写在dto里,其他dto继承他”表明了一个特殊的实践,即将HTML代码直接包含在DTO对象中,以便于处理分页功能,并且其他DTO可能通过继承这个特殊的DTO来共享相同的...
DTO(数据传输对象) 概述 创建该库是为了解决以下问题:从数据源获取数据模型,并且需要删除,添加,合并或转换数据模型为相似或完全不同的对象。 其他语言也有类似的库(DataMapper,DTO(C#)等)。 我永远找不...
在分布式系统的设计中,DTO(Data Transfer Object,数据传输对象)是一种非常重要的概念和技术手段。当客户端需要与服务器端进行交互时,尤其是在涉及大量的数据交换场景下,传统的做法可能会带来一系列的问题。...
在软件开发过程中,数据传输对象(Data Transfer Object, DTO)是一种常见的设计模式,用于在系统之间传递大量数据。DTO不包含任何业务逻辑,主要是数据容器。在这个场景中,"快速生成DTO"指的是利用Excel模板来自动...
这个库的名称可能暗示了它与电子竞技游戏《英雄联盟》(League of Legends,简称LoL)的数据传输对象(Data Transfer Object, DTO)处理有关,DTO是软件设计模式中的一种,用于在系统不同层之间传递数据。...
在IT行业中,开发人员经常需要处理数据传输对象(DTO)的创建,这通常是将数据库模型转化为业务层或视图层所需的格式。手动编写这些DTO类可能会导致大量的重复代码,增加维护成本,同时也容易引入错误。为了解决这个...
在“demo-workspace”文件夹中,可能包含了一个完整的项目结构,包括了配置文件、接口定义、DTO类、主启动类等,你可以进一步探索和学习这个示例。理解并掌握这一技术,将有助于构建高效、可维护的微服务架构。
注释处理器库可自动生成数据传输对象(DTO)。 文件 弹簧支撑 可序列化的支持 快速浏览 根据 class Pojo1 { private int a; private List< Pojo2> pojo2List; } class Pojo2 { private String b; private Pojo1...
在Java开发中,数据传输对象(DTO)和持久化对象(POJO)是常见的概念,它们用于在不同层之间传递数据。手动创建这些类可能会耗费大量时间,特别是在处理大量数据库表时。因此,"eclipse插件,根据数据库表自动生成...
在软件开发中,数据传输对象(Dto,Data Transfer Object)和实体类(Entity Class)是两种常见的对象模型,它们在不同的场景中各自扮演着重要的角色。Dto主要用于在系统组件之间传递数据,而实体类通常代表数据库中...
生成RowMapper代码时,通常会为每个DTO创建一个对应的RowMapper实现,这样可以在处理数据库查询结果时,方便地将结果集转换为DTO对象。 5. **BO(Business Object)**: BO是业务逻辑层的对象,负责处理业务规则和...