2. JAVA阅读源码,大量英文注释阅读不方便,求集成idea里面的翻译java注释由英文翻译为中文的工具。
学会在idea(eclipse)中阅读、调试源码,是java程序员必不可少的一项技能。
在idea中配完环境后,默认其实也是能够对jdk的源码进行debug调试的。但是无法在源码中添加自己的注释,无法添加自己的理解。如果干瞪眼看的话,可能过段时间,就忘记了。下面就介绍下,如何在jdk源码中为所欲为,像在我们自己的代码中一样写注释、调代码:
打开idea,选择Project->File->Project Structure->SDKs->Sourcepath,初始状态如下图 :
这时,再重新打开jdk的源码类,我们就可以在源java文件中,添加自己的注释了。
一定注意:添加注释时,一定不要新加一行写注释。最好在一行代码的后面,使用//进行注释。否则行号和真正的jre中编译后的代码行号对应不上,如果对源码debug时,会出现代码运行和行号不匹配的情况
3. 如何快速读懂项目源码javaWeb
一:学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring
ioc->log-> 代码
1、先了解项目数据库的表结构,这个方面是最容易忘记 的,有时候我们只顾着看每一个方法是怎么进行的,却没
有去了解数据库之间的主外键关联。其实如果先了解数据 库表结构,再去看一个方法的实现会更加容易。
2、然后需要过一遍web.xml,知道项目中用到了什么拦
截器,监听器,过滤器,拥有哪些配置文件。如果是拦截 器,一般负责过滤请求,进行AOP 等;如果是监 可能是定时任务,初始化任务;配置文件有如使用了 spring
后的读取mvc 相关,db 相关,service 相关,aop 相关的文件。
3、查看拦截器,监听器代码,知道拦截了什么请求,这
个类完成了怎样的工作。有的人就是因为缺少了这一步, 自己写了一个action,配置文件也没有写错,但是却怎么
调试也无法进入这个action,直到别人告诉他,请求被拦
4、接下来,看配置文件,首先一定是mvc相关的,如 springmvc
中,要请求哪些请求是静态资源,使用了哪些 view 策略,controller 注解放在哪个包下等。 然后是db 相关配置文件,看使用了什么数据库,使用了
什么orm框架,是否开启了二级缓存,使用哪种产品作 为二级缓存,事务管理的处理,需要扫描的实体类放在什 么位置。最后是spring 核心的ioc
功能相关的配置文件, 知道接口与具体类的注入大致是怎样的。当然还有一些如 apectj 置文件,也是在这个步骤中完成
5、log
相关文件,日志的各个级别是如何处理的,在哪些 地方使用了log 记录日志
6、从上面几点后知道了整个开源项目的整体框架,阅读 每个方法就不再那么难了。
7、当然如果有项目配套的开发文档也是要阅读的。
4. JAVA中看别人项目源码,从哪里开始看,顺序怎么样 比如 实体类 方法 接口 实现类 还有其他的
首先,如果有别人项目的开发文档,是必须先阅读的东西;
其次,最好借助于开发工具,比如导入eclipse,比如代码中按下ctrl+T就会显示当前类型的关联关系,还可以进行class搜索等。
第三,通过运行代码,跟踪进去,用debug模式查看一些关心的变量和方法是如何被调用和执行的。
MVC项目,可以从下往上看,就是从数据库操作,然后封装, service,到Action,再到页面。
5. JAVA鍒氩紑濮嫔︽槸瑕佸厛鐪嬫簮浠g爜钖鍙鏄涓镣逛篃鐪嬩笉镍傛槸浠涔
链浜轰笉鏄楂樻坠锛岀洿鍒扮幇鍦ㄨ缮鍦ㄥ堕噷瀛︺傛寜鐞呜存槸娌℃湁璧勬牸鍦ㄦゅ敔鑸岀殑
浣嗘槸鍐欎简涓镣逛唬镰侊纴浜烘湁镣圭疮銆备簬鏄涓婃潵鐜╃帺
鎴戣夊缑搴旇ヤ粠链锘虹镄勫﹁捣锛氭暟鎹绫诲瀷銆佸彉閲忋佽繍绠楃︺佽〃杈惧纺銆佽鍙ャ佹寚浠ゃ侀‘搴忥纴阃夋嫨锛屽惊鐜锛屾暟缁勶纴鍑芥暟 缁撴瀯(瀵逛互钖庡︿範绫诲ぇ链夊府锷)
链濂戒互c涓轰緥
杩欐柟闱㈢殑濂戒功链<<C绋嫔簭璁捐>>璋娴╁己鏁欐巿镄,<<21澶╁﹂欳璇瑷>>,鐞兼柉甯冩湕镄勶纴钖庤呭﹁捣𨱒ヨ交𨱒句竴浜涘墠钥呭圭亩鍗旷畻娉曟秹鍙婄殑澶氢竴浜
铹跺悗绠鍗曞湴瀛︿竴涓婥++,涓崭竴瀹氶潪寰楀﹀お澶氾纸褰撶劧浜嗙簿锷涘厖娌涘逛箣鍏磋叮娴揿帤镄勪緥澶栵级锛屼互灏佽咃纴缁ф圹銆佸氭佷负涓
褰撶劧浜嗕篃鍙涓嶈繘琛岀浜屾ョ洿鎺ュ紑濮嫔Java锛屼笉杩囩涓姝ヤ竴瀹氲佽蛋濂
镊充簬Java鏂归溃锛屾妸鍓嶉溃浜屾ョ敋镊崇涓姝ュ仛濂戒简瀛﹁捣𨱒ュ緢瀹规槗锛屾垜涔熸病鐪嬩粈涔圱hink in Java
绁濅綘鎴愬姛锛佸厖鍒呜呖Java涓銮峰缑涔愯叮......
6. 你好,我刚开始学JAVA,昨天看了点源码有点疑问
这个是叫做构造函数的重载。
这样子写的原因是:
有时候你会声明 Person people=new Person("lihong");
有时候你会声明 Person people=new Person("lihong","west");
如果不都实现的话,上面两种声明就不能这样用了!