MAC系统版本: OSX 10.8.2
1.打开conf/server.xml
找到host标签(在文件最后),将
[php]
<Context docBase="proPath" path="path" reloadable="false"/>
[/php]
作为host标签的子元素插入到文件中,其中“proPath”和“path”换为自己的值。
reloadable为false,表示在项目文件修改后,tomcat不会自动重启,(注:我认为这很重要,tomcat重启几次后就内存溢出了)。当然,这样的话需要打开eclipse的远程调试,对java文件的修改才会立即生效。
2.找到bin/startup.sh文件,在第二行加入下面这句话:
[php]CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"[/php]
3.还是bin/startup.sh文件,到最后一行,将
[php]exec "$PRGDIR"/"$EXECUTABLE" start "$@"[/php]
改为
[php]exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"[/php]
4.eclipse菜单(工具栏也可),run-debug configurations,打开对话框:
4.1 左侧选择Remote Java Application,然后点击左上角new图标
4.2 Project处选择项目;
4.3 Connection Type选择Standard(Socket Attach);
4.4 Host可以填localhost,Port和上面配置中address参数对应(这里是8000)。
4.5 Allow Termination of remote VM表示在eclipse里关闭调试的时候,会同时关闭tomcat。可以勾选。
配置结束,先启动tomcat,tomcat起来后,启动debug。

以后还会有《写在毕业4年》、《写在毕业5年》,希望每一年都有所积累有所提高。在跟那些刚毕业的小弟弟们比较的时候,咱不能差了。
2012年6月,来北京半年,毕业三年。也在这个6月,我换了新工作。这次找工作的时候,我给自己定了目标,毕业三年,月薪5位数,也为此做了小小的牺牲。在办理离职前,说实话我收到了用友的offer,月薪8K,15薪。经过了将近一个星期的犹豫后,我最终还是在办好离职手续的那天决定,放弃用友。离职即失业,再找吧。我当时想如果一个星期,还找不到我期望薪资的工作,那再降低要求。还好,我找到了,而且很快。
这篇文章是后写的,其实2012年6月,我的博客还没正式建好,只是域名和服务器都弄好了。顺便说一下,新网的主机,不怎么样。
毕业三年了,我的技术水平咋样呢?我自己也不是很满意,一般水平吧。有swing的经验,有ruby的经验,有eclipse插件开发的经验,还真不少,这像我的风格,我喜欢什么都了解一点,不至于做井底之蛙。见识很重要,就像有一个明星说,他认为孩子的见识才是最重要的,他会让自己的孩子多出国,接触各种各样的人和事。像ruby,像eclipse,里面都有很好的设计,你在去了解它的时候,或多或少的都会接触到这种优秀的思想,这对我们以后设计一个功能有很大帮助。我的主业是javaEE,混了三年,也只能算个熟悉基础知识吧。
希望在第四年里,能够在nginx、redis、mongodb、jvm优化、java的io和多线程、数据库优化中的几个方面有所提高。
JavaScript诞生
在大约199x(x<5)年,要想在浏览器中实现简单的表单验证,都还需要与服务器进行多次的往返交互的。那时正处于技术革新最前沿的Netscape,开始考虑开发一种客户端脚本语言来解决这种简单的处理问题。
当时工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。
JScript诞生
因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。恰巧那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。
ECMAScript诞生
至此,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。
1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA)。第 39 技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义”。由来自 Netscape、Sun、微软、Borland 和其他一些对脚本编程感兴趣的公司的程序员组成的 TC39 锤炼出了 ECMA-262,该标准定义了名为 ECMAScript 的全新脚本语言。
阅读全文…
从jdk1.4开始,java推出了java.util.regex包,支持正则表达式。
此包下只有如下两个实现类:
Pattern
Matcher
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
典型用法如下:
[java]
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
[/java]
如果仅使用一次正则表达式,也可如下:
[java]
boolean b = Pattern.matches("a*b", "aaaaab");
[/java]
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
说说Pattern
其实,Pattern的用法是比较简单的,除了上面的用法,还可以加标志位,如下:
[java]
Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE|Pattern.UNICODE_CASE);
[/java]
这句代码表示,不区分大小写的匹配以符合 Unicode Standard 的方式完成;
如果没有Pattern.UNICODE_CASE,不区分大小写的匹配假定仅匹配 US-ASCII 字符集中的字符。
官方API注释,指定此标志(Pattern.UNICODE_CASE)可能对性能产生影响。
阅读全文…
包括了中文转拼音全拼,及中文转拼音首字母
准备知识:
GB2312编码,采用16位编码方式,简体中文的编码范围从B0A1一直到F7FE。
GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。
1)01-09区为特殊符号。
2)16-55区为一级汉字。(常用汉字,按拼音字母/笔形顺序排序,编码始于B0A1,止于D7FE,计3755个)
3)56-87区为二级汉字。(次常用汉字,按部首/笔画顺序排序,编码始于D8A1,止于F7FE,计3008个)
4)10-15区及88-94区则未有编码。
从这里,你可以更清晰的了解这些分区。汉字位于16-87区,而有字母排序的汉字位于16-55区,对应编码为B0A1到D7FE。

阅读全文…
一般分为如下几个步骤(顺序可变):
获取验证码
前端:
1.验证码在浏览器里,是一个img标签,将img的src设置为url请求即可
后台:
2.设置验证码中可能出现的字符
3.画图片
3.1创建BufferedImage对象
3.2生成graphics对象
3.3背景色
3.4边框
3.5干扰线
3.6设置字体,画验证码
4.设置response相关参数
5.存session
6.将图像输出到浏览器
检验验证码
7.获取session中存储的字符串,进行验证
8.如正确,将session中的存储清除
阅读全文…
推荐一本学习swing的书《深入浅出Java Swing程序设计》,简单易学!

JDK从1.2版本开始,包含了Swing。简单来说,Swing是为了弥补AWT的某些不足,提升java在图形界面领域的市场而产生的,但是其后来的发展,并不尽如人意。eclipse并没有使用Swing,而是使用了JFace和SWT。
关于Swing更多的起源与基础知识可以看这里。
阅读全文…