自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Simple 专栏

simple for fun

  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java 基本数据类型/运算符

Java 基本数据类型基本类型 包装类 字节数 位数 最大值 最小值 boolean Boolean 1byte 8bit true fasle byte Byte 1byte 8bit 2^7 - 1 -2^7 short Short 2byte 16bit 2^15...

2012-01-31 16:05:35 2119

原创 Java int/Integer 区别

首先Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入不是对象的基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从JDK 1.5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。原始类型 与 包装类 原始类型 boolean char...

2012-01-31 13:49:22 1702

原创 Java final/static/native 关键字

finalfinal关键字代表“最终的”,“无法改变”的含义,通过final的存在能够提高程序效率、更好的进行程序设计。final修饰的类型有:类、变量、方法、参数final类  final类是不可被继承的,fianl类的成员变量也默认都是fianl。在设计类时,如果这个类不需要子类,类的实现细节不允许改变,就是用final类 final方法  final方法不允许子类进行重写。...

2012-01-31 11:56:18 1811

原创 Java 通过continue/break/标签 实现 goto

goto虽然是Java中保留的keyword,但是对于跳转这个语法对新手来说这个确实好用。为了提高程序的可靠性和可读性,Java语言目前是不支持无条件跳转的goto语句!!幸亏Java中有高仿跳转的功能但是有个局限性(该方法仅限于循环嵌套跳转到外层循环的情况)首先了解一下continue、break、标签 ,都是干嘛的。 label1: for (;;) { // 外部循...

2012-01-31 11:26:11 1408

原创 Java TreeMap / HashMap 区别

一般情况下我们选用HashMap,因为HashMap的键值对在取出时是随机的,其依据键的hashCode和键的equals方法存取数据,具有很快的访问速度,所以在Map中插入、删除及索引元素时其是效率最高的实现。而TreeMap的键值对在取出时是排过序的,所以效率会低点。HashMap:基于哈希表实现。使用HashMap要求添加的键类明确定义了hashCode()和equals()(可以重写h...

2012-01-19 16:18:45 556

原创 Java “equal” 与 “==” 区别

equal和“==”都是表示相等的意思,但是它们在进行实际的相等判定的时候,却有着非常大的区别先看看一个例子public class EqualTest{ public static void main(string[] args){ String str1 = "abcd"; String str2 = "abcd"; Strin...

2012-01-19 15:59:59 1808

原创 Java 深拷贝/浅拷贝

首先来看看浅拷贝和深拷贝的定义:浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。 深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类型的成员变量创建新的实例,并且初始化为形式参数实例值。这个方式称为深拷贝。也就是说浅拷贝只复制一个对象,传递引用,不能复制实例。而深拷贝对对象内部的引用均复制,它是创建一个新的实例,并且复制实例。...

2012-01-15 17:28:18 1072

原创 Java 可变参数

Java在1.5之后允许方法使用可变参数,可变参数的好处在于:它允许传递0个或者多个参数。比如原来有一段代码如下:public class Test { public static void main(String[] args) { test(); test(new String[]{"a"}); test(new String...

2012-01-14 15:05:24 1190

原创 Java 创建对象的几种方式

面试题: 不通过构造函数可以创建对象吗?可以使用new关键字:这是我们最常见的也是最简单的创建对象的方式,通过这种方式我们还可以调用任意的够赞函数(无参的和有参的)。比如:Student student = new Student(); 使用Class类的newInstance方法:我们也可以使用Class类的newInstance方法创建对象,这个newInstance方法调用无参的构...

2012-01-13 23:26:48 705

原创 Java String/StringBuffer/StringBuilder

三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String String <(StringBuffer,StringBuilder)的原因String:字符串常量 StringBuffer:字符创变量 StringBuilder:字符创变量从上面的名字可以看到,String是“字符串常量”,也就是不可改变的对象。对...

2012-01-11 22:53:15 328

原创 Java Comparable Comparator

对于自己定义的数据结构,进行排序时,需要我们给予他一定的排序规则,这就涉及到了Java中的两个常用的接口Comparable<T>和Comparator<T>的实现。Comparablepublic interface Comparable<T>Comparable 接口对实现它的每个类的对象强加一个整体排序。 这个排序被称为类的自然排序 ,类的 ...

2012-01-11 19:23:17 518

原创 【面向对象】 低耦合高内聚

耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息内聚性也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。低耦合粗浅的理解是:一...

2012-01-10 15:23:59 5500

原创 Java 继承/实现 extends 与 implements区别

extends 是继承父类,只要那个类不是声明final或者定义为abstract就能继承,Java中不支持多重继承,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了。比如:class A extends B implements C,D,E(){ //class子类名extends父类名implements接口名 }父类与子类继承关系上的不同...

2012-01-09 19:37:24 2526

原创 Java 权限修饰符 public /protected /default /private 区别

public具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。default有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异...

2012-01-08 14:15:54 842

原创 Java 重写(覆盖)/重载 override与overload的区别

首先从概念上重载Overload:表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。 重写Override:表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。其次,一般的方法签名的格式如下...

2012-01-07 18:01:42 467

原创 Java 类/抽象类/接口

Java的类可以分为三类:类:使用class定义,没有abstract方法。 抽象类:使用abstract class定义,可以有也可以没有abstract方法。 接口:使用inerface定义,只能有abstract方法。在这三个类型之间存在如下关系:类可以继承:类、抽象类(必须实现所有抽象方法),可以实现多个接口(必须实现所有接口方法)。 抽象类可以继承:类,抽象类(可随意实现...

2012-01-06 20:47:59 439

原创 Java 封装/继承/多态

为什么要封装、继承、多态?目的都是为了——代码重用。 封装可以隐藏实现细节,使得代码模块化。 继承可以扩展已存在的代码模块(类)。 多态可以解决项目中紧偶合的问题,提高程序的可扩展性.。封装百度词条定义 封装就是将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系。// 代码理解public class Human { // private 私有成员变量外部不...

2012-01-05 19:04:10 475

原创 Java IO 字节流与字符流的区别

IO流主要用于硬盘、内存、键盘等处理设备上得数据操作。 根据实现功能不同:节点流和处理流。 根据数据流的方向:输入流和输出流。 根据处理数据单位:字节流和字符流。 主要结构图 字符流和字节流的主要区别:字节流读取的时候,读到一个字节就返回一个字节。 字符流使用了字节流,读到一个或多个字节时。先去查指定的编码表,将查到的字符返回。 字节流可以处理所有...

2012-01-05 14:53:42 731

原创 Java import 作用 详解

import与package机制相关,这里先从package入手,再讲述import以及static import的作用。packageC 中的 #include会把所包含的内容在编译时添加到程序文件中,而 java 的 import 则不同。 提起package就能联想到class,那么package与class应该怎么理解? 这里我们先了解一下,每个人都有自己的名字,比如张三,欧阳...

2012-01-04 19:15:56 1305

原创 Java 编程规范 [Java Code Conventions]

Oracle官方Java编码规范(英文版)http://www.oracle.com/technetwork/java/codeconvtoc-136057.html 1 介绍(Introduction) 1.1 为什么要有编码规范(Why Have Code Conventions)编码规范对于程序员而言尤为首要,有以下几个原因:  一个软件的生命周期中,80%的...

2012-01-04 10:41:06 712

Hive优化.docx

Join 查找操作的基本原则:应该将条目少的表/子查询放在 Join 操作符的左边。原因 是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将 条目少的表放在左边,可以有效减少发生内存溢出错误的几率。 Join 查找操作中如果存在多个 join,且所有参与 join 的表中其参与 join 的 key 都相 同,则会将所有的 join 合并到一个 mapred 程序中。

2019-07-01

分布式一致性原理与实践

介绍了几种分布式协议,重点讲解Zookeeper高可用服务搭建。

2018-09-02

阿里Java开发规范

2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。目前,插件已在云效公有云产品中集成,立即体验!(云效>公有云>设置->测试服务->阿里巴巴Java代码规约)。

2018-09-02

空空如也

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

TA关注的人

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