摘要: 以前学面向对象时,了解到它有三种特性:封装继承多态Java中封装的实现,是通过为私有成员提供访问器方法,即通常所知的getter和setter方法。这样封装是否合适仍属争议,也超出了本文的 讨论范围。但是,当成员变量为集合类型(java.util.Collection,java.util.Map以及... 阅读全文
posted @ 2014-08-24 23:02 marvinYu 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 无论是进行代码review还是紧急编码调整,你总会发现:你又搞出了一个帮助类(helper class)。代码运行一切正常,进度又必须跟上,发布任务一个接一个,因此那个帮助类逐渐变成了一个提供了很多静态(static)方法的“怪兽类” (monster class),在它的utils包内不受控制地增... 阅读全文
posted @ 2014-08-24 23:01 marvinYu 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 最近,我在准备Oracle Java SE 7的开发人员专业认证,偶然看到一些关于Java泛型很奇怪的用法。当然,我也看到了一些优雅灵巧的代码。我觉得这些例子很值得分享,不仅因为它们可以让 你的设计选择变得简单,还会使代码具有更好的健壮性和可重用性。如果对泛型不熟悉,其中的一些例子会不容易理解。我决... 阅读全文
posted @ 2014-08-24 22:59 marvinYu 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Alexey是一个在使用Java,TestNG 和Selenium的自动化WEB应用程序中有丰富经验的测试开发者。他如此的喜欢QA以至于在下班后他为初级QA工程师提供培训课程。在这篇文章中我想介绍一个Spring MVC + Hibernate + Maven例子。这组技术主要涉及一些基础知识,我想... 阅读全文
posted @ 2014-08-24 22:58 marvinYu 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 本文收集了一些用于提升JDBC性能的方法。Java应用或者JavaEE Web应用的性能是很重要的,尤其是数据库后端对应用的性能影响。不知你是否经历过Java、JavaEE web应用非常慢的案例没有(处理一个简单的请求都要花上好几秒的时间用于数据库访问,分页、排序等)。下面这些贴士也许能提升Jav... 阅读全文
posted @ 2014-08-24 22:56 marvinYu 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 我们喜欢和JDBC打交道,以前从未有人这样说过。很严肃的说,JDBC是一个非常优秀的API。这可能是现在Java能够成为一个受欢迎的平台的重要原因之一。 在JDK1.1之前,ODBC出现之前(很久之前的事情了),很难去想象有平台会标准化数据库的访问。在那个时候SQL语言甚至本身还没有标准化,随后出现... 阅读全文
posted @ 2014-08-24 22:55 marvinYu 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 注:为了更好理解本文,请结合原文阅读在上一篇文章中提到了PreparedStatement的局限性:PreparedStatement不允许一个占位符(?)设置多个值,本文试图从其它角度来解决该问题。在网络上开销最昂贵的资源就是客户端与服务器往返的请求与响应,JDBC中类似的一种情况就是对数据库的调... 阅读全文
posted @ 2014-08-24 22:53 marvinYu 阅读(871) 评论(0) 推荐(0) 编辑
摘要: PreparedStatement是用来执行SQL查询语句的API之一,Java提供了Statement、 PreparedStatement和CallableStatement三种方式来执行查询语句,其中Statement用于通用查 询,PreparedStatement用于执行参数化查询,而Ca... 阅读全文
posted @ 2014-08-24 22:51 marvinYu 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 对于大多数典型的Spring/Hibernate 企业应用来说,应用程序的性能几乎完全取决于它的持久层的性能。这篇文章将会对如何确认在“数据库约束”的应用前,使用7种“快速见效”的技巧来帮助我们提升应用性能。如何确认一个应用受到“数据库约束”为了验证一个应用程序是否受到“数据库约束”,首先在一些开发... 阅读全文
posted @ 2014-08-24 22:23 marvinYu 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 为什么有时Hibernate会在程序某一部分生成一条指定sql查询?这个问题让人很难立刻理解,当处理不是我们本人编写的代码时更是如此。本文将展示如何配置来产生Hibernate查询操作的日志。通过这些日志和一些小技巧来找出这些指定的查询为什么及在何处被执行。Hibernate查询日志格式Hibern... 阅读全文
posted @ 2014-08-24 22:22 marvinYu 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 本文将深入研究Spring的事务管理。主要介绍@Transactional在底层是如何工作的。之后的文章将介绍:propagation(事务传播)和isolation(隔离性)等属性的使用事务使用的陷阱有哪些以及如何避免JPA和事务管理很重要的一点是JPA本身并不提供任何类型的声明式事务管理。如果在... 阅读全文
posted @ 2014-08-24 22:20 marvinYu 阅读(3327) 评论(0) 推荐(0) 编辑
摘要: 本文由 ImportNew - miracle1919 翻译自 javacodegeeks。欢迎加入Java小组。转载请参见文章末尾的要求。为什么?在日常工作中,我经常需要解决许多简单的或者是复杂的Maven/Java EE工程结构的问题。为了找到解决办法,我经常要拿项目的结构做实验,在不同应用服务... 阅读全文
posted @ 2014-08-24 22:07 marvinYu 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层... 阅读全文
posted @ 2014-08-24 22:00 marvinYu 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一图胜千言,下面图解均来自ProgramCreek网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么12String s = "abcd";s = s.concat("ef");2、equals()方法... 阅读全文
posted @ 2014-08-24 21:57 marvinYu 阅读(140) 评论(0) 推荐(0) 编辑
摘要: PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。2 .在hibernate持久化框架中与insert/delet操作密切相关。 3 .PO中不应该包含任何对数据库的操作。 ----------... 阅读全文
posted @ 2014-08-24 21:47 marvinYu 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 访问修饰符对于基本的OOPS(面向对象)概念,请看Java面试参考指南的第一部分。访问修饰符规定了一个类如何访问另一个类及它的成员(包括方法和变量)。Java中有下列访问修饰符:private:私有变量和方法(非外部类)只能被声明它们的类的实例所使用。default:类中的数据、方法和它本身能够被声... 阅读全文
posted @ 2014-08-24 21:45 marvinYu 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Java是一种基于面向对象概念的编程语言,使用高度抽象化来解决现实世界的问题。面向对象的方法将现实世界中的对象进行概念化,以便于在应用之间进行重用。例如:椅子、风扇、狗和电脑等。Java里的类(Class)是一个蓝图、模板,或者称之为原型,它定义了同一类事物的相同属性和行为。实例(Instance)... 阅读全文
posted @ 2014-08-24 21:42 marvinYu 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员 的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会 被提到。在典型... 阅读全文
posted @ 2014-08-24 21:35 marvinYu 阅读(242) 评论(0) 推荐(0) 编辑