Waiting for HOME ('android.process.acore') to be launche

出错如下:

New emulator found: emulator-5554

Waiting for HOME ('android.process.acore') to be launched...


解决方法:保持AVD,不要关闭,重新运行工程。

posted @ 2013-05-06 13:04 键盘动物 阅读(363) | 评论 (0)编辑 收藏

被译名掩盖了本质的socket

在网络编程领域(注意不是Web编程),几乎每天都与socket打交道。然而不知如何,国人竟把socket翻译成了“套接字”。socket的原意是指电源插座,而“套接字”为何物?

 

虽然这种翻译已经被绝大多数国人认可,可这也恰恰给网络编程的入门及其本质的理解造成了难以理解的巨大恶果。还是先让我们来看看插座吧。

 

对于电源插座,相信大家都不会陌生了。看看下面这个再简单不过的生活经历:

小王装修房子,第一天,为了用电,必须找一根电缆从变电站把电引入家中。也就是家里用电的总来源要有啊。

第二天,小王买来了电冰箱,为了给电冰箱供电,必须先买一个插座,并把插座接到第一天引入的电源线上。剩下来就简单了,因为有了插座(socket),把冰箱的电源插头插入就OK了。

第三天,热爱计算机的小王买来了心爱的电脑,可这下就犯愁了,怎么供电呢?好办,又买了一个插座(socket)并接到电源线上,把电脑的插头插入socket,电脑终于可以正常使用了。

第四天,小王又买来了电视机,同样一个socket,又让电视机顺利地工作了。

第五天,第六天...按照同样的方法,小王通过一个又一个的插座(socket),完成了所有电器的供电。

 

看完了这个例子,再想想网络编程,简直是如出一辙。

为了连上网络,必须要有网卡(总电源),这样网络上的数据便可以到达你的计算机了。可是你的应用程序如何取得这些网络数据呢,很简单,建立一个socket,并连到网卡上,好了这下你就可以从插座里取得信息了。无论何时你想取得网络数据只需连接一个socket即可。

 

看看,socket这个词,用到网络编程API上是何等的形象!足见创始人对网络编程模型的准确把握和良苦用心。然而我们的翻译者却把这么好的一个术语弄成了“套接字”,本来很简单直观的网络编程被蒙上了一层复杂深奥的迷雾。

 

注意:当然网络编程中的Socket与电源插座有一定的差别,网络中的socket种类和功能更多更强,但是其本质是一样的。按照插座来理解网络编程,将非常的自然清晰。

posted @ 2013-04-19 08:17 键盘动物 阅读(259) | 评论 (0)编辑 收藏

Ubuntu下使用Array SSL VPN客户端连接VPN网络

test
1.下载Array Networks提供的客户端程序 array_vpnc.bin
sudo apt-get install libc6-i386 #64位系统也是这个包
wget http://q.pnq.cc/uploads/array_vpnc.bin
chmod a+x array_vpnc.bin

2.下载这个小脚本到同个目录

#下载辅助脚本

wget http://q.pnq.cc/uploads/vpn-for-common.sh -O vpn.sh

#里面会包含重要信息,我们不想别人随便访问

chmod 700 vpn.sh 

3.修改vpn.sh中的配置,将vpn_host、user、key修改为你的配置

vpn_host=your_vpn_server
user=your_user_name
key=your_static_passwd #密� �中不变的部分

使用方法:

./vpn.sh 

然后根据提示输入,当看到这个提示时,就说明成功了:

array_vpnc: VPN TUNNEL SUCCESSFUL!



posted @ 2011-07-22 16:12 键盘动物 阅读(1371) | 评论 (0)编辑 收藏

Long 和long 性能的差别

public class PerformanceTest {
 
public static void main(String[] args){
     
long time1 = System.currentTimeMillis();
     Long sum
=0L;
     
for(long i=0;i<Integer.MAX_VALUE;i++){
         sum
+=i;
     }
     System.out.println(sum);
     
long time2 = System.currentTimeMillis();
     System.out.println((time2 
- time1)/1000 + "秒。");
 }
}
上面的代码执行了28秒
public class PerformanceTest {
 
public static void main(String[] args){
     
long time1 = System.currentTimeMillis();
     
long sum=0L;
     
for(long i=0;i<Integer.MAX_VALUE;i++){
         sum
+=i;
     }
     System.out.println(sum);
     
long time2 = System.currentTimeMillis();
     System.out.println((time2 
- time1)/1000 + "秒。");
 }

}
上面的代码执行了7秒
第一段代码构造了大约2的31次放的Long 实例

posted @ 2011-07-13 16:11 键盘动物 阅读(457) | 评论 (0)编辑 收藏

删除修改Eclipse里的SVN账户

如果你用的SVNKit, 找到以下目录并删除.keyring文件.
[eclipsehome ]/"configuration"/org.eclipse .core.runtime

posted @ 2011-07-05 15:57 键盘动物 阅读(346) | 评论 (0)编辑 收藏

的区别与作用

<context-param>的作用:
web.xml的配置中<context-param>配置作用
1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>
2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.
3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.
4.容器创建<listener></listener>中的类实例,即创建监听.
5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext();
context-param的值 = ServletContext.getInitParameter("context-param的键");
6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.
7.举例.你可能想在项目启动之前就打开数据库.
那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.
8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.
如:
<!-- 加载spring的配置文件 -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml,/WEB-
INF/jason-servlet.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
又如: --->自定义context-param,且自定义listener来获取这些信息
<context-param>
    <param-name>urlrewrite</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>cluster</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>servletmapping</param-name>
    <param-value>*.bbscs</param-value>
</context-param>
<context-param>
    <param-name>poststoragemode</param-name>
    <param-value>1</param-value>
</context-param>
<listener>
    <listener-class>com.laoer.bbscs.web.servlet.SysListener</listener-class>
</listener>
public class SysListener extends HttpServlet implements ServletContextListener {
private static final Log logger = LogFactory.getLog(SysListener.class);
public void contextDestroyed(ServletContextEvent sce) {
   //用于在容器关闭时,操作
}
//用于在容器开启时,操作
public void contextInitialized(ServletContextEvent sce) {
   String rootpath = sce.getServletContext().getRealPath("/");
   System.out.println("-------------rootPath:"+rootpath);
   if (rootpath != null) {
    rootpath = rootpath.replaceAll("\\\\", "/");
   } else {
    rootpath = "/";
   }
   if (!rootpath.endsWith("/")) {
    rootpath = rootpath + "/";
   }
   Constant.ROOTPATH = rootpath;
   logger.info("Application Run Path:" + rootpath);
   String urlrewrtie = sce.getServletContext().getInitParameter("urlrewrite");
   boolean burlrewrtie = false;
   if (urlrewrtie != null) {
    burlrewrtie = Boolean.parseBoolean(urlrewrtie);
   }
   Constant.USE_URL_REWRITE = burlrewrtie;
   logger.info("Use Urlrewrite:" + burlrewrtie);
   其它略之....
   }
}
   /*最终输出
   -------------rootPath:D:\tomcat_bbs\webapps\BBSCS_8_0_3\
   2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
Application Run Path:D:/tomcat_bbs/webapps/BBSCS_8_0_3/
   2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
Use Urlrewrite:true
   2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
Use Cluster:false
   2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
SERVLET MAPPING:*.bbscs
   2009-06-09 21:51:46,573 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
Post Storage Mode:1
   */
context-param和init-param区别
web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:
<context-param>
           <param-name>context/param</param-name>
           <param-value>avalible during application</param-value>
</context-param>
(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:
<servlet>
    <servlet-name>MainServlet</servlet-name>
    <servlet-class>com.wes.controller.MainServlet</servlet-class>
    <init-param>
       <param-name>param1</param-name>
       <param-value>avalible in servlet init()</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
</servlet>
在servlet中可以通过代码分别取用:
package com.wes.controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class MainServlet extends HttpServlet ...{
    public MainServlet() ...{
        super();
     }
    public void init() throws ServletException ...{
         System.out.println("下面的两个参数param1是在servlet中存放的");
         System.out.println(this.getInitParameter("param1"));
         System.out.println("下面的参数是存放在servletcontext中的");
        System.out.println(getServletContext().getInitParameter("context/param"));
      }
}
第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得.

posted @ 2011-06-27 14:34 键盘动物 阅读(143) | 评论 (0)编辑 收藏

32位ubuntu 识别4g内存

$ sudo apt-get install linux-headers-server linux-image-server linux-server
安装前后看free -m    安装后需要重启。

posted @ 2011-06-21 11:17 键盘动物 阅读(353) | 评论 (0)编辑 收藏

ubuntu deb安装

命令:
  • 要安装 .deb 套件包时
dpkg -i package_file.deb
  • 要反安装 .deb 套件包时
dpkg -r package_name

注意:使用此命令需要你自己注意依赖软件,所以这并不是安装软件的最佳方法.

dpkg的详细使用方法,网上有很多,下面简单列了几个:

dpkg -i package.deb 安装包
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包

posted @ 2011-06-10 16:57 键盘动物 阅读(216) | 评论 (0)编辑 收藏

mvn查看依赖关系并且导入到文件中

mvn dependency:tree > dep.txt

posted @ 2011-03-03 14:10 键盘动物 阅读(371) | 评论 (0)编辑 收藏

fastfox eclipse插件

http://www.oixx.se/fastfox.php

posted @ 2011-01-11 17:19 键盘动物 阅读(308) | 评论 (0)编辑 收藏

仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页 
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿

随笔档案

新闻分类

搜索

最新评论

阅读排行榜

评论排行榜