易截截图软件、单文件、免安装、纯绿色、仅160KB

学习JAVA中...

学习java已达一周。
促使我打算学习java的原因是今年的一个项目。今年用C++做了一个很简单的分布式non-relational key-value store. 功能仿照Dynamo,但是实现要比它简单得多,很多比如容错等模块都没有加上去。但即便如此,用C++来开发这么一个东西仍然不是一件让人愉快的事。举个例子,为了用event driven架构,一开始打算使用epoll,但是epoll太底层,后来就找到了libevent,因为是网络应用,自然就得用linux下的网络编程,然后C++不支持序列化,所以又找了半天才找到protocolbuf,所以C++的第一个问题就是它的标准库太烂了。十年前就是这个样子,现在还是这个样子,到今天都没有和线程,锁或者序列化有关的内容,在项目中要实现这些就要另外的去找库,这其实是个痛苦的过程,因为不太好确定说到底哪个库最适合。
更郁闷的一个问题则是对内存的维护,搭建一个robust的系统就要求要对所有可能的错误都要有对应的措施,比如一个失败的链接就要去释放它所拥有的所有资源,所以首先要找到它们,然后delete掉。这真不是件轻松的活。
所以,不是说用C++做不了这件事。而是如果要用C++,那么它的要求会很高。首先,它要求整个团队的编程水平都要足够的好(事实上这样的人都不好找)。如果你像google一样有那么多天才的程序员,那么C++当然是首选,但是,如果你找不到这么多优秀的人,那用C++只会适得其反。最后得到的程序一定堆满了bug。其次,要花大量的时间放在找库和学习库上。没办法,谁让它的标准库是那么的陈旧呢。
之所以想换java,是因为找到的很多开源的类似系统都是用java或者erlang做的。erlang当然好,但还是小众了一点,所以就打算试试java。经过一周的学习,我有了两个基本认识,首先,它的语法要比C++简单多了,说明它比C++更容易操控。其次,它的标准库很强大。所以,用java应该会让你的项目开发周期缩短很多,并且bug会更少。当然,效率可能会慢一些。但是,对于大部分的项目,应该都是可忍受的范围内。
一点小感受,等我多学几周,也许会理解得更深刻些。


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

JAVA中Oracle取值

package com.svse.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class UserDAO {
/*
* java调用存储过程
*/
public int addUser(String username,int userage)
{
Connection conn = null;
int useri ......

Java中如何定位资源

本文来自:http://blog.csdn.net/ruyanhai/archive/2007/11/07/1871663.aspx
◆ 一般情况下,我们都使用相对路径来获取资源,这样的灵活性比较大.
比如当前类为com/bbebfe/Test.class
而图像资源比如sample.gif应该放置在com/bbebfe/sample.gif
而如果这些图像资源放置在icons目录下,则应该是com/bbebfe/icons/sample.gif ......

java中判断字符串是否为数字的三种方法

java中判断字符串是否为数字的三种方法 
1>用JAVA自带的函数
public static boolean isNumeric(String str){
  for (int i = str.length();--i>=0;){  
   if (!Character.isDigit(str.charAt(i))){
    return false;
   }
  }
  ......

java字符串查找替换

(1).public   static   String   StrReplace(String   rStr,   String   rFix,   String   rRep)  
      {  
          int   l   =   0;  
          String   gRt ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号