上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
【1】Object >> byte[]. 约束:该对象必须可序列化,且其包含的各属性对象,也必须可序列化 注意:注释掉的部分为hessian实现方式 public static byte[] objectToBytes(Object obj){ byte[] result = null; ByteArrayOutputStream byteOutputStream = null; Obje... Read More
posted @ 2012-06-26 13:27 技术草根女 Views(2767) Comments(0) Diggs(0) Edit
好像,是学过~眼下,却怎也想不起来可以用他~他是谁呢?他就是Java reflect.【背景描述】A的运行,依赖于B框架,还依赖了C jar包。其中,B、C皆为基础jar包,为众多系统使用,但相互间无必然联系。有一天,A提出一个需求,要在dev下,同一线程当中,需要B、C共享一些资源,如某些变量。从实现上来讲,B、C就必须打通,即要相互依赖彼此。【万分纠结】这时候B、C就头痛了。B作为框架jar包,自是不能依赖于任何一个小小的上层jar包,而C作为通用的上层jar包,不止适用于B框架,对于UVW框架,也都是要适用的,也断然不可依赖B。那么,应该怎么办呢?【方案】好了,开始想办法。 方法一描述: Read More
posted @ 2012-06-25 22:40 技术草根女 Views(466) Comments(0) Diggs(0) Edit
【1】从零开始建工程最简单的:http://www.cnblogs.com/alipayhutu其中d)换作:ApplicationContext context = new ClassPathXmlApplicationContext("Config.xml"); Main main = (Main) context.getBean("main"); 更多可参考:http://hi.baidu.com/shutaodream/blog/item/a51b9f1bf1da00b94aedbcd0.html【2】eclipse,工程/文件目录 1. 获取系 Read More
posted @ 2012-06-21 22:33 技术草根女 Views(39077) Comments(0) Diggs(1) Edit
【1】从零开始a). 新建Java Project>>新建package>>新建java类;b). import jar包(一个就够),这里我用的是log4j-1.2.14.jar,c). 新建log4j.properties,置于project根目录下;log4j.rootLogger=info, ServerDailyRollingFile, stdout log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.ServerDaily Read More
posted @ 2012-06-21 21:37 技术草根女 Views(172201) Comments(13) Diggs(21) Edit
列举几种线程池实现:【1】ExecutorServicehttp://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ExecutorService.html【2】ScheduledExecutorServicehttp://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ScheduledExecutorService.html【3】ThreadPoolExecutorhttp://www.gznc.edu.cn/yxsz/jjglxy/ Read More
posted @ 2012-06-20 13:58 技术草根女 Views(1046) Comments(0) Diggs(0) Edit
【Future】http://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/Future.html【好奇】(1)future.cancel(mayInterruptIfRunning)的内部实现会是什么样子的?可以中断一个线程池里正在执行着的“那一个”任务。可猜想,必定记录着具体线程标识,且发了一个中断信号。(2)猜测,应该只是发一个中断信号,可以中断阻塞中的操作。而如果是while(true); 这样的占用CPU的非阻塞式操作,是中断不掉的,也即线程依旧在跑,占用着线程池资源。【注意】a). 线程池资源有限,有些 Read More
posted @ 2012-06-20 13:16 技术草根女 Views(14115) Comments(0) Diggs(0) Edit
客户端与服务器端连接建立后,后面的故事会是怎样的呢,连接断开怎么办,需不需要重连,如何知道对方是活着的?一方强制关闭连接,对另一方的影响是什么呢? 下面,逐一回答以下问题。 【客户端】 重连任务:如果session关闭,那么可以尝试做重连,例如加重连task等。具体的连接过程,与普通的客户端连接建立过程并无不同。 心跳包判活:如果session空闲,可以可以尝试发些心跳包... Read More
posted @ 2012-06-18 22:03 技术草根女 Views(2646) Comments(0) Diggs(0) Edit
【场景描述】 客户端启好,服务器端启好。 客户端发起连接 客户端发包含“hutu”这4个字节的数据包 客户端掉开连接,服务器端断开连接 【过程示意】无图无真相! 【Socket状态变迁图】无图无真相! 建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。客户端状态:SYN_SENT ... Read More
posted @ 2012-06-15 17:39 技术草根女 Views(2707) Comments(0) Diggs(0) Edit
【Server端】 先说说,连接配置协议类型(指定commandFactory)、端口、发送缓冲队列最大字节数、回调线程池、允许的最大回调个数、定时扫描连接的时间间隔,云云; 配置都清楚了,那就开工吧根据配置,创建上下文context;可能会有各种事件过来吧,得注册监听器和处理器在context中注册:各种类型的命令,生命周期连接监听器,连接选择器,心跳包处理器,云云; 请个大管家:控制器controller在controller中设置:backlog参数、协议工厂、handler(这个很重要)、关闭连接时逗留的超时值、socket配置、selector池大小、读事件派发器;万事俱备,所有人注 Read More
posted @ 2012-06-15 13:52 技术草根女 Views(1409) Comments(0) Diggs(0) Edit
【客户端】 我想建立连接置一些标志,表示该url已经准备开始连接,其他尝试暂别进行 我打开socket通道,要建了打开一个socketChannel,并设置该channel相关属性 好,调了,通道你后面建立去吧异步连接,非同步阻塞,即刻返回,tcp连接在后面其实已经悄麽悄麽开建了 我方是否真好做好连接建立准备呢?将channel注册给selector等,选选人,看看谁来负责OP_CONNECT事件、谁来负责OP_READ、OP_WRITE事件等。为连接的到来做好一切准备。详见下面【备注】 连接来啦,速速创建sessionchannel里来了OP_CONNECT事件,太好啦,那么开始创建会话。会 Read More
posted @ 2012-06-14 21:59 技术草根女 Views(329) Comments(0) Diggs(0) Edit
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页