数据结构栈的知识_数据知识栈

数据结构栈的知识

并发不适合胆小者

我们都知道并发编程很难正确实现。 这就是为什么在执行线程任务之后要进行大量的设计和代码审查会议。

您永远不会将并发问题分配给经验不足的开发人员。 仔细分析问题空间,提出设计,并记录和审查解决方案。

这就是通常处理线程相关任务的方式。 您自然会选择更高级别的抽象,因为您不想陷入低级细节中。 这就是为什么java.util.concurrent通常比手工生产者/消费者Java 1.2风格的线程安全结构更好(除非您构建了高频交易系统)。

数据库编程有什么不同吗?

在数据库系统中,数据分布在各种结构(SQL表或NoSQL集合)中,并且多个用户可以选择/插入/更新/删除他们选择的任何内容。 从并发的角度来看,这是一项非常具有挑战性的任务,而不仅仅是数据库系统开发人员的问题。 这也是我们的问题。

典型的RDBMS数据层需要您掌握各种技术,而您的解决方案仅能与您团队的最薄弱环节一样强大。

成功秘诀

当涉及到数据库编程时,您永远都不应从未受过训练。 不断学习是您最好的武器,没有其他方法。

为此,我想出了自己的数据知识堆栈:

数据栈

在升级到上层之前,您应该始终掌握下层。

因此,这些是驯服数据层的黄金法则:

  • 数据库手册不仅适用于数据库管理员。如果您正在执行任何与数据库相关的任务,那么阅读当前的数据库手册不是可选的。 您应该熟悉SQL标准和数据库特定的特征。 摆脱SQL-92思维定式 。 不要让可移植性的恐惧使您拒绝高效的数据库特定功能。 最终,由于数据库层太慢,最终比将已经在运行的系统移植到新的数据库解决方案更常见。
  • 完整阅读“ 企业应用程序体系结构的模式 ”,我将为您提供出色的投资技巧。 您距离了解任何可用的ORM工具的核心概念还差50美元。 马丁·福勒Martin Fowler )的书对于任何企业开发人员都是必不可少的。 在线模式目录是一个很好的预告片。
  • 阅读您的ORM文档有些人认为他们的ORM工具是万恶之源。 除非您花时间阅读所有可用的文档,否则,将很难驯服ORM数据层。 关系不匹配的对象一直是一个非常复杂的问题,但是它简化了复杂对象树结构的CREATE / UPDATE / DELETE操作。 ORM的乐观锁定功能是解决“丢失的更新”问题的好方法
  • 选择和混合 JPA / Hibernate不能替代SQL。 您应该充分利用JPA和SQL,并将它们组合成一个成功的解决方案。 因为SQL在任何非平凡的应用程序中都是不可避免的,所以明智的做法是花一些时间(可能还需要许可证)来使用功能强大的查询框架 。 如果您担心数据库的可移植性使您无法使用专有的数据库查询功能,那么JPA / JOOQ混合泳是成功的秘诀。

Hibernate大师班

我已经使用Hibernate已有将近十年了,我承认这并不是一件容易的事。 每天都会出现与StackOverflow Hibernate相关的问题。

这就是为什么我决定提出自己的Hibernate材料(我将在此博客和GitHub帐户上共享)的原因,因为如果您愿意花费时间来学习它,那么您就不必为自己的努力而付费。 对于那些需要密集且个性化的Hibernate Master培训的人,请随时与我联系。 我们将找到一种方法来培训您。

翻译自: https://www.javacodegeeks.com/2014/06/the-data-knowledge-stack.html

数据结构栈的知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值