随笔分类 -  java

java中方法的参数传递机制
摘要:问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中 阅读全文
posted @ 2017-03-03 14:04 Snow〃冰激凌 阅读(340) 评论(0) 推荐(0) 编辑
Java进阶之reflection(反射机制)——反射概念与基础
摘要:原文地址: http://blog.csdn.net/xu__cg/article/details/52877573 反射机制是Java动态性之一,而说到动态性首先得了解动态语言。那么何为动态语言? 一、动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构 阅读全文
posted @ 2017-01-09 15:42 Snow〃冰激凌 阅读(522) 评论(0) 推荐(0) 编辑
UML类图与类的关系详解
摘要:在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实 阅读全文
posted @ 2017-01-09 11:16 Snow〃冰激凌 阅读(198) 评论(0) 推荐(0) 编辑
单例模式写法
摘要:第一种(懒汉,线程不安全): public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance 阅读全文
posted @ 2016-06-21 11:17 Snow〃冰激凌 阅读(380) 评论(0) 推荐(1) 编辑
设计模式之6大原则
摘要:设计模式之6大原则一、设计模式6大原则名称解释0、单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。一、"开放-封闭"原则(OCP)在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。【通俗】:设计的时... 阅读全文
posted @ 2014-10-09 10:31 Snow〃冰激凌 阅读(447) 评论(0) 推荐(0) 编辑
java SoftReference WeakReference
摘要:Java 2 平台引入了 java.lang.ref 包,其中包括的类可以让您引用对象,而不将它们留在内存中。这些类还提供了与垃圾收集器(garbage collector)之间有限的交互。1.先“由强到弱”(只的是和垃圾回收器的关系)明确几个基本概念:strong references是那种你通常... 阅读全文
posted @ 2014-08-19 10:46 Snow〃冰激凌 阅读(289) 评论(0) 推荐(0) 编辑
java 正则表达式 验证字符串 只包含汉字英文数字
摘要:String content = “testContent”; String regex="^[a-zA-Z0-9\u4E00-\u9FA5]+$"; Pattern pattern = Pattern.compile(regex); Matcher ma... 阅读全文
posted @ 2014-08-14 16:20 Snow〃冰激凌 阅读(31036) 评论(0) 推荐(0) 编辑
ARRAYLIST VECTOR LINKEDLIST 区别与用法
摘要:转载:http://www.cnblogs.com/mgod/archive/2007/08/05/844011.htmlArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!线性表,链表,哈希表是常用的数据结构, 阅读全文
posted @ 2014-04-03 16:24 Snow〃冰激凌 阅读(266) 评论(0) 推荐(0) 编辑
Java 之 FileReader FileInputStream InputStreamReader BufferedReader 作用与区别
摘要:ava.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区别,再来看他们底下子类的使用,这里只对最常用的几个说明InputStream| __FileInputStreamFileInputStream 从文件系统中的某个文件中获得输入字节。构造方法摘要FileInputStrea 阅读全文
posted @ 2013-09-05 16:14 Snow〃冰激凌 阅读(11072) 评论(0) 推荐(1) 编辑
Java 之 File
摘要:11.3 I/O类使用由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。本章IO类的使用就从读写文件开始。11.3.1文件操作文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取。当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件时也需要熟悉对应的文件格式,才能把数据从文件中正确的读取出 来。文件的存储介质有 阅读全文
posted @ 2013-09-05 16:13 Snow〃冰激凌 阅读(593) 评论(0) 推荐(0) 编辑
Java Set List Map
摘要:对JAVA的集合的理解是想对于数组 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. JAVA集合主要分为三种类型: Set(集) List(列表) Map(映射) Collection 接口 Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。 Set 和List 都继承了Conllection,Map没有 Collection接... 阅读全文
posted @ 2013-08-19 14:18 Snow〃冰激凌 阅读(347) 评论(0) 推荐(0) 编辑
Comparable与Comparator区别
摘要:两者都是比较接口void sort(List); Sorts the specified list in ascending natural order. The algorithm is stable which means equal elements don't get reordered.void sort(List, Comparator); Sorts the specified list using the specified comparator. The algorithm is stable which means equal elements don't 阅读全文
posted @ 2013-08-19 13:50 Snow〃冰激凌 阅读(721) 评论(0) 推荐(0) 编辑
HashMap HashTable ConcurrentHashMap
摘要:1. Hashtable 和 HashMap(1)区别,这两个类主要有以下几方面的不同:Hashtable和HashMap都实现了Map接口,但是Hashtable的实现是基于Dictionary抽象类。在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。而在Hashtable中,无论是key还是value都不能为n 阅读全文
posted @ 2013-08-19 11:20 Snow〃冰激凌 阅读(5264) 评论(0) 推荐(3) 编辑
Collections 集合工具类
摘要:集合工具类 包括很多静态方法来操作集合list而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable接口。此列表内的所有元素都必须是使用指定比较器可相互比较的double array[] = {112, 111, 23, 456, 231 };for (int i = 0; i < array.length; i++) {list.add(new Double(array[ 阅读全文
posted @ 2013-08-19 10:37 Snow〃冰激凌 阅读(4892) 评论(0) 推荐(0) 编辑
二进制、八进制、十进制、十六进制之间转换
摘要:二进制、八进制、十进制、十六进制之间转换一、 十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数部分和小数部分① 整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例:例:将十进制的168转换为二进制得出结果 将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。第二步,将商84除以2,商42余数为0。第三步,将商42除以2,商21余数为0。第四步,将商21除以2,商10余数为 阅读全文
posted @ 2013-07-15 12:05 Snow〃冰激凌 阅读(269) 评论(0) 推荐(0) 编辑
j2se j2ee j2me
摘要:多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。 Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本: Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。 比如:数据库连接、接口定义、输入/输出、网络编程 Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。 比如:EJB、servlet、JSP、XML、事务控制 Micro Edition(微缩版) J2 阅读全文
posted @ 2013-07-03 14:41 Snow〃冰激凌 阅读(273) 评论(0) 推荐(0) 编辑
java 内部类
摘要:内部类与接口作用都是实现java多继承。内部类的共性内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类。(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。(2)、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。(3)、内部类声明成静态的,就不能随便的访问外部类的成员变量,仍然是只能访问外部类的静态成员变量1. 成员内部类------------------在一个类中,新建一个类,跟这个类其它成员一样。可访问这个外部类的其它成员编译上述代码会产 阅读全文
posted @ 2013-03-29 16:19 Snow〃冰激凌 阅读(179) 评论(0) 推荐(0) 编辑
java 零碎知识点
摘要:1. continue 与 break 区别 两者都是用于while或者for循环中,continue是结束本次满足条件的循环,进行下一次循环(如果有下一次的话),break是结束整个循环。 举例:int i = 0; while(i < 5){i ++; if(i == 1){ continue; }else if(i == 3){ break; } System.out.println(i);} 此时输出结果为:2 //第一次循环为1,continue,结束本次循环 2 正常 3 break跳出循环2. java 与 javac 命令 javac 命令 可以将xxx... 阅读全文
posted @ 2013-03-29 10:31 Snow〃冰激凌 阅读(260) 评论(0) 推荐(0) 编辑
接口和抽象类
摘要:区别:接口和抽象类之间的关系:相同点:(1)接口和抽象了都不能被实例化,它们都位于继承树的顶端,用于被其他的类实现和继承。 (2)接口和抽象类都是可以包含抽象方法的,实现接口或是继承抽象类的普通子类都必须实现这些抽象方法。不同点: (1)接口只能包含抽象方法,不能包含已经提供实现的方法;抽象类则完全可以包含普通的方法(2)接口不能定义静态方法;抽象类完全可以定义静态方法。(3)接口中只能定义静态常量Field,不能定义普通的Field;抽象类既可以定义普通的Field也能定义静态常量Field(4)接口不能包含构造器;抽象类中可以包含构造器,抽象类中的构造器并不是用于创建对象的,... 阅读全文
posted @ 2013-03-06 10:50 Snow〃冰激凌 阅读(197) 评论(0) 推荐(0) 编辑
java 8种基本数据类型
摘要:字符类型: char数值: byte short int long float double布尔: boolean数据类型 大小 (二进制位数) 范围(计算方法: -2(大小-1)~2(大小-1)-1) 默认值 byte(字节) 8 -128 - 127 0 shot(短整型) 16 -32768 - 32768 0 int(整型) 32 ... 阅读全文
posted @ 2013-03-01 11:10 Snow〃冰激凌 阅读(258) 评论(0) 推荐(0) 编辑