jdk7动态语言支持,java是到底是不是动态语言?

最近看objectc,它是动态语言,http://en.wikipedia.org/wiki/Objective-C#Dynamic_typing

 

又这篇文章看到jdk7中jvm对动态语言的支持http://www.oracle.com/technetwork/issue-archive/2010/10-may/o30java-099612.html

 

中文翻译

http://developer.51cto.com/art/200907/139414.htm

 

这篇文章明确指出java是静态语言(编译时类型检查),但是jdk7支持了JSR292,所以jvm支持动态语言。以前的jruby和jpython实现在jvm上都比较吃力,现在由于JSR292就方便多了。

 

但是动态语言的定义我还比较模糊,像javascript通过eval可以执行代码,类型可以运行时定义,这个无可厚非是动态类型语言。然而object c的动态从文档上看主要是运行时决定对象类型(消息调用机制),并不能运行时定义类型吧。但它就是动态语言(运行时类型检查)。

 

总之java是静态语言。

Continue reading jdk7动态语言支持,java是到底是不是动态语言?

【链】Java 7 Sockets Direct Protocol – Write Once, Run Everywhere …. and Run (Some Places) Blazingly

 

http://www.infoq.com/articles/Java-7-Sockets-Direct-Protocol

 

 

InfoQ上的这篇文章让人很激动哈,java7的SDP协议,从物理层直接通讯,可以直接访问其它节点的内存(RDMA)!

 

 

InfiniBand 比erthnet快几倍!

 

如果这项技术发展起来,那多节点的扩展性完全是不成问题的,0-copy啊。

Continue reading 【链】Java 7 Sockets Direct Protocol – Write Once, Run Everywhere …. and Run (Some Places) Blazingly

Github 相关

代码永久链接:

想引用github上的某行代码, 可进入具体项目,选好分支,点击commits 链接,就可以看到提交记录。

 

进入具体提交里面,就可以看到代码了,点击代码文件,看到代码,点击某一行,可见到浏览器地址改变,复制地址即可。这样具体到了某一分支某一提交,更加明确。

Continue reading Github 相关

bootstrap modal 文本框无法输入的问题

弄了几个小时,bootstrap的modal插件,我是这样用的,同时可以显示多个modal, 但是有个问题就是显示多个modal的时候,里面的文本框不能获得焦点,用户无法输入。

 

firefox根本没报错,还是chrome里有关于focus的递归报错。

 

真是折腾死人,最后发现modal元素上不能有tabindex这样的属性,去掉就可以了。

 

参见:

 

https://github.com/jschr/bootstrap-modal/issues/83

Continue reading bootstrap modal 文本框无法输入的问题

Storm笔记:分布式实时计算

Storm是tweeter 开源的,具有实时分布式计算的能力,由closure实现,但是客户端提供了多种语言,当然包括java。

官方wiki:

https://github.com/nathanmarz/storm/wiki/Tutorial

 

 

与Hadoop的比较:

http://blog.csdn.net/larrylgq/article/details/7326058

hadoop是实现了mapreduce的思想,将数据切片计算来处理大量的离线数据数据。hadoop处理的数据必须是已经存放在hdfs上或者类似hbase的数据库中,所以hadoop实现的时候是通过移动计算到这些存放数据的机器上来提高效率

而storm不同,storm是一个流计算框架,处理的数据是实时消息队列中的,所以需要我们写好一个topology逻辑放在那,接收进来的数据来处理,所以是通过移动数据平均分配到机器资源来获得高效率。

http://www.searchtb.com/2012/09/introduction-to-storm.html

http://www.ibm.com/developerworks/cn/opensource/os-twitterstorm/

 

比较实用的DRPC

https://github.com/nathanmarz/storm/wiki/Distributed-RPC

分布式部署

https://github.com/nathanmarz/storm/wiki/Running-topologies-on-a-production-cluster

每个实例都要部署你的处理数据逻辑的代码。

DRPC的server其实只需一个,它将工作转发到storm分布架构中了。所以我觉得server可以直接本地方式运行。

http://blog.csdn.net/victory0508/article/details/8717704

http://www.infoq.com/cn/news/2011/09/twitter-storm-real-time-hadoop

http://xumingming.sinaapp.com/category/storm/

Continue reading Storm笔记:分布式实时计算

Java Cookie 的getPath, 以及request.getCookies()

向客户端写cookie,如果不指定cookie path,则默认是请求的path。

而服务端request.getCookies()获得的cookie则是相对于/下所有的cookie,因此可能有多个同名cookie只是path不一样,然而,cookie.getPath()总是返回null,这个让你无法判断到底是哪个path下的cookie,因此,同名cookie几乎没用,/下最好就一个名字的cookie就只一个。这样你取cookie也不会取到别的path下的同名cookie了。

 

firebug默认cookie是只显示当前path下的cookie, 调试时要注意,这个可把我坑了。

Continue reading Java Cookie 的getPath, 以及request.getCookies()

mysql 查询不区分大小写的问题

mysql 默认varchar是不区分大小写的:

 

select * from A where name = ‘a’

会将name=’A’也包括在内。

 

解决方法:

建表时

create table table_name(  
     a varchar(20) binary   
)

 

也可以指定utf8_bin

`a` VARCHAR(300) NOT NULL DEFAULT '' COLLATE 'utf8_bin',

 

使用hedisql建表的话,设置字段的排序为utf8_bin和上面效果一样。

 

utf8_bin: compare strings by the binary value of each character in the string

Continue reading mysql 查询不区分大小写的问题

httpclient 多线程与cookie

HttpClient4.2之后,PoolingClientConnectionManager说是实现了池的连接管理,也是线程安全的,这个对于cookie来说则不是。

 

场景:

请求同一个链接,但是需要以不同的session 来请求,那么使用PoolingClientConnectionManager产生的同一个httpclient去访问,会使用相同的cookie。

name="code" class="java">PoolingClientConnectionManager connManager = new PoolingClientConnectionManager( registry);

Continue reading httpclient 多线程与cookie

Pagination


Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1