6 okaaQRoJuz

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

Java_基础_参数传递

Java中方法的参数传递均为按值传递,即使传递的是对象或者数组,传递过去的也是引用的拷贝。package com.algorithms;/** * Created by 田爽 on 2015/9/27 9:16. */public class Person { private int age; public Person(int age) { this.age =

2015-09-27 09:54:52

Java_基础_i=i++;

例:package deep;public class PostPlus { public static void main(String[] args) { int i = 15; i = i++; System.out.println(i); }}运行结果: 15前置++与后置++的真正区别是:前置++直接将变量的值加1,然后

2015-08-07 21:06:58

Java_多线程_成员变量与局部变量

线程会共享进程范围内的资源,例如内存句柄和文件句柄,但每个线程都有各自的程序计数器、栈及局部变量等。线程还提供了一种直观的分解模式来充分利用多处理器系统中的硬件并行性,而在同一个程序中的多个线程还可以被同时调度到多个CPU上运行。线程也被称为轻量级进程。在大多数现代操作系统中,都是以线程为基本的调度单位,而不是进程。同一个进程中的所有线程都将共享进程的内存地址空间,因此这些线程都能访问相同的成员变量

2015-05-27 11:08:33

Java_基础_取余操作符 %

首先我们来看下 The Java® Language Specification 中官方对它的定义:The binary % operator is said to yield the remainder of its operands from an implied division; the left-hand operand is the dividend and the right-hand

2015-05-13 13:26:16

Java_本地方法_Java程序中调用c函数

Java编程语言使用关键字native表示本地方法,关键字native提醒编译器该方法将在外部定义。当然,本地方法不包含Java编程语言的代码,而且方法标题后直接跟着一个表示终结的分号。因此,本地方法声明看上去和抽象方法声明类似。 例:package test;public class HelloNative { public static native void greeting();

2015-05-08 10:42:16

Java_语法基础_定义规范的接口类型

接口,是一种完全抽象的设计,没有任何实现。接口有以下3个特征: 1.所有的成员变量都是public、static、final类型。 2.所有的方法都是public、abstract类型。 3.所有的嵌套类型(类或接口)都是public、static类型。 4.即使以上3点没有显式的声明也是如此。 由此可知,接口中的所有成员都是public的,因为接口是抽象的,必须由其他类所实现,故成员一定

2015-04-29 22:52:59

Java_数组_基本概念

多维数组在Java中,对于多维数组,使用“数组的数组”来实现,即高维数组的每一个元素是一个低维数组,例如: int[][] a = new int[2][5];这是一个矩阵数组,可以这样理解:该语句声明了一个二维数组a,该数组含有两个元素,每个元素为一个一维数组,每个一维数组含有5个元素。 其实,Java中并不存在真正的多维数组,只是使用这种“数组的数组”方式来实现的。也因为如此,不同于C/

2015-04-29 20:35:06

Java_语法基础_包装类的缓存

包装类同String类相似,也是非可变类,其对象一经创建,就不能修改。并且,包装类也重写了equals方法,对于相同类型的两个包装类对象,只要两个对象所包装的基本数据类型的值是相等的,则equals方法就会返回true,否则返回false。在使用“==”比较两个包装类引用时,如果两个引用指向的地址相同(指向相同的对象),则结果为true,否则结果为false。 包装类提供了对象的缓存,具体的实现方

2015-04-29 19:28:01

Java_基础_初始化顺序

实例变量可以在声明处初始化,也可以在实例初始化块或构造器中初始化。静态变量可以在声明处初始化或在静态初始化块中初始化。那么,在一个类中,以上5种初始化方式可能都存在,这样一来,顺序就产生了。5种初始化方式会按怎样的顺序来执行呢?换句话说,会先执行哪一个,后执行哪一个? 既然初始化存在一定的顺序,就会存在变量访问的问题。如果在变量尚未初始化的时候就访问变量,会发生怎样的情况呢?成员变量的初始化顺序例

2015-04-29 19:20:21

Java_基础_继承的成员变量

如果子类继承了父类的某些成员变量,则子类就可以访问这些变量,就像这些变量是在子类中声明的一样。然而,现在有这样一个问题:这些成员变量是从父类复制了一份,还是与父类共享同一个变量呢? 我们首先看实例变量。 例:package deep;public class FieldSharing { public static void main(String[] ary) { Wat

2015-04-29 09:21:13

Java_语法基础_成员变量的默认值

如果我们不做任何初始化工作,变量具有什么默认值,或者是否具有默认值? 其实,成员变量在创建时,系统会为其分配一个默认值。不同类型的变量,默认值也不相同。 例:package deep;public class DefaultValue { // 实例成员变量 private boolean bool; private byte b; private short s

2015-04-27 23:02:44

Java_语法基础_执行初始化的构造器

构造器,也称构造方法,用来初始化类的实例变量,在使用new关键字创建对象的时候,由系统自动调用。构造器必须与类名相同,并且没有返回值,在外观上与类中声明的方法相似,例如,也可以具备形式参数、类型变量、异常列表等。然而,构造器不是方法,也不是类的成员。 另外,很多人认为构造器创建了对象,并且在构造器是否存在返回值的方面存有疑问,那事情是怎样的呢?在构造器中,我们还经常使用this关键字,可是,thi

2015-04-21 22:37:00

Java_集合操作_非稳定排序推荐使用List

我们知道Set与List的最大区别就是Set中的元素不可以重复(这个重复指的equals方法的返回值相等),其他方面则没有太大的区别了,在Set的实现类中有一个比较常用的类需要了解一下:TreeSet,该类实现了类默认排序为升序的Set集合,如果插入一个元素,默认会按照升序排列(当然是根据Comparable接口的compareTo的返回值确定排序位置了),不过,这样的排序是不是在元素经常变化的场景

2015-04-13 14:24:19

Java_多线程_多线程使用Vector或HashTable

Vector是ArrayList的多线程版本,HashTable是HashMap的多线程版本,这些概念我们都很清楚,也被前辈嘱咐过很多次,但我们经常会逃避使用Vector和HashTable,因为用得少,不熟嘛!只有在真正需要的时候才会想要使用它们,但问题是什么时候算真正需要呢?我们来看一个例子,看看使用线程安全的Vector是否可以解决问题,代码如下:package deep;import jav

2015-04-12 17:39:52

Java_集合操作_集合中的哈希码不要重复

在一个列表中查找某值是非常耗费资源的,随机存取的列表是遍历查找,顺序存储列表是链表查找,或者是Collections的二分法查找,但这都不够快,毕竟都是遍历嘛,最快的还要数以Hash开头的集合(如HashMap、HashSet等类)查找,我们以HashMap为例,看看它是如何查找Key值的,代码如下:package deep;import java.util.ArrayList;import ja

2015-04-12 16:47:54

Java_集合操作_集合运算时使用更优雅的方式

在初中代数中,我们经常会求两个集合的并集、交集、差集等,在Java中也存在着此类运算,那如何实现呢?一提到此类集合操作,大部分的实现者都会说:对两个集合进行遍历,即可求出结果。是的,遍历可以实现并集、交集、差集等运算,但这不是最优雅的处理方式。下面来看看如何进行更优雅、快速、方便的集合操作。1.并集 也叫做合集,把两个集合加起来即可,这非常简单,代码如下:package deep;import j

2015-04-12 14:45:54

Java_集合操作_关于subList,子列表

子列表只是原列表的一个视图List接口提供了subList方法,其作用是返回一个列表的子列表,这与String类的subString有点类似,但它们的功能是否相同呢?我们来看如下代码:package deep;import java.util.ArrayList;import java.util.List;public class Client { public static void ma

2015-04-12 11:41:57

Java_集合操作_不同的列表选择不同的遍历方法

我们来思考这样一个案例:统计一个省得各科高考平均值,比如数学平均分是多少,语文平均分是多少等,这是每年招生办都会公布的数据,我们来想想看该算法应如何实现。当然使用数据库中的一个SQL语句就能求出平均值,不过这不在我们的考虑之列,这里还是使用纯Java的算法来解决之,看代码:package deep;import java.util.ArrayList;import java.util.List;

2015-04-12 10:49:12

Java_集合操作_asList方法产生的List对象不可改变

例:package deep;import java.util.Arrays;import java.util.List;public class Client { public static void main(String[] args) { Integer[] data = { 1, 2, 3, 4, 5 }; List list = Arrays.as

2015-04-11 22:33:02

Java_集合操作_避开基本类型数组转换列表陷阱

我们在开发过程中经常会使用Arrays和Collections这两个工具类在数组和列表之间转换,非常方便,但也有时候会出现一些奇怪的问题,来看如下代码:package deep;import java.util.Arrays;import java.util.List;public class Client { public static void main(String[] args) {

2015-04-11 22:04:05

查看更多

勋章 我的勋章
    暂无奖章