阿里巴巴地址异常必须处理吗?
在处理阿里巴巴地址异常时,捕获异常的初衷是为了处理它。因此,如果您的应用程序捕获了这种异常,那么最好不要什么都不处理而抛弃之。如果不想处理这个异常,建议将该异常抛给它的调用者。最外层的业务使用者必须处理这种异常,将其转化为用户可以理解为的内容。这是遵循阿里巴巴《java 开发手册》中关于异常处理的推荐。
为什么阿里巴巴Java开发手册里要求禁止使用存储过程?
存储过程不好移植,如果数据库换了,肯定需要爱重写。单纯的SQL语句一般不用
存储过程不好维护。现在业务逻辑复杂,如果逻辑分散在存储过程和后台程序里先,得关注两部分
存储过程,最早的概念据我推断是来自于oracle,最早oracle是只有函数的概念,依稀记得是oracle8还是9才加的存储过程package的概念,用于解决函数过于碎片化、不具备复杂的多逻辑功能,同时便于文件管理加入的概念。到后期基本所有数据库也都有了存储过程,如:mysql,sybase等。
存储过程是基于数据库底层的语法,与数据库是相互依存的,且各个类型数据库语法都不一样。
JAVA语言在很大一部分的优势就是为了解耦合和可移植性,所以也有经典的dao模式,目的也就是把数据库和业务层分开。如果直接调用存储过程,混淆了业务和数据库分层,打破了J***a模式设计的初衷。而且,如果用存储过程写,比如原来用Oracle数据库,现在客户要求改成免费的Mysql数据库,意味着基本所有的存储过程全部要重写,基本不具备可移植性。
当然,万事没有绝对。阿里的整套体系庞大,数据库的能力强大,中间件的主机也足够横向扩展。像我们一般的项目没那么多的主机和算力可搭配,有时碰上复杂的报表或复杂的逻辑,也不得不借用数据库存储过程来实现。
一般来说,项目上数据库主机的配置比web主机相对强大得多,且存储过程在数据库操作逻辑上天然的快,在web主机不能横向扩展的情况下,也只能借用存储过程来实现。当然,用存储过程来处理也是占比很少,逼不得已情况下才使用。
存储过程不利于移植,受数据库限制,而且阿里巴巴都是大型分布式集群存储过程更是劣势巨大!越是大型的分布式系统越是追求编码业务而不是绑死在数据库上,因为你不知道那一天就要换数据库了
学习J***A可以看哪些书?
对于没有J***a编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握J***a基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对J***a熟悉起来再说。用很短的时间快速过一遍J***a语法,连懵带猜多写写代码,要“知其然”。
J***a入门好书推荐:《Head First J***a》
《Head First J***a》是本完整的面向对象(object-oriented,OO)程序设计和J***a的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。但如果你真地想要好好地学习J***a,你会需要《Head First J***a》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。
j***a进阶好书推荐:《Thinking in j***a》
《Thinking in j***a》(中文名:《J***a编程思想》) 第4版 本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从J***a的基础语法到最高级特性(深入的面向对象概念、多线程、[_a***_]项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。