- 浏览: 565351 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
给初学者之九:收尾
最后一篇介绍几个常见的概念
设计模式
这可不仅是java独有
我看的书就是c++和smalltalk例子的
先说说什么是设计模式
模式是什么?模式是经验的总结,潜规则的抽象
什么意思呢?比如说我们坐飞机,上飞机前需要经过几个步骤
什么安检领取登机牌之类的,这一套流程能不能改呢?
可以,但为什么几乎全世界的航空公司登机前都是这一套流程呢?
因为航空公司经过长期实践之后得出了一堆结论和经验
并认为这样做才是最安全,或说是最有效率的
这就是模式,模式是编程高手之间交流的桥梁
两个编程高手通过统一命名的模式了解对方的思想
当然不借助模式可不可以?当然可以,只是模式无处不在,你不知道而已
又比如吃饭,每吃一口饭,我们要先端碗,拿筷子,张嘴,塞饭入口,咀嚼最后吞咽
这就是一套模式,我们给这套模式命名为吃饭
那么当老爸叫吃饭的时候,我们就能明白什么意思
而不用老爸进来呓呓啊啊并比画上半天,哑语也不是这么用的
这就是模式,已知的模式有400多种//好象更多,不记得了
比如数据库有数据库的设计模式,编程有编程的模式等等
面向对象有常用的21种模式,需要掌握,主要分为创建,行为,结构三类
J2ee有J2ee的模式,Sun公司出了一本书叫《J2EE核心模式》可以拿来看看
必需要指明的是,模式不是规范,比如吃饭模式
没有人规定你吃饭非得要那么吃,你可以端碗,上抛,张嘴在下落后连碗一起吞咽
这也可以,只要你愿意,同样,只要你愿意,你就可以不遵循模式
模式之外还有反模式,学模式不可定势,不要学死,活学活用,无招胜有招才是最高境界
JavaDoc
文档工具,极其好用
可以根据注释自动生成HTML文档
Ant
98年,有一位程序员在从欧洲飞回美国的飞机上想到了这么一个东西
从而改变了整个世界,他的名字叫James Duncan Davidson
组织管理工具,可以这么描述它
比如你想在编译之后自动再次生成JavaDoc
那么你只需要编辑Ant脚本//对,就像Windows脚本那样
然后批处理就可以了,不过现在Ant已经广泛集成到IDE中去
不需要自己手动编写,不过如果想要炫炫,据说此招百试不爽
JUnit
测试工具,Unit家族可不只有JUnit
还有其它版本的,这个不细说,具体实践一下就明白了
POJO
//Plain Old Java Object
就是传统的Java对象,也就是一个JavaBean
由虚拟机来掌握其生死
常用的两个管理构架/规范是Spring和EJB容器
命名由来是某人//名字我忘了
觉得我们使用了太多的规范,以至于我们都忘记了纯粹的java对象
以至于我们都忽略了它的存在,所以叫了这么一个名字
以唤醒人们的记忆,这个意义上来说EJB其实不能算是POJO
毕竟遵循了一堆的接口,但是不管怎样,接口归接口,还是没有继承类
没有被强加什么//遵循可以写空方法假遵循
所以说还是POJO也对
但是由于这种东西缺乏管理,不象Servlet有专门的容器管理并继承了一定的类
而没有管理的对象在虚拟机中是很危险的,因为垃圾回收机制各个虚拟机不同
而且也不怎样,极有可能长时间不回收,这样在企业级的应用中呢
就有可能造成内存大量被占用从而死机,毫无疑问,这种机制需要优化
这种优化就是通过EJB容器或者Spring构架来实现
这么做还有一个好处就是迫使程序员对每一个类做封装
强迫他做管理,以达到防止内存泄露的目的,内存泄露最经常出现的错误就是
引用未释放,引用最典型体现在new这个关键字上,new得越多引用得越多
随着时间地增长,有可能导致循环,不停new new new new new.....
其中哪怕只要有一个new处理不当,虚拟机无法回收内存
那就极有可能完蛋,而且这种小bug越是在大的项目越是难以找到
有可能因为一个人而影响整个项目组,所以不妨记住我的一条经验
好的系统框架不应该在业务逻辑流程中出现new关键字
现在不理解也无所谓,将来有一天会明白的
SOA
面向服务的构架
不说太多,这个属于上上层建筑
不过不妨记住我的一句话,可以帮助理解这个概念
面向什么就是对什么做封装
面向对象就是对对象做封装
面向服务类似,剩下的靠悟性
反射
1.4新增功能,非常强大
通过反射,程序可以解析出类本身的属性也就是变量
//注意这里说的属性不是.net里面的属性,我不喜欢微软造的新名词,乱
还有行为也就是方法,然后通过invoke()方法调用该方法
甚至可以新增对象等,java首创,本是其它语言所没有的
后来被微软抄了去,利用该功能,开源框架广泛受益并大量采用,近乎疯狂地使用
具体就不说了,最后要指出的是,有一种说法是利用反射会降低效率
在早期的时候,的确是,现在不会了,放心使用
容器
5.0以后的版本在J2SE中都出现了容器
各位甚至可以自己尝试用标准库去使用容器
推荐网站
www.iteye.com //java视线论坛,Hibernate国内的权威
dev2dev.bea.com //bea的dev2dev社区,用WebLogic首选的好去处
www-128.ibm.com/developerworks //ibm developer works社区,ibm产品的老家
www.jdon.com //j道,Jboss国内相对讨论会多一点的地方,有自己的框架
www.matrix.org.cn //matrix,有自己的框架,很清新的论坛
jcp.org //JCP,前面说到过了
sourceforge.net //开源的东西几乎这里都可以找到,除java外还有游戏共享等
saloon.javaranch.com //我常去,人气不错
www.apache.org //阿帕奇老家
www.jboss.com //Jboss和Hibernate老家
www.springframework.org //Spring老家
www.wiki.org //非常好的百科站点,可惜国内被封,创始人加入了Eclipse zone
www.google.com //你要的这里有,不信?输入关键字再按一下那个靠左的白色按钮试试
书籍
《Thinking in Java》 //实话说,一般,尤其是翻译后的版本,原版还行
《Java教程》 //电子工业出版社出版的那本,上下册,很厚,但翻译得不错
《21天学通Java》 //入门极好,但是《21天学通j2ee》极烂,不要买
《Mastering EJB》 //翻译过的书质量我不清楚,估计不怎样,请看原版书籍
《精通Hibernate》 //看清楚作者,孙卫琴,其它人的别买
其它的可以不用了,网络上的远比书上来得多,来得好,虽然也来得杂
最后的建议
一,不要做一个浮躁的人
二,学好英语,很重要
三,阅读源代码和文档
四,共享源代码,不要做一个功利的人
五,热爱Java
发表评论
-
java的InputStream和OutputStream的理解【转】
2015-11-09 18:10 654原文地址:http://www.cnblogs.com/spr ... -
【JSP】让HTML和JSP页面不缓存的方法
2015-10-14 10:16 487原文地址:http://blog.csdn.net/juebl ... -
jsp去掉浏览器缓存
2015-10-14 09:21 629原文地址:http://bbs.csdn.net/topics ... -
Spring定时任务的几种实现
2015-09-17 18:02 392原文地址:http://gong1208.iteye.com/ ... -
Java 8 简明教程
2015-08-31 17:43 357原文地址:http://www.iteye.com/magaz ... -
Java 8 简明教程
2015-08-28 15:30 564原文地址:http://www.iteye.com/magaz ... -
Spring 3.0 注解注入详解
2015-08-20 12:01 518原文地址:http://developer.51cto.com ... -
Apache所有项目介绍
2015-08-20 11:47 960原文地址:http://haisha.iteye.com/bl ... -
jdk5.0新特性介绍
2015-08-04 18:08 468原文地址:http://blog.sina.com.cn/s/ ... -
Apache Log4j配置说明
2015-05-18 15:59 428原文地址:http://zhangjunh ... -
ubuntu 14.04 下通过apt-get 安装jdk
2015-04-09 16:42 712原文地址:http://segmentfault.com/a/ ... -
【原创】Eclipse Class Decompiler——Java反编译插件
2015-04-01 15:00 613原文地址:http://www.blogj ... -
jvisualvm远程监控Tomcat
2015-03-06 10:19 719原文地址:http://ihuangweiwei.iteye. ... -
Java 并发核心编程
2015-01-08 18:07 622原文地址:http://www.cnblogs.com/see ... -
log4j日志文件乱码问题的解决方法
2015-01-06 18:11 828原文地址:http://blog.csdn.net/inkfi ... -
SHA1与MD5
2014-12-22 15:31 618原文地址:http://blog.csdn.net/fogle ... -
征服 Redis + Jedis
2014-12-19 13:51 399原文地址:http://snowolf.iteye.com/b ... -
Java连接redis的使用示例
2014-12-19 12:08 1079原文地址:http://blog.csdn.net/wgw33 ... -
java对redis的基本操作
2014-12-19 12:07 587原文地址:http://www.cnblogs.com/edi ... -
Eclipse Class Decompiler——Java反编译插件
2014-10-16 11:02 471原文地址:http://bbs.csdn. ...
相关推荐
### Java初学者指南:从零开始到项目实战 #### 一、Java简介与特性 Java是一种广泛使用的高级编程语言,自1995年由Sun Microsystems公司发布以来,因其跨平台性和安全性等特点,迅速成为了企业级应用开发的重要...
一个牛人给java初学者的建议 .doc
一个牛人给java初学者的建议,对初学者有很好的指导作用
下面小编就为大家带来一篇一个牛人给Java初学者的建议(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
### 一个牛人给JAVA初学者的建议 #### 核心知识点概述 本文将深入探讨一位资深Java开发者为初学者提供的宝贵建议。这些观点不仅基于作者个人的学习经历,还结合了对当前Java学习环境中普遍存在的问题的理解。我们...
给初学者之一:浅谈java及应用 学java 不知不觉也已经三年了 从不知java 为何物到现在一个小小的j2ee 项目经理 虽说不上此道高手,大概也算有点斤两了吧 每次上网,泡bbs逛论坛,没少去java 相关的版面 总体感觉初学...
牛人给Java初学者的建议.zip 。
对于Java初学者,建议从以下几个方面入手学习: 1. 基础语法:理解类、对象、继承、接口、封装等面向对象概念,并学习基本的数据类型、控制流、异常处理等基础语法。 2. 核心API:熟悉Java标准库,如集合框架、...
### 一个牛人给Java初学者的建议 #### 一、Java简介与应用领域 Java是一种面向对象的编程语言,自1995年Sun Microsystems公司发布以来,迅速成为全球最受欢迎的编程语言之一。与其他语言相比,Java具有高度的安全...