lbj2004032 lbj2004032
关注数: 1 粉丝数: 28 发帖数: 660 关注贴吧数: 3
我的程序学习顿悟之路 初中时,那是97年,初次接触电脑,便对电脑产生了一种神秘的感觉。当然因为环境和条件的问题,之后基本没有碰过电脑,对电脑产生了敬畏心理。大一在图书管初次看到VB的教程,深深的爱上编程,动画设计。那时侯我对计算机还一无所知,程序员这个称号,我只感觉有这样的称号的人是计算机高手,怎样去努力获得这样的职位我完全不懂。不过的定下目标,在07年要拿到这样的证书,还有计算机3级,4级。那时计算机的每一个环节都深深吸引着我,我全身心投入了学习中。不过后来由于生活的种种原因,我发现我已无心再继续下,我似乎放弃了。 却陷入了游戏中,变的无所事事。06年底,考试前半个月,发现大学已过去大半,我对这样的生活有点厌倦,就想还有什么没有完成。发现大一时的目标依然留在大一没有完成。而那时也只有半年的时间了。于是我把半年细分,安排每一阶段的目标,最终完成了大一的理想。 虽然拿到了程序员证书,但是依然有个问题困扰了我很久,之后两年都没有接触编程。就是一个黑乎乎的界面跟软件有什么关系,这个谜底一直困扰着我。 直到09年,一直失业的我决心重启计算机编程,路过深圳的书店,买了基本书,C++,C#等等,结果很快就看完了,心中的疑惑依然没有解开。没办法又出去工作半年,半年后在次失业,对工作已经心灰意冷的我决心再次重学编程,这次买了一本JSP,JAVASCRIPT+HTML+CSS。JSP不用说,完全看不懂,JS,HTML,CSS当然照书看,抄,能看懂一部分,可惜完全不上道。阴差阳错,那是后在迅雷看看到马士兵手把手视频教程,JAVASE,坦克大战实战视频,就跟着学,半个月后把SE看完了,然后看实战教程,结果完全看不懂。一遍一遍,依然没看懂,最后有些放弃的感觉,终日通宵电影游戏。大学毕业却没有工作的哪种感觉,那种惶恐,无奈,害怕父母有一天老去,总之终日惶恐不安。然后在网上看到关于JAVA培训的班,就留了电话。但是没有去,父母看到我整天玩游戏,就把网停了。没有了网络,更是害怕。按耐不住的我,决心再看视频教程,看了几集就看不下去了。然后这样一次次,反复,最后还是没有看懂。也许不是这块料,也许需要人指导。终于觉得到福州看看培训班,去了福州我决心报名。交了钱以后还有一个星期开始上课,然后我就回家把电脑拿到福州,台式电脑,搬的很辛苦。这个星期,依然没有网络,只有下载的视频,我终于静下心来,决心再看一次,第一次的时候似乎看懂了,又看了两次,每次都是一行行照抄,终于在第三次的时候,我看明白了,那时我突然有一种感觉,一种似乎我能够自己写一个贪吃蛇,没有网络没有导师,但是心中的疑惑已经解开,我感觉领悟到了编程之道,然后吃饭想,睡觉想,上厕所想,终于做出来了,虽然有很多问题,但是那时第一个算一个成品的软件。然后,此时我认为自己能够写一个俄罗斯方块,依然茶饭不思,几天时候做出来了。此刻我感觉自己悟道了。 再次看JSP,JAVASCRIPT,数据库,socket,swing的时候,我感觉畅通无阻,因为明白了如何去思考,如果去查阅文档。 之后虽然上了培训班,但是从来没有碰到难题,也没有问过老师问题,基本上第一阶段我已经把第二阶段看完了。 14年学习了在此C++,VC之后,对编程有了更进一层领悟。从C++语言,到VC到MFC,CEF,NPAPI,NPAPI,Duilib,Activex,短短的数月,就熟练了他人数年的技术。,也许那是是最巅峰时期。当然现在依然宝刀未老。之后5年没有接触C++,19年看到别人用时,依然能够指导其完成,拥有的是思维。 不过,人生很多不定数,虽然悟道,但工作一直不顺利,几经波折,中间没有大起却有大落,工作之外写过很多软件
论JAVA程序之道 会一些主流的框架 面试的时候确实有用 但与实际“码力”没有太大关系 我常常把这种关系比作像中西医,中西餐的关系 面试需要一些比较明显的指标,面试一样无法知道你的写代码能力,只好用这些东西来做参考 西医流行正是因为有这些指标,西餐为什么味道都差不多,而中餐过度依赖一个厨师的水平,如果没有实际尝尝,根本无法断定。可惜在实际中,很多人把框架太的过分高,更有者,把会不会某一个框架,框架使用过几年来断定一个程序员的水平。 学习tcp/ip协议,操作系统原理,数据结构与算法,数据库原理,计算机网络,计算机组成原理远比任何框架重要,有了这些才能真正的成为一个程序员。中国人常讲的“道”,道是宇宙的根本,生育万物,养育万物,运行万物,其大无外,其小无内,无所不包。也就是计算机才是根本,所以需要对计算机有足够的了解,应用到程序上就是融会贯通。不拘泥与形式,框架,甚至于语言,如何做到,除了上述的一些课程外,当然是对计算机有足够的了解,学习多门语言,领悟其中的奥秘,掌握C,C++,JAVA,JS,python等,远比一个框架深远的多。 但是会36计谋与如何因地制宜又是两码事,纵然马谡熟读兵书,也不过是纸上谈兵,所以如何悟道,也是一个复杂过程,与个人经验无关,打通逻辑思维才是关键。 1:学会如何提问 2:学会如何假设解决自己的提问 3:如何搜索到你要的答案 4:学会如何看api 所以如果能解决自己不会的问题,算是悟道的过程。 所以过程是,列出过程,提出问题->提出假设,假设盲区能够解决->搜索盲区答案->得到轮子 为什么把如何提问放在第一位,很多时候,只要看别人提出的问题,就可以断定一个人的水平,因为直接反应一个人的思维。
我的C++历程之(腥风血雨),送给所有的爱编程的人 现在快30岁了,想当年跟大伙们一样,意气飞扬,风华正茂,但掌握C++年头一直没有放弃过。哥坚持着。 2005年就开学VC 了,那会还是个学生, 开始学了点C++,14天-15天的样子,应该可以考个2级证书了。 后看了点C++版数据结构,好难看懂,转VC,我X,一看HELLO WORLD 我X,这是人看的不!再加上年轻吗,总是会有些烦恼!转战魔兽争霸N年... 但在重新燃起编程梦想,2007年(大三)学了C语言+C数据结构,一个月,考了本初级的证书 可惜好景不长,证书到手后,又没有学了! 时隔近4-5年后,2011年,哥重新燃起了C++梦,再次看起VC视频教程,接半个月,这次不同的是,没有学C++没有学STL直接编游戏,虽然最终得到了效果,但是有很多疑惑。 特别在字符串相加方法!不到半个月后又停止了! 2013年,已经年迈力衰的哥,依然坚持着,第三次点燃心中的C++梦,这次哥下决心,重0开始,忘记过去!终于花了近20天的时间看完范磊的C++视频,后又10天看孙鑫的VC视频教程,可以好日子总是短暂的,1月的时间很快过去了,成人吗,总是那么的忙!又停了 2014年的4月就是现在,哥死而复活,心中的C++梦一直没有停止过,哥又回来了。 花了3天看了范磊的C教程(选看),后3天复习了C++,1天HELLO WORLD,第二天也就是2014年的4月24日,哥在次动手写了HELLO WORLD,YES我通过百度,API独立完成了WIN32 的HELLO WORLD程序 再次 我想告诉大家:YES,哥的VC终于入门了
我的C++历程之(9年的腥风血雨) 现在快30岁了,想当年跟大伙们一样,意气飞扬,风华正茂,但掌握C++年头一直没有放弃过。哥坚持着。 2005年就开学VC 了,那会还是个学生, 开始学了点C++,14天-15天的样子,应该可以考个2级证书了。 后看了点C++版数据结构,好难看懂,转VC,我X,一看HELLO WORLD 我X,这是人看的不!再加上年轻吗,总是会有些烦恼!转战魔兽争霸N年... 但在重新燃起编程梦想,2007年(大三)学了C语言+C数据结构,一个月,考了本初级的证书 可惜好景不长,证书到手后,又没有学了! 时隔近4-5年后,2011年,哥重新燃起了C++梦,再次看起VC视频教程,接半个月,这次不同的是,没有学C++没有学STL直接编游戏,虽然最终得到了效果,但是有很多疑惑。 特别在字符串相加方法!不到半个月后又停止了! 2013年,已经年迈力衰的哥,依然坚持着,第三次点燃心中的C++梦,这次哥下决心,重0开始,忘记过去!终于花了近20天的时间看完范磊的C++视频,后又10天看孙鑫的VC视频教程,可以好日子总是短暂的,1月的时间很快过去了,成人吗,总是那么的忙!又停了 2014年的4月就是现在,哥死而复活,心中的C++梦一直没有停止过,哥又回来了。 花了3天看了范磊的C教程(选看),后3天复习了C++,1天HELLO WORLD,第二天也就是2014年的4月24日,哥在次动手写了HELLO WORLD,YES我通过百度,API独立完成了WIN32 的HELLO WORLD程序 再次 我想告诉大家:YES,哥的VC终于入门了
我的C++历程,9年的腥风血雨,精神之坚韧,实世之罕见 现在快30岁了,想当年跟大伙们一样,意气飞扬,风华正茂,但掌握C++年头一直没有放弃过。哥坚持着。 2005年就开学VC 了,那会还是个学生, 开始学了点C++,14天-15天的样子,应该可以考个2级证书了。 后看了点C++版数据结构,好难看懂,转VC,我X,一看HELLO WORLD 我X,这是人看的不!再加上年轻吗,总是会有些烦恼!转战魔兽争霸N年... 但在重新燃起编程梦想,2007年(大三)学了C语言+C数据结构,一个月,考了本初级的证书 可惜好景不长,证书到手后,又没有学了! 时隔近4-5年后,2011年,哥重新燃起了C++梦,再次看起VC视频教程,接半个月,这次不同的是,没有学C++没有学STL直接编游戏,虽然最终得到了效果,但是有很多疑惑。 特别在字符串相加方法!不到半个月后又停止了! 2013年,已经年迈力衰的哥,依然坚持着,第三次点燃心中的C++梦,这次哥下决心,重0开始,忘记过去!终于花了近20天的时间看完范磊的C++视频,后又10天看孙鑫的VC视频教程,可以好日子总是短暂的,1月的时间很快过去了,成人吗,总是那么的忙!又停了 2014年的4月就是现在,哥死而复活,心中的C++梦一直没有停止过,哥又回来了。 花了3天看了范磊的C教程(选看),后3天复习了C++,1天HELLO WORLD,第二天也就是2014年的4月24日,哥在次动手写了HELLO WORLD,YES我通过百度,API独立完成了WIN32 的HELLO WORLD程序 再次 我想告诉大家:YES,哥的VC终于入门了
请教大家 喜欢一个女孩子,那个女孩知道我喜欢她,当然我们互相装做不知道。她经常说我,你说话好奇怪啊。 开始我看到一个女孩子,我对她就有感觉了,我们在同一个培训学校 后来我通过她的朋友,渐渐的我认识她了。 但是因为我过于着急,对她的爱意很快就暴漏了, 她生日那天我居然送了一条围巾给她。 后来我约她出去看电影,当然有2个她认识的人一起,她拒绝了,不过我说了很久,还是把她叫出来了 看完电影后,我感觉她对我的感觉都不同了,很喜欢跟我对视,原先都不会,然后还很想跟我说些东西,但是可能我太在意了 最后几天后,感觉她对我又没兴趣了。 后来我3天两头打电话过去,开始如果没接,都会打过来,不过现在都不回了。 不过她见到我还是会主动过来打招呼 请问这种爱意暴露的这么早,而且开始又没把握住,这种情况后续该如何做呢? 如何重新开始呢?还能换回她对我的兴趣吗 前天我跟她说,我明天生日,你送我个礼物吧, 她说不行,我说你怎么不问问我想要什么; 她说:你要什么我都给你买那怎么行。 我说:把你的心送我吧。 她:(⊙o⊙)…,你说话好奇怪啊。 我:哪里奇怪。 她:不知道,一般人不会这么说 不过昨天,她发了一条信息给我,祝我生日快乐 希望大家看看我的另一个问题再回答
大家帮忙看看 喜欢一个女孩子,那个女孩知道我喜欢她,当然我们互相装做不知道。她经常说我,你说话好奇怪啊。 开始我看到一个女孩子,我对她就有感觉了,我们在同一个培训学校 后来我通过她的朋友,渐渐的我认识她了。 但是因为我过于着急,对她的爱意很快就暴漏了, 她生日那天我居然送了一条围巾给她。 后来我约她出去看电影,当然有2个她认识的人一起,她拒绝了,不过我说了很久,还是把她叫出来了 看完电影后,我感觉她对我的感觉都不同了,很喜欢跟我对视,一起都不会,然后还很想跟我说些东西,但是可能我太在意了 最后几天后,感觉她对我又没兴趣了。 后来我3天两头打电话过去,开始如果没接,都会打过来,不过现在都不回了。 不过她见到我还是会主动过来打招呼 请问这种爱意暴露的这么早,而且开始又没把握住,这种情况后续该如何做呢? 如何重新开始呢?还能换回她对我的兴趣吗 前天我跟她说,我明天生日,你送我个礼物吧, 她说不行,我说你怎么不问问我想要什么; 她说:你要什么我都给你买那怎么行。 我说:把你的心送我吧。 她:(⊙o⊙)…,你说话好奇怪啊。 我:哪里奇怪。 她:不知道,一般人不会这么说 不过昨天,她发了一条信息给我,祝我生日快乐 希望大家看看我的另一个问题再回答
新人想参加JAVA工作的,看看自己做到没有 多年前我自学的时候是很茫然,总是想需要怎样才能有工作的水平,上网问问题,总是一堆外行的人说很难啊,你需要这样需要那样,不然就是,一堆人说一些空话,多看多写,买好书,我很无语,除了这些就没有自己的一些想法吗? 首先很多人认为学JAVA要C的基础,但是实际上不用,学开车,我不想先学骑自行车 没有必然。 第一阶段: 1.      JAVA语法和基础,包括循环。。和类的相关内容,如实现,继承什么的 2.      你需要掌握几个重点的集合,List接口的两个子类LinkedList,ArrayList;然后是Map几口的两个子类HashMap,HashTable;Set接口 掌握List后学Set就容易了;掌握Collection和Collections的区别 3.      掌握IO一章,重点的几个流 InputStream,OuputStream;BufferedReader,BufferedWrite; ObjectInputStream, ObjectOutputStream,,PrintWriter,FileReader,FileWriter了解JAVA的序列化,掌握JAVA的File类 4.JDBC非常重要,重点掌握Connection,PreparedStatement, Statement,ResultSet, 其他的可以在学习或项目中如果碰到再学,但早期重点掌握前面几个,其他了解足够, 数据库建议新手用MySql,下载Navicat for MySQL管理工具 5.如果你想快速上手的话,那么你需要跳过这些,     包括:线程,网络编程,GUI编程 好的,现在你可以进入第二阶段了 1.      HTML+JAVASCRIPT不必说了,掌握多少看自己把握了,CSS做了解 2.      JSP+Servlet,你需要重点掌握几个,Request,Response,Session,其次是Application. 另外你需要知道Redirect,ForWard的区别,Servlet的生命周期等 3. 标签方面:(1)掌握EL表达式;(2)最好掌握JSTL标签,不会也可,但如果掌握了JSP标签,学JSTL也十分简单,重点是迭代标签和格式化标签, 4. 学习AJAX,简单点就行了,无需深入研究 5. 掌握了上面的,你可以继续学习框架:Struts2.0;Hibernate3;Spring 2.0 6. 学有余力的话可以继续学习AJAX框架,如DWR,EXT,JQUEY等,如果上面你都做到   的话,并且在期间做了2到3个项目的话,OK你可以参加工作了 声明:这只是我给新人的一点指引,并非JAVA要学的全部
给新人的建议,让你学的更快 更清晰    多年前我自学的时候是很茫然,上网问问题,总是一堆外行的人说很难啊,你需要这样需要那样,不然就是,一堆人说一些空话,多看多写,买好书,我很无语,除了这些就没有自己的一些想法吗? 首先很多人认为学JAVA要C的基础,但是实际上不用,学开车,我不想先学骑自行车 没有必然。 第一阶段: 1.     JAVA语法和基础,包括循环。。和类的相关内容,如实现,继承什么的 2.     你需要掌握几个重点的集合,List接口的两个子类LinkedList,ArrayList;然后是Map几口的两个子类HashMap,HashTable;Set接口 掌握List后学Set就容易了;掌握Collection和Collections的区别 3.     掌握IO一章,重点的几个流 InputStream,OuputStream;BufferedReader,BufferedWrite; ObjectInputStream, ObjectOutputStream,,PrintWriter,FileReader,FileWriter了解JAVA的序列化,掌握JAVA的File类 4.JDBC非常重要,重点掌握Connection,PreparedStatement, Statement,ResultSet, 其他的可以在学习或项目中如果碰到再学,但早期重点掌握前面几个,其他了解足够, 数据库建议新手用MySql,下载Navicat for MySQL管理工具 5.如果你想快速上手的话,那么你需要跳过这些,    包括:线程,网络编程,GUI编程 好的,现在你可以进入第二阶段了 1.     HTML+JAVASCRIPT不必说了,掌握多少看自己把握了,CSS做了解 2.     JSP+Servlet,你需要重点掌握几个,Request,Response,Session,其次是Application. 另外你需要知道Redirect,ForWard的区别,Servlet的生命周期等 3. 标签方面:(1)掌握EL表达式;(2)最好掌握JSTL标签,不会也可,但如果掌握了JSP标签,学JSTL也十分简单,重点是迭代标签和格式化标签, 4. 学习AJAX,简单点就行了,无需深入研究 5. 掌握了上面的,你可以继续学习框架:Struts2.0;Hibernate3;Spring 2.0 6. 如果上面你都做到的话,并且在期间做了2到3个项目的话,OK你可以参加工作了 声明:这只是我给新人的一点指引,并非JAVA要学的全部
比while(true)主动高效,省力的监听------被动监听 现在又一个list 每当有对象加入list.add()的时候由多线程去监听执行某些事 1.while(true)形式的监听,浪费资源, Queue list = new LinkedBlockingQueue(); while(true){    try{       Thread.sleep(1000);//一秒钟查看一次       if(!list.isEmpty()){          System.out.println("do something");       }    }catch(Exception e){ //     ... } } 2.阻塞形式    public class Listener{       private Object wait_object = new Object();       Queue list = new LinkedBlockingQueue();       private Runnable run = new Runnable(){            public void run(){                while(!list.isEmpty()){                    System.out.println("do something");                }                synchronized(wait_object){                   System.out.println("睡着。。。");                   wait_object.wait();                    wait_object.wait("醒来。。。");                }            }       };       public void wakeUp(){           list.add("object");            synchronized(wait_object){                    wait_object.notifyAll();            }       }      public void start(){         new Thread(run).start();      } } 当发生list.add()时候,调用Listener的wakeUp(); 例如 public class TestMain{ Listener listen = new Listener(); listen.start(); Thread.sleep(5000);//5秒后唤醒 listen.wakeUp(); }
原子变量与非阻塞算法 锁的劣势 从前面的章节可以看到,使用一致的加锁协议来协调对共享状态的访问,确保当线程持有守护变量的锁时,线程都能独占地访问这些变量,并且保证随后获得同一锁的线程都能看见该线程对变量所作的修改。 Java虚拟机能够对非竞争锁的获取和释放进行优化,让它们非常高效,但是如果有多个线程同时请求锁,Java虚拟机就需要向操作系统寻求帮助。倘若了出现这种情况,一些线程将可能被挂起,并稍后恢复运行。从线程开始恢复,到它真正被调度前,可能必须等待其他线程完成它们的调度限额规定的时问。挂起和恢复线程会带来很大的开销,并通常伴有冗长的中断。对于基于锁,并且其操作过度细分的类(比如同步容器类,大多数方法只包含很少的操作),当频繁地发生锁的竞争时,调度与真正用于工作的开销间的比值会很可观。 加锁还有其他的缺点。当一个线程正在等待锁时,它不能做任何其他事情。如果一个线程在持有锁的情况下发生了延迟(原因包括页错误、调度延迟,或者类似情况),那么其他所有需要该锁的线程都不能前进了。如果阻塞的线程是优先级很高的线程,持有锁的线程优先级较低,那么会造成性能风险,被称为优先级倒置(priority inversion)。即虽然更高的优先级占先,但它仍然需要等待锁被释放,这导致它的优先级会降至与优先级较低的线程相同的水平。如果持有锁的线程发生了永久性的阻塞(因为无限循环、死锁、活锁和其他活跃度失败),所有等待该锁的线程都不会前进了。 即使忽略上述的风险,加锁对于小的操作而言,仍然是重量级(heavy weight)的机制,比如自增操作。需要有更好的技术用来管理线程之问的竞争。在Java 5.0中,使用原子变量类(atomic variable classes)能够高效地构建非阻塞算法。 8.2. 原子变量类 在JDK 5.0之前,如果不使用本机代码,就不能用Java语言编写无等待 无锁定的算法。在java.util.concurrent中添加原子变量类之后,这种情况发生了变化。本节了解这些新类开发高度可伸缩的无阻塞算法。 java.util.concurrent.atomic 包中添加原子变量类。所有原子变量类都公开“比较并设置”原语(与比较并交换类似),这些原语都是使用平台上可用的最快本机结构(比较并交换、加载链接/条件存储,最坏的情况下是旋转锁)来实现的。 原子变量类共有12个,分成4组:计量器、域更新器(field updater)、数组以及复合变量。最常用的原子变量是计量器:AtomicInteger、AtomicLong、AtomicBoolean以及AtomicReference。他们都支持CAS(比较并设置,详细参考第3章);AtomicInteger和AtomicLong还支持算术运算。 原子变量类可以认为是volatile变量的泛化,它扩展了volatile变量的概念,来支持原子条件的比较并设置更新。读取和写入原子变量与读取和写入对volatile变量的访问具有相同的存取语义。 虽然原子变量类表面看起来与SynchronizedCounter例子(参考3.2.1节)一样,但相似仅是表面的。在表面之下,原子变量的操作会变为平台提供的用于并发访问的硬件原语,比如比较并交换。 调整具有竞争的并发应用程序的可伸缩性的通用技术是降低使用的锁对象的粒度,希望更多的锁请求从竞争变为不竞争。从锁转换为原子变量可以获得相同的结果,通过切换为更细粒度的协调机制,竞争的操作就更少,从而提高了吞吐量。 下面的程序是使用原子变量后的计数器: package jdkapidemo; import java.util.concurrent.atomic.AtomicInteger; public class AtomicCounter { private AtomicInteger value = new AtomicInteger(); public int getValue() { return value.get(); } public int increment() { return value.incrementAndGet(); } public int increment(int i) { return value.addAndGet(i); } public int decrement() {
JAVA面试题总结 -j2se 1.     面向对象编程的三大特性是什么,请简要阐述 2.     String 和StringBuffer的区别 3.     说出ArrayList,Vector, LinkedList的存储性能和特性 4.     Collection 和 Collections的区别 5.     HashMap和Hashtable的区别 6.     final, finally, finalize的区别 7.     Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 8.     error和exception有什么区别? 9.     abstract class和interface有什么区别? 10.     List, Set, Map是否继承自Collection接口 11.     swtich是否能作用在byte上,是否能作用在long上,是否能作用在String 12.     char型变量中能不能存贮一个中文汉字?为什么? 13.     多线程有几种实现方法,都是什么?哪一种方式比较优秀?同步有几种实现方法,都是什么? 14.      java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类 1     Struts框架 1.     Struts框架的整体运行流程 2.     ActionServlet在Struts框架中的总体作用功能是什么 3.     Struts框架的后缀名一般为.do,后缀后能不能更改,如果能更改的话,如何 4.     如何在Struts-config.xml中配置数据源以及获取数据源 5.     Struts-config.xml文件action配置中的attribute属性和name属性有什么区别 6.     Struts中的Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安全?如果是,说明原因 7.     Action的Execute方法有几个参数,这几个参数的具体作用是什么 8.     Action的Execute方法的返回值是什么类型,有几种方式可以返回此类型 9.     ActionFrom中对于错误消息的存取是如何存取的,页面上面是如何显示ActionFrom中存放的出错消息 10.     普通的Action对于消息的存取是如何实现的,页面上面是如何显示Action中存放的消息 11.     普通的ActionForm和动态的ActionForm有什么区别,在动态的ActionForm中如何设定一个日期类型的属性 12.     动态ActionForm是以什么方式存取表单控件的值的。要使用动态ActionForm取得一个控件的值是如何取得 13.     普通的Action与DispatchAction的区别是什么 14.     Struts框架中常用的有HTML/Bean/Logic标签,这些标签的主要功能是什么 15.     HTML标签中的name属性代表什么功能,为什么可以省略不写 16.     Struts标签中name和property两个属性的作用和区别 17.     请简述J2EE平台体系中标签的体系结构 18.     请简述自定义标签的步骤 19.     如何在自定义标签中获取ServletContext,HttpSession, 20.     Servlet2.4版本中新增加了一个标签为简单标签,要实现简单标签的话,必须实现标签中的哪一个方法,该方法有没有返回值
java军旗源码 --第一讲 建文本 在SRC下 2-2-2 11111 10201 12021 10201 11111 3.3.3 3.3.3 11111 10201 12021 10201 11111 2-2-2 import java.awt.Graphics; import java.awt.Image; /** * 棋子 */ public class ChessBlock {      private String chessName;// 司令,工兵      private Image img;      private String color;      public String getChessName() {          return chessName;      }      public void setChessName(String chessName) {          this.chessName = chessName;      }      public String getColor() {          return color;      }      public void setColor(String color) {          this.color = color;      }      public Image getImg() {          return img;      }      public void setImg(Image img) {          this.img = img;      }      public ChessBlock(String chessName, Image img, String color) {          super();          this.chessName = chessName;          this.img = img;          this.color = color;      }           //画图      public void draw(Graphics g){          g.drawImage(img, 0, 0, null);          g.drawString(chessName, 3, 10);      } } import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import javax.swing.JPanel; /** * 棋盘 */ public class ChessBoard extends JPanel {      private final static int WIDTH   = 393;      private final static int HEIGHT = 532;           private JPanel panel = new JPanel();      private static ChessBox boxs[][] = new ChessBox[14][5];      public ChessBoard() {          this.setLayout(null);          this.setSize(WIDTH, HEIGHT);          this.setLocation(100, 0);
1 下一页