看到一个帖子说阿里巴巴招聘启示:无视一切只会SSH而对底层实现原理一无所知的人。大家对于底层实现原理有没有进入深入学习?学习的方法或资料有哪些?

解决方案 »

  1.   

    反射 动态代理  本地线程 标签  orm映射  数据库连接池 本地缓存等  等原理
      

  2.   

    http://topic.csdn.net/u/20101203/12/c71b6bda-c8a5-45a4-b74d-fcca9913e384.html中的SuperCodingMan的发言。并不是一个专门的帖子。
      

  3.   

    java虚拟机规范 第二版必须得看的嘛
      

  4.   

    现在看的   深入JAVA虚拟机,但暂时感觉和SSH底层原理的关系不大啊。
      

  5.   

    lz说的底层原理未必是ssh的底层原理。java也不是只有ssh。
      

  6.   

    感觉现在用ServletAPI的都不是很多了啊~
      

  7.   

    对于 SSH 我一向是这样的观点(下面这段话已经在很多个帖子中回复了),但是基本上没有人看!在使用 Struts 等 MVC 框架之前,我认为应该先掌握:* 了解 application, session, request, page 四种范围的特点,以及使用时的注意事项
    * 熟练使用 Servlet,以及 Servlet 相关的 Filter、Listener 等
    * 使用 Servlet + JSP + JDBC 至少做过一个有 10 个功能的应用
    * 了解前端控制器、视图助手、组合视图、分配器视图等 J2EE 中涉及视图层的模式在使用 Hibernate 等 ORM 框架之前,应是相当熟悉 JDBC 操作,并且知道一些理论性东西:* 使用 JDBC 的时候,是否使用了数据库连接池,如何使用开源的数据库连接池?
    * JDBC 中的行集(RowSet)是做什么用的?
    * JDBC 如何实现对象/关系映射,也就是 O/R Mapping
    * 为什么 JDBC 规范推荐首选从 DataSource 中获得数据库连接对象(JDBC 4.0 Specification, p.51.),
      而不是首选从 DriverManager 中获得连接对象?
    * 使用 DriverManager 获得连接对象时,虽然从实现 JDBC 4.0 规范的驱动程序开始,不需要使用
      Class.forName("xxx.xxx.xxx.Driver"); 了,但我们也有必要了解一下这句话的作用是什么?
    * 单纯地使用 JDBC 时如何实现低耦合性的事务管理?也就是说事务边界在业务层,一个业务层调用
      多个数据库操作的方法完成一个事务,在这种情况下如何进行事务控制? 在使用 Spring 等 IoC 框架之前,我认为应先掌握:* 熟练地使用 JAXP、jdom, dom4j 等工具解析/生成 XML 文件,并能使用 XPath 进行 XML 查找
    * 掌握 Java 中的反射,以及 JavaBeans 规范中的内省类,了解 JavaBeans 规范对于方法名、属性
      的要求(别看这个很简单,实际上很少有人知道)
    * 了解 JDK 的动态代理和 Cglib 的动态代理,了解 JDK 动态代理的限制,以及与 Cglib 动态代理
      的优缺点,并且了解一下动态代理是做什么用的
    * 熟练地使用日志工具,比如:JDK 日志工具、log4j 工具等,以及在使用时需要注意些什么
    * 能善于使用开源框架中已经实现的东西,比如 Apache Commons 中很多实用的方法,像实现了 LRU
      算法的 Map 等等之类的
      

  8.   

    若底层了解的非常清楚,应用层根本不成问题
    就像java基础不熟就ssh需要好几个月,熟练的只要一周可能不到
      

  9.   

    其实,对于开源框架,不仅仅是使用,当然了,你首先得会灵活运用框架为你所工作。
    然后,会用了,就要深入研究框架的源码
    看源码能使人进步很多
    然后是研究java底层的东西