2013年3月26日
#
今天在做手机终端开发时,发现连上域名服务器老是连不上,而直接用IP连接是OK的,初步怀凝是DNS问题引起来,经查相关的资料,现记录如下:
Android模拟器默认的地址是10.0.2.3,默认的DNS也是10.0.2.3,而一般电脑的IP都是192.168.1.100之类的,不在同一个网段。所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置方法很简单,只要把模拟器的默认DNS设置成电脑的DNS地址即可。
第一步:用系统的命令进入Android开发包的tools目录
cd X:\...\android-sdk-windows\tool
第二布:使用adb的shell,确认系统的各项属性
adb shell
getprop
getprop会列出系统当前的各项属性
第三步:得到模拟器的DNS地址
在结果里可以看到:
[net.dns1]: [10.0.2.3]
[net.dns2]: [10.0.2.4]
[net.dns3]: [10.0.2.5]
[net.dns4]: [10.0.2.6]
第四步:把dns改成我们自己的DNS
setprop net.dns1 192.168.1.1
连接的URL串
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT
=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=vip2)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=
on))(CONNECT_DATA=(SERVICE_NAME=gs)))
啟動 lsnrctl start
狀態 lsnrctl status
關閉 lsnrctl stop
导出命令:exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:F:\abcd.dmp)
测试截图:exp ZM/sql123@ORCL owner=ZM file=F\abcd.dmp
导入命令:imp 用户名/密码@数据库 fromuser=用户名 touser=用户名 file=d:\cu.dmp ignore=y
imp:命令类型
cu/mycu@db:导入的数据库登陆(用户名/密码@数据库)
fromuser:文件的指定用户
touser:指定导入到当前登录的数据库某个用户
file:需要导入的数据文件
ignore:是否忽略创建错误
测试截图:
imp ZM/sql123@ORCL fromuser=ZM touser=SZZM file=F:\test.dmp ignore=y
linux环境下的rmi常见问题
问题一:RMI服务提供程序运行在Windows操作系统下,RMI服务可以正常访问,但将RMI服务提供程序部署到Linux操作系统下后,RMI服务无法访问,提示
org.springframework.remoting.RemoteConnectFailureException:
Cannot connect to remote service [rmi://192.168.0.106:1199/ItemRetag]; nested exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; ……
解决办法:在加载RMI服务之前将当前服务器的IP指定给hostName,如 System.setProperty("java.rmi.server.hostname", "192.168.100.7");或者修改/etc/hosts文件,在这个文件中加 192.168.100.54 testlinux1 localhost.localdomain localhost 就行,或者将/etc/hosts文件中默认的127.0.0.1改成当前机器的IP即可!
问题二:java.rmi.server.ExportException: internal error: ObjID already in use Caused by: java.rmi.server.ExportException: internal error: ObjID already in use……
出现这种问题及有可能是/etc/hosts文件中指定的IP并不是当前服务器的真实IP,RMI在初始化时注册服务失败。
通过System.out.println(InetAddress.getLocalHost().toString());查看当前主机的IP是否为真实IP,如显示为SIMBANK/220.250.64.24,而真实IP为192.168.1.2
解决办法:修改/etc/hosts文件中错误的IP即可,将:
220.250.64.24 SIMBANK
修改为
192.168.1.2 SIMBANK
JAVA中,通过分析Heapdump文件可以检查程序是否存在内存泄露,但是这个文件一般是在程序遇到致命问题时才会产生,而如何事前生成这个文件,从而在程序尚末崩溃前找出问题的所在。
以下记述了各个版本的JDK产生DUMP文件的方法:
UN JDK生成Heapdump文件只需要在tomcat启动脚本中增加 HeapDumpOnOutOfMemoryError 参数
此参数需要Java SE release 5.0 update 14 或以上支持
设置示例:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx800m -XX:PermSize=64M -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak
IBM JDK生成Heapdump文件的开关:
— export IBM_HEAPDUMP=true
— export IBM_HEAP_DUMP=true
— export IBM_HEAPDUMP_OUTOFMEMORY=true
— export IBM_JAVADUMP_OUTOFMEMORY=true
— export IBM_JAVACORE_OUTOFMEMORY=true
— export IBM_HEAPDUMPDIR=<directory_path>
HP JDK生成Heapdump文件需要在在环境变量上,加上export _JAVA_HEAPDUMP=1