归档: 2016/11

0

软件工程学习体会

研究生的课程基本上都快结束了,说一说这个学期所学课程的一个宏观感受吧,纵观学院开设的这些课程,(如下图) 软件项目管理 软件过程管理 软件需求管理 软件架构设计 面向对象程序设计 专业英语 研究生英语 高级数据库 高级Java编程 数学建模 中国特设社会主义(这个必须的) … 从这个课程设计来看,我个人认为这些课程主要是偏理论,实战性不是很强,包括Java也是偏理论,当然了,Java的学习主要

0

禁止Mac下产生.DS_Store文件

在你使用u盘拷贝东西到win电脑下使用文件时是不是经常发现在win下许多文件夹下都有.DS_Store名称的文件是不是觉得很烦 ,其实.DS_Store是OS X系统生成的文件它包含了与文件夹相关的信息 ,但是因为OS X系统默认是隐藏这类文件所以在Mac下交互使用这些文件是没有任何问题的 。 1.禁止这个文件生成的方法:打开 “终端” (finder -应用程序-实用工具-终端) 输入下面

0

PEP8 Python编码规范

决定开始Python之路了,利用业余时间,争取更深入学习Python。编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的。所以今天下午我根据PEP8整理了一份,以后都照此编码了,还会持续更新。 PEP8 Python编码规范一 代码编排 缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。 每行最大长度79,换行可以使用反斜杠,最好

0

Guava优美代码-21-反射

Guava中的反射工具类我们很多时候需要在运行时获取相关类的信息,比如它的方法有哪些,它的父类是什么,它的字段有哪些等等。其实这些JDK已经为我们做得很好了,我个人还是比较喜欢欣赏JDK里面做的反射处理的。不过这里为什么要讲Guava里面的反射呢?因为Guava对于JDK做了大量的封装和优化,最简单的比如动态代理,以前我们JDK里面要写一大堆,现在用Guava就能很方便的实现了。下面分别介绍Gua

0

Guava优美代码-20-Math

Guava中的数学数学处理有很多种方式,JDK里面也为我们提供相应的方法,为什么这里我们需要使用Guava里面方法呢?主要由以下几点原因: Guava Math针对各种不常见的溢出情况都有充分的测试;对溢出语义,Guava文档也有相应的说明;如果运算的溢出检查不能通过,将导致快速失败; Guava Math的性能经过了精心的设计和调优;虽然性能不可避免地依据具体硬件细节而有所差异,但Guava

0

Guava优美代码-19-EventBus

Guava事件总线EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 对于观察者模式,我这里就不再赘述了,大家可以去我的另一篇博文《设计模式学习之观察者模式(Observer)》里面详细了解观察者模式。 EventBus使用实例单事件监

0

Guava优美代码-18-哈希

Guava哈希算法Java内建的散列码(hash code)概念被限制为32位,并且没有分离散列算法和它们所作用的数据,因此很难用备选算法进行替换。此外,使用Java内建方法实现的散列码通常是劣质的,部分是因为它们最终都依赖于JDK类中已有的劣质散列码。 Object.hashCode往往很快,但是在预防碰撞上却很弱,也没有对分散性的预期。这使得它们很适合在散列表中运用,因为额外碰撞只会带来轻微的

0

Guava优美代码-17-IO操作

Guava文件IO操作博主认为JDK中属文件IO的操作最麻烦而且最容易出错了,比如什么Stream啊,Reader啊,太多了,时间长了就容易记不住,经常写的话还是OK的,因为很熟练嘛,哈哈!那有没有什么方法能解放我们的文件操作呢?答案是Guava!Guava为我们提供了文件IO的各种工具类,其中使用最多的就是Files。下面我们仔细讨论Files的具体使用方式。 Files使用实例(1) 读文件1

0

Guava优美代码-16-区间

Guava区间Range区间,有时也称为范围,是特定域中的凸性(非正式说法为连续的或不中断的)部分。在形式上,凸性表示对a<=b<=c, range.contains(a)且range.contains(c)意味着range.contains(b)。 Range的表示形式 区间 数学表达式 (a..b) {a < x < b} [a..b] {a <=

0

Guava优美代码-15-基本类型

Guava基本类型关于基本类型,我们在Java中有:byte、short、int、long、float、double、char和boolean。我们知道除了这些之外,还有关于这些基本类型的包装类:Byte、Short、Integer、Long、Float、Double、Character和Boolean。原因是这些基本类型没法当成对象或者泛型的参数使用。这意味着许多通用的方法都不支持它们。基于这个