JAVA开发过程中需要注意那些问题?

JAVA开发过程中需要注意那些问题?~

开发过程需要注意的问题有下面这些:

1. 服务器端必须提供输入数据正确性的验证,客户端的Javascript验证可以没有。这是基于安全性的考虑,因为Javascript是很容易被绕过的,增加客户端验证只是为了减少服务器压力、界面更加容易使用。

2. 适度使用Session,尽量不要在Session里放很大的集合对象,以免内存消耗过大,因为很多用户访问的时候会产生很多的Session。参数传递应该尽量通过Request。熟悉HTTP有助于更好的理解Session、Cookie、Request等的机制。

3. 在带有分页的查询界面,尽量不要使用POST方法来传递参数,POST传递的参数在地址栏里是看不到的,刷新后会有重新提交表单的提示。使用GET方法传递参数要注意URL的长度不能超过1K。

4. 分层应该清晰,一般目前我们分为View(Jsp或FreeMarker加上Action)、Bean(Service)、DAO这么三层,即显示层、业务层、数据层。记录集ResultSet这种只能出现在DAO层中的对象不能出现在Bean(Service)层中,同样HttpServletRequest这种只能出现在View层的对象也不应出现在Bean(Service)层中。这并不是绝对的。

5. 尽量使用简单SQL,避免两表以及多表联查。多表联查会导致数据库压力大幅增加,而且不利于在内存中对部分记录进行缓存,代码的重用性也难以提高。

6. 避免在循环里执行findXXById这样的方法,不如执行一个findXXByIds这样的方法一次性把记录取到Map里。大部分有实际对象对应的表应该提供这样一个方法。

7. 如果使用最原始的jdbc编程的话需要注意资源的正确释放,在循环里new出来的Statement或者ResultSet就要在循环里关闭。

8. 在编写SQL进行查询的时候,需要能够判断这个SQL是否已经使用了索引,避免全表扫描,必要的时候增加索引。

9. 在写一个方法前,首先查看有没有相同功能或者很类似功能的方法已经有了,尤其是工具类方法,往往已经写过了,避免重复代码的产生,发现重复代码及时进行处理。如果一段代码被重复使用两遍或以上,那么可以考虑专门写个方法来放这段代码,同样多次使用的常量也应该专门定义出来。

10. 在一个方法里并不一定只能有一个return,如果已经有结果了尽早return,没必要增加嵌套的层次,那样会导致代码可读性不佳,但也不能return太多,代码看起来比较舒服就可以了。

11. 不要满足于能够熟练的编写DAO和Bean(Service)的代码,相比较而言,后台如果在成熟框架的支持下,编码是没有太大难度的,也不值得沾沾自喜,因为这是对Java研发工程师基本的要求。适当的培养一下前台的编码能力,学会使用Dreamweaver。不要轻视界面,也别认为这是界面设计的事情,界面对用户来说就是软件,学会编写CSS和调整界面对你没有坏处。

12. 非常明确Java和javascript作用的范围,明确它们能做的事情。

13. 一般很奇怪的现象都是由一些低级错误引起的,如果你查了一段时间也没有结果,那么让别人来查吧。

14. 不要用可能被修改的字段来做主键,那样会让相关记录的更新成为一个大麻烦。

15. 如果被迫使用Hibernate和jdbc混合操作数据库的话,不要用Hibernate来做复杂查询和统计。Hibernate用的不好的话,带来的便利是非常有限的。

16. 数据库中经常被读取,但是很少修改的话,应该把这样的数据读到内存中用OSCache之类的缓存起来,然后定期或者触发的去更新,有助于减少读数据库次数,提升性能。

17. 编码的时候应该注意部署环境带来的影响,这种影响包括操作系统不同带来路径的差异;应用服务器和数据库服务器之间时间的差异;外网可能部署在多台服务器上,放到Session里的对象因为需要复制所以要实现java.io.Serializable接口等。

18. 尽量不要在jsp上编写太多代码,保持jsp的整洁很重要,用Dreamweaver打开不至于一塌糊涂,根本看不出来这是个什么界面。

19. 目前我们的项目一般都使用Spring来管理数据库事务,而且一般都配置在Bean(Service)即业务层这一层,应该注意要保持事务的完整性,不要把一些应该放在一起的操作分散在Action这一层。相关的更新操作可以认为是一个事务,比如:增加一个家长,同时更新学生是否有家长的字段。

20. 在Spring的配置中,对于有些需要保持独立事务的方法操作,比如生成主键等,应该声明该方法为独立事务ROPAGATION_REQUIRES_NEW。Bean(Service)里如果抛出checked exception,事务默认是不会回滚的,需要加以声明,比如PROPAGATION_REQUIRED,-PassportException。

21. 在一个Bean(Service)中引用其他Bean(Service)的时候尽量引用Bean(Service),而不是DAO。因为其他的Bean(Service)往往封装DAO的操作后,又做了进一步的完善,比如增加校验等,所以应该重用这些方法,而不必要去引用DAO的方法来重写这些操作。

22. 至少在Bean(Service)的接口定义上增加注释,方便他人引用你写的方法。

23. 好好利用集合框架里的Map、List、Set。尤其是HashMap、ArrayList、HashSet用的最多,这些类是多条数据操作的基础,它们都不是线程安全的。

24. 现在跑的快的页面,随着数据量的增加,可能会变的很慢,所以应该意识到页面可能变慢的原因,而不是现在看起来很快。影响速度的大部分原因是对数据库的压力太大了,在java代码执行上花费很多时间的情况是不常见的。

25. 避免不必要的跳转,如果页面执行的足够快,那么中间的载入进度提示页是不必要的,那样会让用户觉得闪烁。

26. 注意页面的文件大小,并不是每个用户的带宽都是非常理想的,文件小一点,速度快一点,总是感觉更好一点。

27. 不要去修改用户的浏览器,比如隐藏他们的地址栏、菜单、右键菜单等,这可能会引起部分用户的反感。尽量不要使用弹出窗口,可能会被拦截。

28. 网站的权限控制至少应该保证有访问权限的用户才能访问页面,通过隐藏链接之类的方法是很不安全的,用户看不见了并不表示安全了。权限的控制尽量使用框架里的拦截器这样的机制,而不是把权限控制代码写的到处都是。过滤器不宜过多的使用,不仅因为过滤器的作用范围很难控制,而且容易引起页面执行效果的混乱,错误不易排查。

29. 页面里大部分情况使用相对路径,保持Action路径层次和页面一致,这样应用就可以发布在各种目录下。

环境变量的配置,jdk的版本,包的导入,类的设计,名命方式,代码的规范性,等等

开发过程需要注意的问题有下面这些:

1. 服务器端必须提供输入数据正确性的验证,客户端的Javascript验证可以没有。这是基于安全性的考虑,因为Javascript是很容易被绕过的,增加客户端验证只是为了减少服务器压力、界面更加容易使用。

2. 适度使用Session,尽量不要在Session里放很大的集合对象,以免内存消耗过大,因为很多用户访问的时候会产生很多的Session。参数传递应该尽量通过Request。熟悉HTTP有助于更好的理解Session、Cookie、Request等的机制。

3. 在带有分页的查询界面,尽量不要使用POST方法来传递参数,POST传递的参数在地址栏里是看不到的,刷新后会有重新提交表单的提示。使用GET方法传递参数要注意URL的长度不能超过1K。

4. 分层应该清晰,一般目前我们分为View(Jsp或FreeMarker加上Action)、Bean(Service)、DAO这么三层,即显示层、业务层、数据层。记录集ResultSet这种只能出现在DAO层中的对象不能出现在Bean(Service)层中,同样HttpServletRequest这种只能出现在View层的对象也不应出现在Bean(Service)层中。这并不是绝对的。

5. 尽量使用简单SQL,避免两表以及多表联查。多表联查会导致数据库压力大幅增加,而且不利于在内存中对部分记录进行缓存,代码的重用性也难以提高。

6. 避免在循环里执行findXXById这样的方法,不如执行一个findXXByIds这样的方法一次性把记录取到Map里。大部分有实际对象对应的表应该提供这样一个方法。

7. 如果使用最原始的jdbc编程的话需要注意资源的正确释放,在循环里new出来的Statement或者ResultSet就要在循环里关闭。

8. 在编写SQL进行查询的时候,需要能够判断这个SQL是否已经使用了索引,避免全表扫描,必要的时候增加索引。

9. 在写一个方法前,首先查看有没有相同功能或者很类似功能的方法已经有了,尤其是工具类方法,往往已经写过了,避免重复代码的产生,发现重复代码及时进行处理。如果一段代码被重复使用两遍或以上,那么可以考虑专门写个方法来放这段代码,同样多次使用的常量也应该专门定义出来。

10. 在一个方法里并不一定只能有一个return,如果已经有结果了尽早return,没必要增加嵌套的层次,那样会导致代码可读性不佳,但也不能return太多,代码看起来比较舒服就可以了。

11. 不要满足于能够熟练的编写DAO和Bean(Service)的代码,相比较而言,后台如果在成熟框架的支持下,编码是没有太大难度的,也不值得沾沾自喜,因为这是对Java研发工程师基本的要求。适当的培养一下前台的编码能力,学会使用Dreamweaver。不要轻视界面,也别认为这是界面设计的事情,界面对用户来说就是软件,学会编写CSS和调整界面对你没有坏处。

12. 非常明确Java和javascript作用的范围,明确它们能做的事情。

13. 一般很奇怪的现象都是由一些低级错误引起的,如果你查了一段时间也没有结果,那么让别人来查吧。

14. 不要用可能被修改的字段来做主键,那样会让相关记录的更新成为一个大麻烦。

15. 如果被迫使用Hibernate和jdbc混合操作数据库的话,不要用Hibernate来做复杂查询和统计。Hibernate用的不好的话,带来的便利是非常有限的。

16. 数据库中经常被读取,但是很少修改的话,应该把这样的数据读到内存中用OSCache之类的缓存起来,然后定期或者触发的去更新,有助于减少读数据库次数,提升性能。

17. 编码的时候应该注意部署环境带来的影响,这种影响包括操作系统不同带来路径的差异;应用服务器和数据库服务器之间时间的差异;外网可能部署在多台服务器上,放到Session里的对象因为需要复制所以要实现java.io.Serializable接口等。

18. 尽量不要在jsp上编写太多代码,保持jsp的整洁很重要,用Dreamweaver打开不至于一塌糊涂,根本看不出来这是个什么界面。

19. 目前我们的项目一般都使用Spring来管理数据库事务,而且一般都配置在Bean(Service)即业务层这一层,应该注意要保持事务的完整性,不要把一些应该放在一起的操作分散在Action这一层。相关的更新操作可以认为是一个事务,比如:增加一个家长,同时更新学生是否有家长的字段。

20. 在Spring的配置中,对于有些需要保持独立事务的方法操作,比如生成主键等,应该声明该方法为独立事务ROPAGATION_REQUIRES_NEW。Bean(Service)里如果抛出checked exception,事务默认是不会回滚的,需要加以声明,比如<propkey="*">PROPAGATION_REQUIRED,-PassportException</prop>。

21. 在一个Bean(Service)中引用其他Bean(Service)的时候尽量引用Bean(Service),而不是DAO。因为其他的Bean(Service)往往封装DAO的操作后,又做了进一步的完善,比如增加校验等,所以应该重用这些方法,而不必要去引用DAO的方法来重写这些操作。

22. 至少在Bean(Service)的接口定义上增加注释,方便他人引用你写的方法。

23. 好好利用集合框架里的Map、List、Set。尤其是HashMap、ArrayList、HashSet用的最多,这些类是多条数据操作的基础,它们都不是线程安全的。

24. 现在跑的快的页面,随着数据量的增加,可能会变的很慢,所以应该意识到页面可能变慢的原因,而不是现在看起来很快。影响速度的大部分原因是对数据库的压力太大了,在java代码执行上花费很多时间的情况是不常见的。

25. 避免不必要的跳转,如果页面执行的足够快,那么中间的载入进度提示页是不必要的,那样会让用户觉得闪烁。

26. 注意页面的文件大小,并不是每个用户的带宽都是非常理想的,文件小一点,速度快一点,总是感觉更好一点。

27. 不要去修改用户的浏览器,比如隐藏他们的地址栏、菜单、右键菜单等,这可能会引起部分用户的反感。尽量不要使用弹出窗口,可能会被拦截。

28. 网站的权限控制至少应该保证有访问权限的用户才能访问页面,通过隐藏链接之类的方法是很不安全的,用户看不见了并不表示安全了。权限的控制尽量使用框架里的拦截器这样的机制,而不是把权限控制代码写的到处都是。过滤器不宜过多的使用,不仅因为过滤器的作用范围很难控制,而且容易引起页面执行效果的混乱,错误不易排查。

29. 页面里大部分情况使用相对路径,保持Action路径层次和页面一致,这样应用就可以发布在各种目录下。

学习java软件开发课程要注意什么?
答:1.扎实的基础:确保你对基本的编程概念有清晰的理解,包括变量、数据类型、控制结构、函数等。这些是任何编程语言的基础,对Java也同样适用。2.Java语言基础:深入学习Java语言的特性和语法,包括面向对象编程(OOP)的概念,如类、对象、继承、多态等。理解Java的特性有助于更好地利用其强大的功能。3.开...

零基础学习Java开发需要注意的事?
答:二、不用工具写代码 许多程序员已经习惯使用模拟器、集成开发环境和框架等工具,这些工具使编程变得更加简单。Java程序员比起使用插件更喜欢用IntelliJ和Eclipse工具。昌平北京电脑培训发现Node.js开发人员不需要掌握IDE,而是使用文本编程。三、如何讲述自己的思考过程 面试官提问后,请大声说出你的思考过程。...

从事Java开发的注意事项?
答:2、测试中尽可能模拟线上环境 生产过程中一个典型的场景就是只使用1到3个帐户进行测试,而这个数量本应是1000到2000个的。在做性能测试时,使用的数据必须是真实并且未经裁剪的。不贴近真实环境的性能测试,可能会带来不可预料的性能、拓展和多线程问题。这里也可以采取预发布环境的方式来解决部分问题。3...

Java项目开发需要考虑的注意事项?
答:1、服务器必须提供进行输入数据的正确性验证,一般情况下,客户端的Javascript验证是可以不使用的。这是基于安全考虑因素,因为Javascript很容易被绕过,添加客户端验证只是为了减少服务器压力并使界面更易于使用。2、在开发Java项目过程中,IT培训建议应该适度使用Session,尽量不要在Session中放置大的集合对象,...

学习Java开发需要注意哪些要点?
答:一、将需要变动的配置写在属性文件中 如果在学习的过程中没有把需要执行时的使用线程设置成可在属性文件中配置,那么整个程序无论是在DEV环境中还是在TEST环境中,都可以很好的进行运行,但是如果是部署在PROD上面,那么多线程程序在处理的过程中需要更大的数据。如果线程数目在属性文件中进行配置,那么昌平...

学习Java开发的时候有什么要注意的地方吗?
答:学习java需要注意的地方,以我多年的经验 我来为你解答:学习Java的过程中一定要多敲代码不要让手闲着,提高自己的代码量,多敲代码你才能发现代码中的错误,以及需要改正的地方。代码量决定啦你的上手速度,当初入公司时,良好的代码量可以让你更熟悉公司流程;学习Java不要一个人奋斗,学习编程语言...

Java程序员需要注意哪些问题?
答:1、永远记住Java是一个OOP语言工具,而不仅仅是编码。只有这样,您才能从整体上掌握和使用Java。2、在学习过程中,最好了解Java的底层机制,而不仅仅是停留在表面上,不要从书中复制示例来运行结果。天通苑天通苑java软件开发建议,即使是一个简单的例子,你也必须耐心地反思、调试和修改。3、在学习中...

自学Java开发技术注意事项
答:自学Java开发注意事项,Java作为一门语言,必然有他的语法规则。学习编程语言的关键之一就是学好语法规则,写作合乎语法规则的语句,控制计算机完成各种任务。java语言在众多开发者心目中就像是一把“利器”,同时它也是目前IT界流行的面向对象的编程语言。1、自学Java技术多动手 学编程语言不仅仅是从理论上的...

Java 后台开发值得注意的地方有哪些
答:1.java基础 2.JSP+Servlet+JavaBean 这个环节主要是懂流程的 什么是MVC而已 别往深了研究 现在开发基本不用这个模式 3.Struts+Hibernate+Spring 这个才是开发的主流技术 把每个都搞清楚 哪个框架是什么层的 4.Ajax(最好学学 很多公司都注重这个)然后用3+4 做个例子 不是要实现功能 关键是要你...

学习编程,Java开发,需要注意哪些方式方法?
答:学习Java的语法部分,要注意六点内容,其一是要重视对于“类”的理解,要通过类的理解来理解Java的抽象机制;其二是要先掌握Java的面向对象编程过程,包括类的设计、对象的创建和方法的调用,掌握了这个大的规则是非常重要的;其三是重视封装、继承和多态这三个核心概念的理解和应用,尤其是多态;其四是...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网