Eclipse之java was started but returned exit code 1报错并退出的解决方法
星期三, 四月 4th, 2012 | JAVA-and-J2EE | 3 Comments
今天正在用eclipse处理程序的时候突然报了个java was started but returned exit code 1,提示后就退出了,上网查询修改eclipse.ini即可.
本人环境为win7的64位系统,jdk为1.6.0_20:
解决之法:(安装目录eclipse.ini文件)
1.修改最大内存数-Xmx384m 为 -Xmx1024m (本人情况为因为最大内存过小)
2.按照1如果还不行,再配置
-vm
C:\Java\JDK\1.6\bin\javaw.exe
-vmargs
注意点:-vm 都分别各占一行,且此配置要在-vmargs上面
延伸阅读:eclipse.ini文件的说明(http://wiki.eclipse.org/Eclipse.ini)
异常图片截图记录:
› Continue reading
php判断常用上传文件类型,自动获取文件扩展名
星期四, 三月 29th, 2012 | php | 没有评论
在用php进行文件上传的时候总要判断文件的扩展名名等进行是否允许操作,经测试记录比较常用的文件类型,
记录如下,如有不全,希望能补正修改,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | switch ($_FILES['userupfile']['type']) { case "image/jpeg": $fileextname = "jpg"; break; case "image/pjpeg": $fileextname = "jpg"; break; case "image/gif": $fileextname = "gif"; break; case "image/png": $fileextname = "png"; break; case "image/x-png": $fileextname = "png"; break; case "image/bmp": $fileextname = "bmp"; break; case "application/x-shockwave-flash": $fileextname = "swf"; break; case "text/plain": $fileextname = "txt"; break; case "application/msword": $fileextname = "doc"; break; case "application/x-zip-compressed": $fileextname = "zip"; break; case "application/vnd.ms-excel": $fileextname = "xls"; break; case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": $fileextname = "docx"; break; case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": $fileextname = "xlsx"; break; case "application/pdf": $fileextname = "pdf"; break; } |
apache,nginx反向代理出现内网ip解决方法
星期四, 二月 23rd, 2012 | JAVA-and-J2EE, linux | 没有评论
apache中设置如下反向代理后端的tomcat出现
request.getServerName();获取到的主机名称就会是localhost,解决这个
<VirtualHost *:80> ServerAdmin service@i5a6.com DocumentRoot /usr/local/apache/htdocs ServerName i5a6.com ServerAlias *.i5a6.com DirectoryIndex index.html index.html.var index.jsp ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ErrorLog "logs/hscode-error.log" CustomLog "logs/hscode-access.log" common </VirtualHost> |
在httpd.conf 文件中增加:
ProxyPreserveHost On 即可
对应的nginx 也有此问题解决之法:
proxy_set_header Host $host;
upstream mytomcat{ #server 127.0.0.1:8000 weight=3; #server 127.0.0.1:8001; #server 127.0.0.1:8002; server 127.0.0.1:8080; } server { listen 80; server_name i5a6.com *.i5a6.com; index index.html index.htm ; root /usr/local/data/htdocs/www; location / { # proxy_set_header Host %host; # proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://mytomcat; proxy_set_header Host $host; } |
apache反向代理集群,实现负载均衡,编译mod_proxy模块
星期三, 二月 22nd, 2012 | JAVA-and-J2EE, linux | 一条评论
利用apache和tomcat做集群,有好几种方式,另一种见apache tomcat 负载均衡集群和session复制 基于jk
本文是使用代理的模式;
一:查看是否有mod_proxy模块功能
[i5a6]# /usr/local/apache/bin/httpd -l
可以看到是否有mod_proxy的模块,直接去 /usr/local/apache/modules/ 去查看是否有对应的mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的模块包
二:本人的是vps已经安装好的apache不过没有编译此模块要自己动手编译
[i5a6]# find / -name mod_proxy.c
注释:我是不知道它的安装目录,直接根目录下检索吧,主要是找对应的模块文件夹;
执行结果:/home/cpeasyapache/src/httpd-2.2.17/modules/proxy/mod_proxy.c
[i5a6]# cd /home/cpeasyapache/src/httpd-2.2.17/modules/proxy/
[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy.c proxy_util.c
[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_balancer.c
[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_http.c
# 安装proxy_ajp模块
[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_ajp.c ajp_header.c ajp_utils.c ajp_msg.c ajp_link.c
可以去 /usr/local/apache/modules/ 看下生成了对应mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的包,
三:配置httpd.conf,设置权重和session严格复制等
› Continue reading
itext的转换pdf的尝试
星期日, 二月 12th, 2012 | JAVA-and-J2EE | 没有评论
今天写了个转换成pdf的文档,做个生成个表格的东东.没有做中文支持的问题,支持中文可以下载扩展包处理.
下载itext的jar包:可以去:http://sourceforge.net/projects/itext/files/ 下载更多版本,目前最新为itext-5.1.3.zip
对应的api文档可以翻阅:itext–api
代码如下:
› Continue reading
java中需要转义的正则表达式符号
星期日, 二月 12th, 2012 | JAVA-and-J2EE | 没有评论
special sign 注释 $ 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,那么 $ 还匹配 \n
或 \r 前面的位置。若要匹配 $ 字符本身,请使用 \$。
( ) 标记子表达式的开始和结束。可以捕获子表达式以供以后使用。若要匹配这两个字符,请使用 \( 和 \)。
零次或多次匹配前面的字符或子表达式。若要匹配 * 字符,请使用 \*。
+ 一次或多次匹配前面的字符或子表达式。若要匹配 + 字符,请使用 \+。
. 匹配除换行符 \n 之外的任何单个字符。若要匹配 .,请使用 \。 [ ] 标记中括号表达式的开始。若要匹配这些字符,请使用 \[ 和 \]。
? 零次或一次匹配前面的字符或子表达式,或指示“非贪心”限定符。若要匹配 ? 字符,请使用 \?。
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,字符 n 匹配字符 n。\n 匹配换行符。序列 \\ 匹配 \,序列 \( 匹配
(。
/ 表示文本正则表达式的开始或结束。若要匹配 / 字符,请使用 \/。
^ 匹配输入字符串开始处的位置,但在中括号表达式中使用的情况除外,在那种情况下它对字符集求反。若要匹配 ^ 字符本身,请使用 \^。
{ } 标记限定符表达式的开始。若要匹配这些字符,请使用 \{ 和 \}。
| 指出在两个项之间进行选择。若要匹配 | ,请使用 \|
apache tomcat 负载均衡集群和session复制 基于jk
星期三, 二月 8th, 2012 | JAVA-and-J2EE | 一条评论
apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。
本文主要介绍最为常见的JK。
基于centos5.5 linux下配置:
1.安装tomcat7、apache2.2.22服务器及版本对应的JK
这里需要注意的是JK版本必须与apache服务器版本号对应。apache下载
对应的linux的编译的jk版本可以去 mod_jk.so去下载
注意点:如果你安装的apache是2.0.63版本或者说是2.0.X版本做好选用 mod_jk-1.2.26-httpd-2.0.61.so
如果是最新版2.2.22,可以选用最用mod_jk-1.2.31-httpd-2.2.x.so
,总之不成功的时候自己去试试so,我就实验好多,一开始机器装的是2.0.63的apache让人崩溃的老版本.
下载对应的so文件到apache下的modules目录中.
apache_home表示apache服务器安装目录.
2.配置apache服务器
2.1 httpd.conf文件
apache_home目录下的conf/httpd.conf文件中添加 复杂配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so JkWorkersFile conf/workers.properties JkMountFile conf/uriworkermap.properties #加载workers的请求处理分配文件 可以不需要 JkLogFile logs/mod_jk.log #指定jk的日志输出文件 可以不需要 JkLogLevel warn #指定日志级别可以不需要 JkMount /* lbcontroller #根据需要可以配置多个 设置apache分发器,/*表示apache将所有文件都由分发器lbcontroller 进行分发,你可以自行设置*.jsp,*.do等 uriworkermap.properties文件,内容如下 /*=lbcontroller #所有请求都由controller这个server处理 /jkstatus=status #所有包含jkstatus请求的都由status这个server处理 !/*.gif=lbcontroller #所有以.gif结尾的请求都不由controller这个server处理,以下几个都是一样的意思 !/*.jpg=lbcontroller !/*.png=lbcontroller !/*.css=lbcontroller !/*.js=lbcontroller !/*.htm=lbcontroller !/*.html=lbcontroller |
简单配置:apache文件加 Include “/usr/local/apache/conf/mod.conf”
在”/usr/local/apache/conf/目录下创建mod.conf内容:
1 2 3 4 5 | LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so JkWorkersFile conf/workers.properties #JkMount /*.jsp lbcontroller #JkMount /*.do lbcontroller JkMount /* lbcontroller #根据需要可以配置多个 设置apache分发器,/*表示apache将所有文件都由分发器lbcontroller 进行分发,你可以自行设置*.jsp,*.do等 |
2.2 workers.properties文件
在apache_home下conf目录中新建workers.properties文件,输入以下内容
Xml代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | worker.list=lbcontroller #Tomcat1实例配置 worker.tomcat1.host=localhost #此处可以是你的ip地址 worker.tomcat1.port=8009 worker.tomcat1.type=ajp13 #分发权重 值越大负载越大 worker.tomcat1.lbfactor = 1 #Tomcat2实例配置 worker.tomcat2.host=localhost #此处可以是你的ip地址 worker.tomcat2.port=9009 worker.tomcat2.type=ajp13 #分发权重 值越大负载越大 worker.tomcat2.lbfactor = 1 #负载均衡分发控制器 worker.lbcontroller.type=lb worker.lbcontroller.balance_workers=tomcat1,tomcat2 worker.lbcontroller.sticky_session=True |
在这里
1 2 3 4 5 6 7 8 | worker.list=lbcontroller 内容即为httpd.conf文件中的分发器名称。需要注意的内容是,tomcat实例名称 Xml代码 worker.tomcat1.host=.... ... worker.tomcat2.host=.... ... 在这里就是tomcat1和tomcat2必须与之后tomcat中的server.xml中jvmRoute值一致。 |
更多的work.properties可以参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | worker.list=loadbalancer #定义负载均衡的名称 worker.loadbalancer.type=lb #定义负载均衡的类型,为lb worker.loadbalancer.error_escalation_time=0 #切换错误状态时间 worker.loadbalancer.max_reply_timeouts=10 worker.loadbalancer.sticky_session=1 #1代表为true,0代表为false。 #worker.loadbalancer.sticky_session_force=true worker.loadbalancer.balance_workers=lb1,lb2 #负载均衡的工作者名称 worker.lb1.reference=worker.template #lb1参考worker.template工作模板 worker.lb1.host=localhost #lb1的ip地址 worker.lb1.port=8009 #lb1端口,这里是ajp端口,不是网站端口 worker.lb1.activation=A #A:active模式 D:sticky模式 S:不使用 worker.lb2.reference=worker.template worker.lb2.host=localhost worker.lb2.port=9009 worker.lb2.activation=A worker.template.type=ajp13 #上面lb1,lb2参考下面的值worker.template,协议ajp13 worker.template.socket_connect_timeout=5000 #套接字连接超时为5000毫秒,默认为0 worker.template.socket_keepalive=true #开启保持为真,默认为false worker.template.ping_mode=A #使用cping/cpong模式,有C,P,I,A四个模式。A全选 worker.template.ping_timeout=10000 #探测cping/cpong超时间默认10000毫秒 worker.template.connection_pool_minsize=0 #连接池关闭最小时间 worker.template.connection_pool_timeout=600 #连接池600秒 worker.template.reply_timeout=300000 #答复超时300000毫秒 worker.template.recovery_options=3 #重试次数 |
3.tomcat集群配置
› Continue reading
解决MYSQL超时连接问题(com.mysql.jdbc.MysqlIO.readFully)
星期一, 二月 6th, 2012 | Database | 2 Comments
程序后台报这个错误 at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2332) ,
** END NESTED EXCEPTION **
Last packet sent to the server was 34 ms ago.
这个问题主要原因是应用服务器很长时间没有连接mysql,超过了mysql设置的最大超时时间,再连接mysql就会出现这个问题。
mysql默认设置是8小时,一般网站白天都有人访问,从夜里到早上一般都会超过8小时,所以再来访问就会这个问题。
简单的解决办法就是修改最大超时时间,比如改为12小时或10小时,这样恰好避免了无人访问的时段,这里修改为10小时,方法如下:
看来下 wait_timeout 才15真不是一般的短,系统默认安装的就是麻烦.
设置下即可
mysql> show variables like ‘%timeout’;
+—————————-+——-+
| Variable_name | Value |
+—————————-+——-+
| connect_timeout | 15 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 15 |
+—————————-+——-+
10 rows in set (0.00 sec)
mysql> set wait_timeout = 36000;
Query OK, 0 rows affected (0.00 sec)
mysql> set interactive_timeout = 36000;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like ‘%timeout’;
› Continue reading
window7下清除写字板最近浏览记录
星期三, 二月 1st, 2012 | computer | 没有评论
win7下, 写字板最近浏览记录很难清除,其他的垃圾清除工具不能清除,在网上找来好多也都是说xp下的,
在win7下对应的清除写字板(注册表)的位置有变化,所以还要自己去想办法去搞定.
步骤:
开始—》在框框中输入 regedit 打开注册表里,在注册表中 CRTL+F 即编辑中的查找,输入 wordpad,很快定位到,打开后Recent File List,右侧的键值,选中不想要的右键 删除即可;
其他的类似画板 类似操作;
完整路径是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Wordpad\Recent File List
搞定,你那些不想让人知道的浏览记录就彻底被清除了;
Linux Commands 常用命令
星期三, 一月 25th, 2012 | linux | 一条评论
文件命令
ls 列出目录下的文件和文件夹
ls -al 已列表方式列出目录下的文件和文件夹,包括隐藏文件
cd dir 将目录切换到 dir
cd ~ 切换到用户目录
pwd 打印当前目录
mkdir dir 新建 dir 目录
rm file 删除 file 文件
rm -r dir 删除 dir 目录及其子目录
rm -f file 强制删除 file 文件
rm -rf dir 强制删除 dir 目录及其子目录
rm -rf / 这个就不用说了,该命令敲完再回车下,系统就玩完了
cp file1 file2 将 file1 复制到 file2
mv file1 file2 将 file1 重命名为file2
ln -s file link 为文件 file 在另外一个位置建立一个软链接
touch file 创建名为 file 的文件,如果该文件已存在,则更新其文件的时间戳, 之前文件内容并不会丢失。
cat > file 创建新文件,并接下来的键盘输入重定向到 file 文件,直到退出该输入。
more file 分页显示 file 的内容, 支持 ctrl+B ctrl+F …..上下滚屏,但不支持像shift+G(跳到文件尾)这种操作
less file 分页显示 file 的内容,支持各种命令, 随便翻页,跳转,查找…
head file 显示文件 file 的前 10 行内容
tail file 显示文件 file 的最后1 10 行内容
tail -f file 实时显示文件 file 的最后 10 行内容
find /etc -name ‘*srm*’ 查找匹配度
SSH
ssh user@host 连接远程主机
ssh -p port user@host 连接远程主机上的 port。 不用这个选项,默认就是22
ssh -D port user@host 使用非特定的 port 去对外联机。如果被访问机器的防火墙不淮许从特定的 port 联机,就可以使用这个选项。这个选项会关掉 RhostsAuthentication 和 RhostsRSAAuthentication
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)