自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 面向对象继承设计的7大原则

在OOP中,继承是一种重要的关系。设计好继承关系对提高程序的健壮性有很大帮助。 1.把公共方法和属性放在父类中。 2.使用继承是实现is-a的关系,而不是其他的关系。 3.所有的继承方法都要有意义,否则就不要使用继承。 4.要使用多态,不要使用类型信息。5.尽量不要使用protected去修饰属性,即不要使用protected的域。 因为子类集合是无限制的, 任何一个人都能够由某个类...

2018-08-24 23:23:40 668

原创 Java 编写对象equals()方法的技巧

这些技巧是在《Java核心技术 卷1》中整理出来的。 1 . 显式参数命名为 otherObject(将对象作为方法的参数传进来), 稍后需要将它转换成另一个叫做 other 的变量。2 . 检测 this 与 otherObject 是否引用同一个对象: if (this == otherObject) return true; 这条语句只是一个优化。实际上,这是一种经常采用的形式。因...

2018-08-19 19:02:29 501

原创 Java hashcode()和equals()

最近,在公司做一个任务,需要重写hashcode()和equals()方法。但是为什么要重写这两个方法呢? 要弄清这个问题,我们首先得了解一下集合类。Java中的集(Collection)有两类,一类是List,再有一类是Set。它们的区别在于前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。要想保证元素不重复,就得使用Object.equals方法了。但是,如果每增加一...

2018-08-13 23:23:02 162

原创 Spring框架学习--再谈AOP

在Spring中声明切面的方式有两种:一是使用注解创建切面;二是在XML中声明切面。使用注解创建切面 使用注解来创建切面是AspectJ 5所引入的关键特性。 在类上使用@AspectJ注解进行标注,表明该类不仅仅是一个POJO, 还是一个切面。Spring使用AspectJ注解来声明通知方法有下面几种。 方法上添加了@AfterThrowing注解,这表明它会在抛出异常以后执行。这些...

2018-08-12 19:27:23 164

原创 Spring框架学习--AOP

AOP即面向切面编程。在软件开发中, 散布于应用中多处的功能被称为横切关注点 。 通常来讲, 这些横切关注点从概念上是与应用的业务逻辑相分离的(但是往往会直接嵌入到应用的业务逻辑之中) 。 把这些横切关注点与业务逻辑相分离正是面向切面编程(AOP) 所要解决的问题。切面能帮助我们模块化横切关注点。 简而言之, 横切关注点可以被描述为影响应用多处的功能。如果重用通用功能的话,传统的面向对象技术就...

2018-08-12 17:11:16 116

原创 Spring框架学习--装配歧义的处理

自动装配时,当且仅有一个bean时是有效的。如果不只有一个bean能够匹配结果的话, 这种歧义性会阻碍Spring自动装配属性、 构造器参数或方法参数。更精确地说, 此时Spring会抛NoUniqueBeanDefinitionException。 当发生歧义性的时候, Spring提供了多种可选方案来解决这样的问题。 可以将可选bean中的某一个设为首选(primary) 的bean, 或者...

2018-08-12 12:17:30 108

原创 Spring框架学习--浅谈Spring4的@Conditional

有时候可能需要一个或多个bean只有在应用的类路径下包含特定的库时才 被创建。或者需要某个bean只有当另外某个特定的bean也声明了之后才会被创建。亦或还可能要求只有某个特定的环境变量设置之后, 才会创建某个bean。这在Spring 4之前可能是一件很难做到的事情。Spring 4引入了一个新的注解@Conditional, 它可以用到带有@Bean注解方法上。 如果给定的条件计算结果为...

2018-08-12 11:01:02 356

原创 Spring框架学习--浅谈@Profile

在开发软件的时候, 有一个很大的挑战就是将应用程序从一个环境迁 移到另外一个环境。 开发阶段中, 某些环境相关做法可能并不适合迁 移到生产环境中, 甚至即便迁移过去也无法正常工作。 数据库配置、 加密算法以及与外部系统的集成是跨环境部署时会发生变化的几个典 型例子。 比如数据库配置。 在开发环境中, 可能会使用嵌入式数据库, 并预先加载测试数据。在生产环境的配置中, 可能会使用JNDI从...

2018-08-11 23:33:43 210

原创 Spring框架学习--浅谈@Scope注解

在默认情况下,Spring应用上下文中所有bean都是作为以单例(singleton) 的形式创建的。也就是说,不管给定的一个bean被注入到其他bean多少次,每次所注入的都是同一个实例。在大多数情况下, 单例bean是理想的方案。 初始化和垃圾回收对象实例所带来的成本只留给一些小规模任务, 在这些任务中, 让对象保持无状态并且在应用中反复重用这些对象可能并不合理。有时候,所使用的类是易变的(m...

2018-08-11 20:23:42 1265

原创 Spring框架学习--基础的SPEL表达式

Spring 3引入了Spring表达式语言(Spring Expression Language, 简称为SpEL) , 它能够以一种强大和简洁的方式将值装配到bean属性和构造器参数中, 在这个过程中所使用的表达式会在运行时计算得到值。 SpEL拥有很多特性, 包括: 1.使用bean的ID来引用bean; 2.调用方法和访问对象的属性; 3.对值进行算术、...

2018-08-11 14:20:07 1894

原创 对Spring Ioc几个注解的使用的理解

Ioc是控制反转,意味着反转获取资源的方式。传统的资源查找方式是要求组件向容器发起请求查找资源,容器适时的返回资源。 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源。这种行为是查找的被动形式。...

2018-08-05 22:39:44 458

原创 Windows下Java HelloWorld的坑

在Windows下用记事本编写Hello World程序,并保存为与公共类一样的名字,并将后缀修改为.java,这里保存为Test.java。然后使用cmd程序进入到java域,进入后先使用javac Test.java命令进行编译,然后使用java Test.class命令运行该编译后的代码。 在Windows环境下,系统可能会将文件存为名字为Test.java.txt的文件,即文本文件,这时...

2018-08-04 18:07:03 174

原创 数据库group by功能之Java实现

今年年初,初次使用Mybatis作为持久层框架做个人项目,也是第一次使用框架。在单表按某些字段进行group by 分组时,老是不能达到预期效果,便想到在查询出所需数据后,在后台进行来实现分组统计功能。private List<Amount> getListByGroup(List<Amount> list) {        List<Amount> r...

2018-07-19 22:12:08 4395

原创 Java新特性--可变参数

java新特性--可变参数的用法简介

2017-06-11 00:13:32 251

原创 腾讯云64位Centos7.0配置jsp开发环境

本文搭建的jsp环境是apache-tomcat-7.0.76+jdk-8u121-linux-x64+Mysql。

2017-06-02 23:38:32 1397

原创 远程模式安装Apache Hive

Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,Hive被视为一个仓库工具,可以将结构化的数据文件映射为一张数据库表,并可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

2017-06-02 17:21:22 283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除