w***g 发帖数: 5958 | 1 哪些是经典而且重要的,哪些是过时的,哪些是将来的方向。如果光读书的话往往会浪
费时间在已经过时的东西上。要是有你这种经验丰富的牛人给指点指点我们后进同学学
起来也有个方向。 |
W***o 发帖数: 6519 | 2 好问题,围观一下
【在 w***g 的大作中提到】 : 哪些是经典而且重要的,哪些是过时的,哪些是将来的方向。如果光读书的话往往会浪 : 费时间在已经过时的东西上。要是有你这种经验丰富的牛人给指点指点我们后进同学学 : 起来也有个方向。
|
d****i 发帖数: 4809 | 3 大牛你哪里需要学java? 难道不是自动就会吗?
【在 w***g 的大作中提到】 : 哪些是经典而且重要的,哪些是过时的,哪些是将来的方向。如果光读书的话往往会浪 : 费时间在已经过时的东西上。要是有你这种经验丰富的牛人给指点指点我们后进同学学 : 起来也有个方向。
|
m********s 发帖数: 55301 | 4 和客户搞好关系。
熟悉预算是怎么产生的。
了解资金是如何被批准的。
【在 w***g 的大作中提到】 : 哪些是经典而且重要的,哪些是过时的,哪些是将来的方向。如果光读书的话往往会浪 : 费时间在已经过时的东西上。要是有你这种经验丰富的牛人给指点指点我们后进同学学 : 起来也有个方向。
|
g*****g 发帖数: 34805 | 5 其实MarinSR总结得很好。
Java SE: Core Java, 非AWT的部分,Swing可以了解一下。
Multithread: Java Concurrency in Practice 这本书比较难,但对中高级程序员和面
试有用。
Java EE: Spring MVC, Spring core (IOC+AOP), Hibernate (or Spring data).
这三个架构是企业应用里最具代表性的3层架构,我以前读过spring in action,
hibernate in action,那是大约10年前了,可能有更好的书。
接下来常用的utility类库是Google Guava, Apache commons. Rest类库Jersey.
熟悉这些做个合格的java程序员够了,接下来就是根据你的方向去熟悉相关类库了。外
延的东西太多,用不到的学了也记不住。
【在 w***g 的大作中提到】 : 哪些是经典而且重要的,哪些是过时的,哪些是将来的方向。如果光读书的话往往会浪 : 费时间在已经过时的东西上。要是有你这种经验丰富的牛人给指点指点我们后进同学学 : 起来也有个方向。
|
s****y 发帖数: 503 | |
w****6 发帖数: 796 | |
l********s 发帖数: 358 | 8 Goodbug能不能帮忙解释下Spring, Hibernate和Tomcat, JBoss, Glassfish有什么区别
?我只知道Tomcat, JBoss是基于Java Serlet的。我主要想知道哪些应用适合Spring,
Hibernate,哪些应用适合Tomcat, JBoss, Glassfish?还是Tomcat, JBoss正逐渐被取
代?
谢谢! |
g*****g 发帖数: 34805 | 9 Spring is now a swiss army knife and it is a bundle of frameworks. Without
context it's usually referring to Spring core which consists of IoC and some
utility classes, and Spring AOP, this provides what you need for the
service layer support in a J2EE architecture without the need of a J2EE
server. Hibernate is an ORM framework which provides persistence layer
support layer support without a J2EE server. Spring Data is similar to
Hibernate. Spring and Hibernate can run in and out of any container.
JBoss and Glassfish are full-fledge J2EE servers that aint' so popular
nowadays. Tomcat is a web app server, i.e. support servlet/jsp but not EJB.
It's still the dominant server in the industry since spring/hibernate
replace EJB well and this is the light-weight approach.
,
【在 l********s 的大作中提到】 : Goodbug能不能帮忙解释下Spring, Hibernate和Tomcat, JBoss, Glassfish有什么区别 : ?我只知道Tomcat, JBoss是基于Java Serlet的。我主要想知道哪些应用适合Spring, : Hibernate,哪些应用适合Tomcat, JBoss, Glassfish?还是Tomcat, JBoss正逐渐被取 : 代? : 谢谢!
|
g****t 发帖数: 31659 | 10 没有Java for android?
面试有用。 |
|
|
g*****g 发帖数: 34805 | 11 Android我没写过,不敢瞎说,我只做过 swing和 SWT。不过 UI的东西一般不难。
【在 g****t 的大作中提到】 : 没有Java for android? : : 面试有用。
|
c********1 发帖数: 421 | 12 NB
【在 g*****g 的大作中提到】 : 其实MarinSR总结得很好。 : Java SE: Core Java, 非AWT的部分,Swing可以了解一下。 : Multithread: Java Concurrency in Practice 这本书比较难,但对中高级程序员和面 : 试有用。 : Java EE: Spring MVC, Spring core (IOC+AOP), Hibernate (or Spring data). : 这三个架构是企业应用里最具代表性的3层架构,我以前读过spring in action, : hibernate in action,那是大约10年前了,可能有更好的书。 : 接下来常用的utility类库是Google Guava, Apache commons. Rest类库Jersey. : 熟悉这些做个合格的java程序员够了,接下来就是根据你的方向去熟悉相关类库了。外 : 延的东西太多,用不到的学了也记不住。
|
w***g 发帖数: 5958 | 13 我看网上说系统一做大,数据库一复杂,hibernate反而会拖后腿。网上有那么一批人
更喜欢用jdbc。这个您怎么看?我用django的ORM,也有需要手工打patch的地方,但总
的说来还是用得挺爽。不知道这个是hibernate的问题还是ORM的问题。
【在 g*****g 的大作中提到】 : 其实MarinSR总结得很好。 : Java SE: Core Java, 非AWT的部分,Swing可以了解一下。 : Multithread: Java Concurrency in Practice 这本书比较难,但对中高级程序员和面 : 试有用。 : Java EE: Spring MVC, Spring core (IOC+AOP), Hibernate (or Spring data). : 这三个架构是企业应用里最具代表性的3层架构,我以前读过spring in action, : hibernate in action,那是大约10年前了,可能有更好的书。 : 接下来常用的utility类库是Google Guava, Apache commons. Rest类库Jersey. : 熟悉这些做个合格的java程序员够了,接下来就是根据你的方向去熟悉相关类库了。外 : 延的东西太多,用不到的学了也记不住。
|
d****i 发帖数: 4809 | 14 大牛,我的个人经验:我ORM和JDBC都用过,我跟喜欢JDBC,或者确切的说Spring JDBC
,因为JDBC让你更体会到用SQL的灵活而不用受ORM框架的束缚。有个笑话说:
Hibernate等ORM是给不会SQL的Java程序员用的,实际上是脱裤子放屁,多此一举。当
然这个是说得是偏颇了,但是JDBC因为直接对数据库操作,所以速度更快更直接更底层
。但是ORM的好处是,Database independent,你可以用不同的DB而用同一套ORM框架。
ORM实际上底层还是JDBC,掩盖了不同DB间的差异。
【在 w***g 的大作中提到】 : 我看网上说系统一做大,数据库一复杂,hibernate反而会拖后腿。网上有那么一批人 : 更喜欢用jdbc。这个您怎么看?我用django的ORM,也有需要手工打patch的地方,但总 : 的说来还是用得挺爽。不知道这个是hibernate的问题还是ORM的问题。
|
N*****m 发帖数: 42603 | 15 建议用mybatis,独立于数据库,又能对数据库操作
JDBC
【在 d****i 的大作中提到】 : 大牛,我的个人经验:我ORM和JDBC都用过,我跟喜欢JDBC,或者确切的说Spring JDBC : ,因为JDBC让你更体会到用SQL的灵活而不用受ORM框架的束缚。有个笑话说: : Hibernate等ORM是给不会SQL的Java程序员用的,实际上是脱裤子放屁,多此一举。当 : 然这个是说得是偏颇了,但是JDBC因为直接对数据库操作,所以速度更快更直接更底层 : 。但是ORM的好处是,Database independent,你可以用不同的DB而用同一套ORM框架。 : ORM实际上底层还是JDBC,掩盖了不同DB间的差异。
|
d****i 发帖数: 4809 | 16 对了,忘了提了,你可以看看Spring Data JPA,这个比传统的ORM还要简单好用,这个
是goodbug推荐的。我刚看了一点。
【在 w***g 的大作中提到】 : 我看网上说系统一做大,数据库一复杂,hibernate反而会拖后腿。网上有那么一批人 : 更喜欢用jdbc。这个您怎么看?我用django的ORM,也有需要手工打patch的地方,但总 : 的说来还是用得挺爽。不知道这个是hibernate的问题还是ORM的问题。
|
w***g 发帖数: 5958 | 17 看了一眼,确实很牛。
【在 d****i 的大作中提到】 : 对了,忘了提了,你可以看看Spring Data JPA,这个比传统的ORM还要简单好用,这个 : 是goodbug推荐的。我刚看了一点。
|
g*****g 发帖数: 34805 | 18 你要重现检视的是ORM这个词。O是躲不掉的,只要你用R,M就躲不掉。区别只在于
mapping是怎么实现的。ORM架构的主要目的是帮助你减少boiler plate代码,简化开发
。另一方面手写越多,灵活度越高,这是没有争议的。Spring jdbc也好,hibernate,
小轮子大轮子的区别,没有好坏的差异,区别在于使用的人。这两者本来就不是互斥的
,你大可以混合使用。JPA对于简单的关系很方便,Spring Data更是把这个做到了极致
,把缺省的CRUD都给你做了。当关系很复杂,比如你join了N个table还要group by的时
候,觉得spring jdbc template更方便很正常。
另一方面,当你觉得JPA不好用的时候,往往需要重新审视你的数据。最常见的原因是
因为速度的需要,为了减少join,大量denormalize。这是传统的做法,但不是唯一的
解决方案,往往不是最好的解决方案。如果纯粹为了减少join,可以考虑Elastic
Search,把整个object扔进去,而且搜索更强大。如果是表太大,不能忍受JPA产生的
query不是最优,也许Cassandra之类的NoSQL更合适这个表。如果是运行时产生了大量
中间数据,也许应该考虑MemCached。总之,数据有不同特性,让轮子去适应数据,而
不是让数据去适应轮子,才是写高性能分布式应用的核心。
JDBC
【在 d****i 的大作中提到】 : 大牛,我的个人经验:我ORM和JDBC都用过,我跟喜欢JDBC,或者确切的说Spring JDBC : ,因为JDBC让你更体会到用SQL的灵活而不用受ORM框架的束缚。有个笑话说: : Hibernate等ORM是给不会SQL的Java程序员用的,实际上是脱裤子放屁,多此一举。当 : 然这个是说得是偏颇了,但是JDBC因为直接对数据库操作,所以速度更快更直接更底层 : 。但是ORM的好处是,Database independent,你可以用不同的DB而用同一套ORM框架。 : ORM实际上底层还是JDBC,掩盖了不同DB间的差异。
|
s***o 发帖数: 2191 | 19 Commons DBUtils 在”real world scenario“中应用的多吗?
【在 g*****g 的大作中提到】 : 你要重现检视的是ORM这个词。O是躲不掉的,只要你用R,M就躲不掉。区别只在于 : mapping是怎么实现的。ORM架构的主要目的是帮助你减少boiler plate代码,简化开发 : 。另一方面手写越多,灵活度越高,这是没有争议的。Spring jdbc也好,hibernate, : 小轮子大轮子的区别,没有好坏的差异,区别在于使用的人。这两者本来就不是互斥的 : ,你大可以混合使用。JPA对于简单的关系很方便,Spring Data更是把这个做到了极致 : ,把缺省的CRUD都给你做了。当关系很复杂,比如你join了N个table还要group by的时 : 候,觉得spring jdbc template更方便很正常。 : 另一方面,当你觉得JPA不好用的时候,往往需要重新审视你的数据。最常见的原因是 : 因为速度的需要,为了减少join,大量denormalize。这是传统的做法,但不是唯一的 : 解决方案,往往不是最好的解决方案。如果纯粹为了减少join,可以考虑Elastic
|
c******o 发帖数: 1277 | 20 嗯,赞
我现在觉得复杂的还是sql/nosql/newsql一起用好。
【在 g*****g 的大作中提到】 : 你要重现检视的是ORM这个词。O是躲不掉的,只要你用R,M就躲不掉。区别只在于 : mapping是怎么实现的。ORM架构的主要目的是帮助你减少boiler plate代码,简化开发 : 。另一方面手写越多,灵活度越高,这是没有争议的。Spring jdbc也好,hibernate, : 小轮子大轮子的区别,没有好坏的差异,区别在于使用的人。这两者本来就不是互斥的 : ,你大可以混合使用。JPA对于简单的关系很方便,Spring Data更是把这个做到了极致 : ,把缺省的CRUD都给你做了。当关系很复杂,比如你join了N个table还要group by的时 : 候,觉得spring jdbc template更方便很正常。 : 另一方面,当你觉得JPA不好用的时候,往往需要重新审视你的数据。最常见的原因是 : 因为速度的需要,为了减少join,大量denormalize。这是传统的做法,但不是唯一的 : 解决方案,往往不是最好的解决方案。如果纯粹为了减少join,可以考虑Elastic
|
|
|
d****i 发帖数: 4809 | 21 赞一个,说得不错。这个才是什么情况最合适用什么工具的最佳体现。
【在 g*****g 的大作中提到】 : 你要重现检视的是ORM这个词。O是躲不掉的,只要你用R,M就躲不掉。区别只在于 : mapping是怎么实现的。ORM架构的主要目的是帮助你减少boiler plate代码,简化开发 : 。另一方面手写越多,灵活度越高,这是没有争议的。Spring jdbc也好,hibernate, : 小轮子大轮子的区别,没有好坏的差异,区别在于使用的人。这两者本来就不是互斥的 : ,你大可以混合使用。JPA对于简单的关系很方便,Spring Data更是把这个做到了极致 : ,把缺省的CRUD都给你做了。当关系很复杂,比如你join了N个table还要group by的时 : 候,觉得spring jdbc template更方便很正常。 : 另一方面,当你觉得JPA不好用的时候,往往需要重新审视你的数据。最常见的原因是 : 因为速度的需要,为了减少join,大量denormalize。这是传统的做法,但不是唯一的 : 解决方案,往往不是最好的解决方案。如果纯粹为了减少join,可以考虑Elastic
|
g*****g 发帖数: 34805 | 22 这个不熟悉,应该跟spring jdbc template很相似。如果不用spring的话也许是个不错
的选择。
【在 s***o 的大作中提到】 : Commons DBUtils 在”real world scenario“中应用的多吗?
|
d********f 发帖数: 43471 | 23 java什么时候变成程序员的title了?
【在 g*****g 的大作中提到】 : 其实MarinSR总结得很好。 : Java SE: Core Java, 非AWT的部分,Swing可以了解一下。 : Multithread: Java Concurrency in Practice 这本书比较难,但对中高级程序员和面 : 试有用。 : Java EE: Spring MVC, Spring core (IOC+AOP), Hibernate (or Spring data). : 这三个架构是企业应用里最具代表性的3层架构,我以前读过spring in action, : hibernate in action,那是大约10年前了,可能有更好的书。 : 接下来常用的utility类库是Google Guava, Apache commons. Rest类库Jersey. : 熟悉这些做个合格的java程序员够了,接下来就是根据你的方向去熟悉相关类库了。外 : 延的东西太多,用不到的学了也记不住。
|
c***d 发帖数: 996 | 24 赞干货。
觉得后台发展好慢, 这几年算是滞后了, 令人兴奋的应用创新大都在前端。
【在 g*****g 的大作中提到】 : 你要重现检视的是ORM这个词。O是躲不掉的,只要你用R,M就躲不掉。区别只在于 : mapping是怎么实现的。ORM架构的主要目的是帮助你减少boiler plate代码,简化开发 : 。另一方面手写越多,灵活度越高,这是没有争议的。Spring jdbc也好,hibernate, : 小轮子大轮子的区别,没有好坏的差异,区别在于使用的人。这两者本来就不是互斥的 : ,你大可以混合使用。JPA对于简单的关系很方便,Spring Data更是把这个做到了极致 : ,把缺省的CRUD都给你做了。当关系很复杂,比如你join了N个table还要group by的时 : 候,觉得spring jdbc template更方便很正常。 : 另一方面,当你觉得JPA不好用的时候,往往需要重新审视你的数据。最常见的原因是 : 因为速度的需要,为了减少join,大量denormalize。这是传统的做法,但不是唯一的 : 解决方案,往往不是最好的解决方案。如果纯粹为了减少join,可以考虑Elastic
|
w****6 发帖数: 796 | 25 goodbug 有想过开周末或短期快速(类似于bootcamp) Java EE 培训班
吗,利己利民。
学费太贵了上不起,但 1-2k 愿意交 depending on the training level。 |
g*****g 发帖数: 34805 | 26 这个还是算了吧,解答问题跟系统教课是两回事。教得不好还被人骂。
【在 w****6 的大作中提到】 : goodbug 有想过开周末或短期快速(类似于bootcamp) Java EE 培训班 : 吗,利己利民。 : 学费太贵了上不起,但 1-2k 愿意交 depending on the training level。
|
S**I 发帖数: 15689 | 27 那还不如直接开CCC;好虫授课的CCC肯定比ICC有质量保证。:)
【在 w****6 的大作中提到】 : goodbug 有想过开周末或短期快速(类似于bootcamp) Java EE 培训班 : 吗,利己利民。 : 学费太贵了上不起,但 1-2k 愿意交 depending on the training level。
|
w******w 发帖数: 126 | |
h***n 发帖数: 1600 | 29 问一下,是不是core java学完了,不需要学一下J2EE或其他的来过渡,就可以直接找
一本spring的书看,就能看懂了? |
g*****g 发帖数: 34805 | 30 对。Spring的设计初衷就是个简化版的J2EE。到EJB3的时候EJB反过来抄Spring和
Hibernate。
而Spring也模块化越来越大,变成了一堆的类库。
从今天的角度来说,可以说Spring更强大更灵活更主流,反而EJB3更简单。
【在 h***n 的大作中提到】 : 问一下,是不是core java学完了,不需要学一下J2EE或其他的来过渡,就可以直接找 : 一本spring的书看,就能看懂了?
|
|
|
d***n 发帖数: 832 | |
h***n 发帖数: 1600 | 32 Goodbug很热心啊!我看了一下,你推荐的那本spring书和 Spring Recipes,在amazon
上评价是比较好的,可惜都是spring 3。spring3 和spring4 到底有多大差别?是不是
现在应该看spring 4的书了?
【在 g*****g 的大作中提到】 : 对。Spring的设计初衷就是个简化版的J2EE。到EJB3的时候EJB反过来抄Spring和 : Hibernate。 : 而Spring也模块化越来越大,变成了一堆的类库。 : 从今天的角度来说,可以说Spring更强大更灵活更主流,反而EJB3更简单。
|
g*****g 发帖数: 34805 | 33 没用过spring 4, 主流应该还是3.2, 4估计也差不多。
amazon
【在 h***n 的大作中提到】 : Goodbug很热心啊!我看了一下,你推荐的那本spring书和 Spring Recipes,在amazon : 上评价是比较好的,可惜都是spring 3。spring3 和spring4 到底有多大差别?是不是 : 现在应该看spring 4的书了?
|
h***n 发帖数: 1600 | 34 谢谢!
【在 g*****g 的大作中提到】 : 没用过spring 4, 主流应该还是3.2, 4估计也差不多。 : : amazon
|
c*********e 发帖数: 16335 | 35 en,我朋友公司,全部用的stored procedure,没用orm.一个数据库里有好多的stored
procedure.
【在 g*****g 的大作中提到】 : 你要重现检视的是ORM这个词。O是躲不掉的,只要你用R,M就躲不掉。区别只在于 : mapping是怎么实现的。ORM架构的主要目的是帮助你减少boiler plate代码,简化开发 : 。另一方面手写越多,灵活度越高,这是没有争议的。Spring jdbc也好,hibernate, : 小轮子大轮子的区别,没有好坏的差异,区别在于使用的人。这两者本来就不是互斥的 : ,你大可以混合使用。JPA对于简单的关系很方便,Spring Data更是把这个做到了极致 : ,把缺省的CRUD都给你做了。当关系很复杂,比如你join了N个table还要group by的时 : 候,觉得spring jdbc template更方便很正常。 : 另一方面,当你觉得JPA不好用的时候,往往需要重新审视你的数据。最常见的原因是 : 因为速度的需要,为了减少join,大量denormalize。这是传统的做法,但不是唯一的 : 解决方案,往往不是最好的解决方案。如果纯粹为了减少join,可以考虑Elastic
|
c********1 发帖数: 421 | 36 全部用的stored procedure其实是一种nightmare
【在 c*********e 的大作中提到】 : en,我朋友公司,全部用的stored procedure,没用orm.一个数据库里有好多的stored : procedure.
|
w**z 发帖数: 8232 | 37 只要不打算换DB, 就还行吧。
【在 c********1 的大作中提到】 : 全部用的stored procedure其实是一种nightmare
|
z****e 发帖数: 54598 | 38 oracle license fee很贵啊
【在 w**z 的大作中提到】 : 只要不打算换DB, 就还行吧。
|
z****e 发帖数: 54598 | 39 你一搞数据的
古德霸说的那些可能关联不是非常大
尤其是hibernate,spring,这两个跟你啥关系?
hibernate你需要写orm去crud数据么?
spring跟你也未必有很大关系
你应该优先考虑cassandra和spark
这两个跟你的关联最大
其次是hdfs这些
尤其是spark以后会有sql和ml的pkg
这两个才跟你对接得比较紧密
【在 w***g 的大作中提到】 : 哪些是经典而且重要的,哪些是过时的,哪些是将来的方向。如果光读书的话往往会浪 : 费时间在已经过时的东西上。要是有你这种经验丰富的牛人给指点指点我们后进同学学 : 起来也有个方向。
|
z****e 发帖数: 54598 | 40 不用看,直接把db干掉
用nosql+newsql的组合
这样就不用jdbc也不用hibernate了
现在db里面数据都很工整,也没啥你发挥的空间
【在 w***g 的大作中提到】 : 我看网上说系统一做大,数据库一复杂,hibernate反而会拖后腿。网上有那么一批人 : 更喜欢用jdbc。这个您怎么看?我用django的ORM,也有需要手工打patch的地方,但总 : 的说来还是用得挺爽。不知道这个是hibernate的问题还是ORM的问题。
|
|
|
z****e 发帖数: 54598 | 41 nosql+newsql,应该以后都会转成这两个
sql作为备用,主要是newsql现在发展还不成熟
有时候不敢太激进,还是用postgresql
oracle,mysql现在慢慢不用了
【在 c******o 的大作中提到】 : 嗯,赞 : 我现在觉得复杂的还是sql/nosql/newsql一起用好。
|
z****e 发帖数: 54598 | 42 但是要用ejb,不得不接收其他一大坨,jca那些
就很麻烦,red hat有一个project说要把j2ee各个components拆开
然后自由选择搭配,不知道现在怎样了,是夭折还是怎么回事,不懂
目前看vert.x最简单,对java,尤其是jvm以上结构比较熟悉的话
vert.x搞起来很容易,至少学习成本比wildfly要低很多
而且module想怎么搞就怎么搞
【在 g*****g 的大作中提到】 : 对。Spring的设计初衷就是个简化版的J2EE。到EJB3的时候EJB反过来抄Spring和 : Hibernate。 : 而Spring也模块化越来越大,变成了一堆的类库。 : 从今天的角度来说,可以说Spring更强大更灵活更主流,反而EJB3更简单。
|
w***g 发帖数: 5958 | 43 我想了解一下行情,说不定那天需要写网站。如果正好找到个用java的team也可以
pickup。很多事情上想让别人适应你很难,所以要保持自己的灵活性。
【在 z****e 的大作中提到】 : 你一搞数据的 : 古德霸说的那些可能关联不是非常大 : 尤其是hibernate,spring,这两个跟你啥关系? : hibernate你需要写orm去crud数据么? : spring跟你也未必有很大关系 : 你应该优先考虑cassandra和spark : 这两个跟你的关联最大 : 其次是hdfs这些 : 尤其是spark以后会有sql和ml的pkg : 这两个才跟你对接得比较紧密
|