`
xiemingmei
  • 浏览: 207656 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
解析JSON字串的方法有 (1)var vjson = eval(jsonstr); 缺点:不安全,有可能jsonstr中有恶意脚本,那就麻烦了。 (2)var vjson = json_parse(jsonstr); 安全,解析速度也很快,不过需要引入json_parse.js脚本; (3)var vjson = JSON.parse(jsonstr); 安全,解析速度也很快。网上声称Firefox 3.1 和 IE 8 RC1浏览器内置该API接口,可以直接使用。如果考虑很多浏览器不支持内置的JSON,则在文件中引入json.js脚本即可。 json.js、json_parse.js两 ...
Java SE 6 开始支持各种脚本语言如PHP、Ruby、JavaScript、Python等。Java 6 默认支持执行Javascript,它是通过js引擎Mozilla Rhino来实现的。如: ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); System.out.println(engine.getClass()); engine.put("age", 2 ...
如果计算页面的浏览率呢? 最原始的方法就是在服务器端程序中写点击率累计的代码,但是这有个问题,就是页面被本地浏览器缓存的话,也许根本不会有请求到服务器端,这样会导致丢失浏览次数。另外,大部分网站的页面都是被静态化的,浏览主页面有时不会发请求到服务端程序。 比较靠谱的方法是:在主页面,不管有没有缓存,都不计算浏览次数。主页面中通过iframe或ajax来请求登记该页面的浏览次数,且这个请求不缓存,每次都会发送到服务器。 例如,iteye的blog浏览次数就是这样计算的。 主页面:http://xiemingmei.iteye.com/blog/1146702 缓存属性: 浏览器会缓存该页面 ...
什么是JSONP  JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。 比如客户想访问http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction 假设客户期望返回JSON数据:["customername1","customername2"]    那么真正返回到客户端的Script Tags: callbackFunction([“customername1& ...
以下内容貌似简单,但有些朋友不一定都理解清晰了。 浏览器缓存存在本地,IE的如:C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files文件夹下。浏览器取缓存内容的类型: (1)本地缓存:直接从本地去页面缓存; 如果缓存的页面有expires(绝对时刻)或Cache-Control:max-age(时长),则在有效时间内,则取本地页面,不会给浏览器发请求。 (2)协商缓存:与web服务器协商,判断是否取浏览器缓存。 如果没有expires或max-age,则浏览器会发请求到服务器,附上If-M ...
Nonce:   随机数(Nonce)是任意的或非重复的值,它包括在经过一个协议的数据交换中,通常为保证活跃度的目的和因而探测和保护它免受重复攻击。 Timeline:   翻译成大事年表、时间轴。这种展现形式的优点很多,他能够让网友更 ...
为什么不使用Memcached    为什么你不应该使用Memcached? 更新于2010年2月4日 dorma...@gmail.com Memcached好极了!但不是在任何情况下都好... (1)Memcached不是用来存储大媒体或流式二进制块的。 你可以考虑其他的解决方案,如:http://www. ...
   Java对象的深层复制是指Java对象A本身被clone成新对象B,同时A的属性也是被clone成新对象,赋值到A的各个属性上去,A与B的相同属性都引用到不同的对象;    Java对象的浅层复制是指Java对象A本身被clone成新对象B,但A的属性没有被clone处理,只是把A的各个属性所指的对象赋值到B对应的属性上,A与B的相同属性都引用到同一个对象。    我们一般使用到对象复制是对象浅层复制,也就是没有复制属性成新的属性。 一般有三种方法对象的浅度复制: (1)通过调用对象set方法来实现,属性个数比较少时适用。 TestVO a = new TestVO(); ...
认识Object.wait()方法:       导致当前线程等待,直到该对象的notify或notifyAll被执行。换句话说,这个方法行为效果完全与简单调用wait(0)一样。当前线程必须拥有对象监视器。线程释放对象监视器的所有权,等待直到另一个线 ...
   首先,我们要明确的多模块项目的含义,它是指一个应用中包含多个module。一般来说,一个应用单独部署成服务,只是打包的时候,maven会把各个module组合在一起。各模块一般单独打成jar放到lib目录中,当然web应用也生成war包。    这里说的多模块项目要与那种单独自立门户的多个application区分开来,多个application也可能有包级的关联,但是它们各自分开了,不属于多模块项目的范畴。    maven对多模块项目的管理大概是这样的,它存在一个parent模块,但实际没有程序代码,只包含一个pom.xml,该pom是用来给子模块来引用的。    目录结构与下面的 ...
(1)oracle数据库中in中最多1000个元素限制: select * from a where id in (1,2,.....1001);会报错,报in中的元素不能超过1000个。 select * from a where id in (select id from b where rownum < 6002);该语句不会报错,正常运行。 对其中的原理,我不是很明白。 (2)一条语句删除表中重复记录(一个或多个列重复): delete from TABLENAME where rowid not in        (select max(rowid) from TABLENA ...
建议: (1)如果要用正则表达式作为分隔符来拆分字符串,则必须使用String.split(String regExp)来处理; (2)如果用普通的字符或字串来拆分字符串,则可以选择使用StringTokenizer来处理,但使用String.split(String)将更好。 /** * <tt>StringTokenizer</tt> is a legacy class that is retained for * compatibility reasons although its use is discouraged in new code ...
首先翻译JDK规格说明中StringBuffer类描述的一段话: As of  release JDK 5, this class has been supplemented with an equivalent class designed for use by a single thread, {@link StringBuilder}.  The <tt>StringBuilder</tt> class should generally be used in preference to this one, as it supports all of the same ...
(1)BigDecimal中要使用String作为参数来构造(BigDecimal.valueOf()会把各种值转化成字符串,再调用 BigDecimal(String)的),否则照样会出问题; System.out.println(10000*1.005); System.out.println(new BigDecimal(10000).multiply(new BigDecimal(1.005))); System.out.println(BigDecimal.valueOf(10000).multiply(BigDecimal.valueOf(1.005))); S ...
Protobuf使用protoc生成的java类, 这个类一旦创建了对象,该对象就是只读的,不能修改它的任何属性,也就是说这个类是只读类。Protobuf使用builder来构建对象,构建过程中为设置对象属性值,设置完后,builder本次任务已经完结了。 据下面的例子来说明一下: 用户类: public class User { private String userName; private int age; public boolean hasUserName(){ ... } public ...
Global site tag (gtag.js) - Google Analytics