相关推荐
-
VB中实现链表
在VB中实现链表操作。内附详细注解。 可实现队列、堆栈、双向链表,纯环链表、MAP、集合、数据容器等功能。
-
VB-数组、集合、泛型
变量、数组、集合、泛型的发展 最开始用内存中一个位置映射一个值,用变量来“使用”这个值。 进一步发展,用变量来引用一组值,这就是数组。由数组概念,发展出链表、堆、栈,进行排序、检索等。 但这并不能完全表达,由此发展出集合概念,它是更强大的数组,都依赖于Object基类。 随之而来的是集合中元素并不一定是...
-
循环链表以及相关操作(VB实现)
循环链表以及相关操作(VB实现)首先建立一个工程,然后增加一个类并且命名为(node,cls),在node.cls中加入以下代码.Option ExplicitPublic x As LongPublic count As LongPublic nextnode As node在Form1.frm中加入以下代码。Option Explic
-
在Visual Basic编程中运用数据结构
在Visual Basic编程中运用数据结构章新苏 (江苏省水利科学研究所材料结构室)摘要:本文讨论了在VB编程中利用数组和自定义数据类型构造链表、栈和队列等数据结构的方法。关键词:Visual Basic,数据结构1.引言 Basic语言拥有较高的普及率,同时在Windows操作系统中Visual Basic以功能强、代码量小,容易上手和所见即所得的可视化
-
2.VB中的数据结构
1.标识符 规则:字母或者下划线开头;不能使用VB关键字;不要使用特殊意义的标识符;不区分变量的大小写,一般来说首字母大写,符号常量均大写 x-y 错误,-号不能出现;1av错误,数字不可开头;不允许出现减号,空格 2.常量 直接常量:直接反应类型 系统常量:形式:vbcrlf 回车换行组合符 符号常量:形式:Const 符号常量名 [ As 类型] = 表达式 其...
-
计算机二级循环链表,计算机二级VB辅导:循环链表以及相关操作
循环链表以及相关操作(VB实现)首先建立一个工程,然后增加一个类并且命名为(node,cls),在node.cls中加入以下代码.Option ExplicitPublic x As LongPublic count As LongPublic nextnode As node在Form1.frm中加入以下代码。Option ExplicitDim head As nodeDim pointer ...
-
用VB实现循环队列算法收藏
在日常代码编制时,许多人会忽略一些最基本的算法,导致代码冗余,思路不清楚。我曾经至少两次在CSDN里遇到这类问题:我想在页面的右边显示一个列表,列表长度为20,新加入一个用户后,显示在列表开头,再加入的用户,显示在这个用户的下边,当用户数量超过20后,挤掉最前面的那一位,第二位加入的用户成了第一位,依次循环,保证列表最多显示20位用户。当然,实际问题可能与此有些出入,比如Coder是想显示
-
链表的用法
久违的链表 mua mua mua !!!#include<bits/stdc++.h> using namespace std; struct node{ int data; // 单链表的数据域 struct node *Next; // 单链表的指针域 }; /** 建立1:头插,逆序 */ node *creat1(int n){ node *he...
-
关于VB中数据的存储格式和寻址方式
最麻烦的是Variant类型,因为VB是设计成一种傻瓜式的语言,对数据类型没有严格的规定,甚至可以不用声明变量而直接使用,所以在反汇编后的VB程序中,关于类型转换的语句占了很大一部分,只要一涉及数据计算,总会看到一堆数来回转换,其中许多函数的参数,还有未经声明直接使用的变量等,都是Variant类型。还是有许多不明白的地方,比如中间的七位到底有什么用,在那些有Var字样的函数内部实现的过程究竟是怎样(我跟进了一个vbaVarAdd发现极其复杂)等等,还请各位大大指出来,帮助我们这些在黑暗中摸索的菜鸟们。
-
精彩编程与编程技巧-VB自定义数据结构的传输转换...
精彩编程与编程技巧-VB自定义数据结构的传输转换 ...
36 楼 wjjava 2011-08-05 19:04
近来我在使用你们开发的Memcached Java Client2.6.1时,遇到以下问题,一直没有解决,能帮我分析一下吗?
我向memcached中存基本对象时如String,时没有问题。
但是我向memcached中存序列化好的对象时,出现以下错误,请帮我看一看:
107366 [http-8080-1] ERROR com.danga.MemCached.MemCachedClient - ++++ exception thrown while trying to get object from cache for key: testVod77e266e-d238-4381-a90a-b812f5222f59
107366 [http-8080-1] ERROR com.danga.MemCached.MemCachedClient - org.apache.catalina.session.TestVo
java.io.IOException: org.apache.catalina.session.TestVo
at com.schooner.MemCached.ObjectTransCoder.decode(ObjectTransCoder.java:61)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:758)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:609)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:605)
at com.danga.MemCached.MemCachedClient.get(MemCachedClient.java:911)
at org.apache.catalina.session.MemcachedSession.getAttribute(MemcachedSession.java:27)
at org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:110)
at org.apache.jsp.test1_jsp._jspService(test1_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
你可以利用我们的客户端直接向memcached存取Java 对象,而不必先序列化再存,我们的客户端会为你做序列化和反序列化的工作,例如:
TestClass tc = new TestClass("foo", "bar", new Integer(32));
mc.set("foo", tc);
TestClass tt = (TestClass) mc.get("foo");
但是,你必须保证这个类(TestClass)能够被client找到,也就是说你要把包含这个类定义的Jar文件包含到class path里面,不然客户端在反序列化的时候会报class not found的错误,这就是出现你上述错误地原因。
谢谢你的回复!
正如你所说,我把对象的Jar包放到class path之后,可以get出来了,但
是不能转化回来,报以下错误:
2011-8-5 19:00:47 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: org.apache.catalina.session.TestVo cannot be cast to org.apache.catalina.session.TestVo
at org.apache.jsp.test1_jsp._jspService(test1_jsp.java:66)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
这两个类是一样的啊,却不能转化,不知是什么原因。
还有就是如果新加类到memcached中都要把这个类放到class path中,感觉挺麻烦的,有没有方法杜绝呢?
35 楼 MengLee 2011-08-05 15:37
近来我在使用你们开发的Memcached Java Client2.6.1时,遇到以下问题,一直没有解决,能帮我分析一下吗?
我向memcached中存基本对象时如String,时没有问题。
但是我向memcached中存序列化好的对象时,出现以下错误,请帮我看一看:
107366 [http-8080-1] ERROR com.danga.MemCached.MemCachedClient - ++++ exception thrown while trying to get object from cache for key: testVod77e266e-d238-4381-a90a-b812f5222f59
107366 [http-8080-1] ERROR com.danga.MemCached.MemCachedClient - org.apache.catalina.session.TestVo
java.io.IOException: org.apache.catalina.session.TestVo
at com.schooner.MemCached.ObjectTransCoder.decode(ObjectTransCoder.java:61)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:758)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:609)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:605)
at com.danga.MemCached.MemCachedClient.get(MemCachedClient.java:911)
at org.apache.catalina.session.MemcachedSession.getAttribute(MemcachedSession.java:27)
at org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:110)
at org.apache.jsp.test1_jsp._jspService(test1_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
你可以利用我们的客户端直接向memcached存取Java 对象,而不必先序列化再存,我们的客户端会为你做序列化和反序列化的工作,例如:
TestClass tc = new TestClass("foo", "bar", new Integer(32));
mc.set("foo", tc);
TestClass tt = (TestClass) mc.get("foo");
但是,你必须保证这个类(TestClass)能够被client找到,也就是说你要把包含这个类定义的Jar文件包含到class path里面,不然客户端在反序列化的时候会报class not found的错误,这就是出现你上述错误地原因。
34 楼 wjjava 2011-08-05 11:56
近来我在使用你们开发的Memcached Java Client2.6.1时,遇到以下问题,一直没有解决,能帮我分析一下吗?
我向memcached中存基本对象时如String,时没有问题。
但是我向memcached中存序列化好的对象时,出现以下错误,请帮我看一看:
107366 [http-8080-1] ERROR com.danga.MemCached.MemCachedClient - ++++ exception thrown while trying to get object from cache for key: testVod77e266e-d238-4381-a90a-b812f5222f59
107366 [http-8080-1] ERROR com.danga.MemCached.MemCachedClient - org.apache.catalina.session.TestVo
java.io.IOException: org.apache.catalina.session.TestVo
at com.schooner.MemCached.ObjectTransCoder.decode(ObjectTransCoder.java:61)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:758)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:609)
at com.schooner.MemCached.AscIIClient.get(AscIIClient.java:605)
at com.danga.MemCached.MemCachedClient.get(MemCachedClient.java:911)
at org.apache.catalina.session.MemcachedSession.getAttribute(MemcachedSession.java:27)
at org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:110)
at org.apache.jsp.test1_jsp._jspService(test1_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
33 楼 bee1314 2011-07-30 23:54
32 楼 dennis_zane 2011-06-29 10:13
1、首先是java memcached client可以用连接池,其实xmc也支持连接池,设置连接池的话,针对小数据的存取吞吐量会有一个提升,大并发下跟java memcached client没有差距。
2、大数据的存取,java memcached client去掉了压缩功能,比较的时候,其他client有没有将压缩的阈值设大来防止压缩,如果没有也是不公平的。
31 楼 MengLee 2011-06-29 10:08
比如说MemCachedClient类与2.5.1就有一些差别,2.6.1中少了一些构造函数,还有一些设置项也没有了,比如说
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64 * 1024);
谢谢。。
1)我们只增加了构造函数,已有的构造函数保留不变,所以这方面可以保证兼容;
2)由于压缩对于局域网环境下性能提升不大,相反会占用许多CPU时间,因此我们不建议使用,在新版中没有实现。
你可以参考这个wiki:https://github.com/gwhalin/Memcached-Java-Client/wiki/COMPATIBILITY
这是Howto:https://github.com/gwhalin/Memcached-Java-Client/wiki/HOWTO
谢谢你及时的回复,但是我看代码比较两个版本的文件,确实是看到少了一些构造函数,比如说:
public MemCachedClient(String poolName, boolean isTcp, boolean binaryProtocol, ClassLoader cl, ErrorHandler eh) ;
public MemCachedClient(ClassLoader classLoader);
public MemCachedClient(ClassLoader classLoader, ErrorHandler errorHandler);
public MemCachedClient(ClassLoader classLoader, ErrorHandler errorHandler, String poolName);
这几个构造函数在2.5.1中有,但是在2.6.1中就没有看有这几个。
我仔细检查了2.6.0以来的check in,确实我们错误地删除了这几个构造函数,十分感谢你的指正。我会开一个issue,然后在下一个版本fix。
30 楼 dennis_zane 2011-06-29 10:03
115 [Thread-68] ERROR com.danga.MemCached.MemCachedClient - ++++ exception thrown while writing bytes to server on set
[ERROR]
java.nio.BufferUnderflowException
at java.nio.Buffer.nextGetIndex(Buffer.java:474)
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:205)
at com.schooner.MemCached.SockInputStream.read(SockInputStream.java:110)
at com.schooner.MemCached.SockInputStream.getLine(SockInputStream.java:173)
at com.schooner.MemCached.AscIIClient.set(AscIIClient.java:421)
at com.schooner.MemCached.AscIIClient.set(AscIIClient.java:227)
at com.danga.MemCached.MemCachedClient.set(MemCachedClient.java:467)
at net.rubyeye.memcached.benchmark.java_memcached.ReadWriteThread.set(ReadWriteThread.java:27)
at net.rubyeye.memcached.BaseReadWriteThread.run(BaseReadWriteThread.java:43)
119 [Thread-68] ERROR com.danga.MemCached.MemCachedClient -
不好意思,是我的错误。是memcached没起来,但是这个错误信息似乎也不对,可以更友好一点?
29 楼 MengLee 2011-06-29 09:55
那么测试报告的权威性如何保证?
这是一个开源项目,热烈欢迎所有开发者的参与,这里没有权威,只有共同探讨,一起提高。
28 楼 dennis_zane 2011-06-29 09:55
115 [Thread-68] ERROR com.danga.MemCached.MemCachedClient - ++++ exception thrown while writing bytes to server on set
[ERROR]
java.nio.BufferUnderflowException
at java.nio.Buffer.nextGetIndex(Buffer.java:474)
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:205)
at com.schooner.MemCached.SockInputStream.read(SockInputStream.java:110)
at com.schooner.MemCached.SockInputStream.getLine(SockInputStream.java:173)
at com.schooner.MemCached.AscIIClient.set(AscIIClient.java:421)
at com.schooner.MemCached.AscIIClient.set(AscIIClient.java:227)
at com.danga.MemCached.MemCachedClient.set(MemCachedClient.java:467)
at net.rubyeye.memcached.benchmark.java_memcached.ReadWriteThread.set(ReadWriteThread.java:27)
at net.rubyeye.memcached.BaseReadWriteThread.run(BaseReadWriteThread.java:43)
119 [Thread-68] ERROR com.danga.MemCached.MemCachedClient -
27 楼 carvin 2011-06-29 09:36
比如说MemCachedClient类与2.5.1就有一些差别,2.6.1中少了一些构造函数,还有一些设置项也没有了,比如说
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64 * 1024);
谢谢。。
1)我们只增加了构造函数,已有的构造函数保留不变,所以这方面可以保证兼容;
2)由于压缩对于局域网环境下性能提升不大,相反会占用许多CPU时间,因此我们不建议使用,在新版中没有实现。
你可以参考这个wiki:https://github.com/gwhalin/Memcached-Java-Client/wiki/COMPATIBILITY
这是Howto:https://github.com/gwhalin/Memcached-Java-Client/wiki/HOWTO
谢谢你及时的回复,但是我看代码比较两个版本的文件,确实是看到少了一些构造函数,比如说:
public MemCachedClient(String poolName, boolean isTcp, boolean binaryProtocol, ClassLoader cl, ErrorHandler eh) ;
public MemCachedClient(ClassLoader classLoader);
public MemCachedClient(ClassLoader classLoader, ErrorHandler errorHandler);
public MemCachedClient(ClassLoader classLoader, ErrorHandler errorHandler, String poolName);
这几个构造函数在2.5.1中有,但是在2.6.1中就没有看有这几个。
26 楼 fjjiaboming 2011-06-29 09:23
那么测试报告的权威性如何保证?
25 楼 MengLee 2011-06-29 07:54
除了连接池采用commons-pool重写之外是否有sock部分的重写?
关于优化细节,你可以看这个wiki:https://github.com/gwhalin/Memcached-Java-Client/wiki/OPTIMIZATION
24 楼 MengLee 2011-06-29 07:53
这是howto:https://github.com/gwhalin/Memcached-Java-Client/wiki/HOWTO
23 楼 MengLee 2011-06-29 07:53
比如说MemCachedClient类与2.5.1就有一些差别,2.6.1中少了一些构造函数,还有一些设置项也没有了,比如说
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64 * 1024);
谢谢。。
1)我们只增加了构造函数,已有的构造函数保留不变,所以这方面可以保证兼容;
2)由于压缩对于局域网环境下性能提升不大,相反会占用许多CPU时间,因此我们不建议使用,在新版中没有实现。
你可以参考这个wiki:https://github.com/gwhalin/Memcached-Java-Client/wiki/COMPATIBILITY
这是Howto:https://github.com/gwhalin/Memcached-Java-Client/wiki/HOWTO
22 楼 carvin 2011-06-29 00:48
比如说MemCachedClient类与2.5.1就有一些差别,2.6.1中少了一些构造函数,还有一些设置项也没有了,比如说
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64 * 1024);
谢谢。。
21 楼 wxq594808632 2011-06-28 09:52
之前就是300%,现在又是100%
20 楼 yhjhoo 2011-06-27 22:57
19 楼 MengLee 2011-06-27 17:54
除了连接池采用commons-pool重写之外是否有sock部分的重写?
有的,sock部分改动比较大。稍后我会写一篇博客详细说明。
18 楼 snowyregion 2011-06-27 17:42
除了连接池采用commons-pool重写之外是否有sock部分的重写?
17 楼 MengLee 2011-06-27 17:18
master是由这个项目的创始人whalin维护,编译出的客户端性能较低。performance是这次2.6.1版本对应的源代码分支。