【java】基础中的杂乱总结(二)】的更多相关文章

java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写文本文件的. 有的小朋友也会问,字节流称之为万能流,为什么还要设计字符流呢.没错,字节流可以读写任意类型的文件,包括文本文件,对于读取整个文本文件来说,字符流和字节流都可以轻松完成,但是对于某些情况,字节流读取文本文件却相当复杂: 1)一个读取一个字符. 2)一次读取文本文件的一行. 当然这些问题统…
今天在这边介绍一下Java基础中的rmi使用.其实rmi有什么样的使用场景呢?它跟webservice有什么区别呢?其实webservice主要是可以跨语言实现项目间的方法调用,而rmi只是java内部语言进行的远程方法调用.这里我们把远程这个概念用服务端表示,调用者用客户端表示. 那么首先我们先讲述一下rmi的原理,它的底层是由socket和java序列化和反序列化支撑起来的,它具体的调用过程如下图所示.而远程对象stub和skeleton负责了对象和数据参数返回值的打包和序列化与反序列化.…
一.反射的基础Class类 1.如何得到各个字节码对应的实例对象 (1)类名.class,例如 System.class (2)对象.getClass(),例如 new Data().getClass() (3)Class.forName("包.类名"),例如 Class.forName("java.util.Data")  查询或加载,即有了就用,没有就加载进来 2.九个预定义的Class实例对象 8个基本类型+1个void 二.反射 1.定义:反射就是把java…
在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档已经说得很清楚了. 作为一个容器,ArrayList有添加元素,删除元素,以及获取元素的方法. 本节我们先不看ArrayLis底层的源码,而是按照平常的思路来模拟一下ArrayList的具体实现.看看如果我们自己来写的话,会怎么实现ArrayList的功能? 1. 新建一个MyList类 好的,我们…
接着上篇http://www.cnblogs.com/oumyye/p/4314412.html java I/O流---内存操作流 ByteArrayInputStream和ByteArrayOutputStream ByteArrayInputStream包含一个内部缓冲区,该缓冲区包含从流中读取的字节,内部计数器跟着read方法要提供的下一个字节.FileInputStream是把文件当做数据源.ByteArrayInputStream则是把内存中的某一个数组单做数据源.ByteArray…
Java程序员面试题集(1-50) 一.Java基础部分 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么. 2)继承:继承是从已有类得到继承信息创建新类的过程.提供继承信息的类被称为父类(超类.基类):得到继承信息的类被称为子类(派生类). 3)封装:通常认为封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面.面向…
1.在Java编程语言中,标识符是赋予变量.类或方法的名称.标识符可从一个字母.下划线(_)或美元符号($)开始,随后也可跟数字.标识符是大小写区别对待的并且未规定最大长度. 2.Java技术源程序采用有效的16-bit 双字节字符编码标准(Unicode) ,而不是8-bit ASCII文本. 3.标识符不能是关键字,但是它可包含一个关键字作为它的名字的一部分. 4.无sizeof运算符:所有类型的长度和表示是固定的,不依赖执行. 5.goto和const不是Java编程语言中使用的关键字.…
1.常量: 整型:整数,4个字节. 长整型:整数,8个字节.以L结尾. 单精度浮点数:小数,4个字节.以F结尾. 双精度浮点数:小数,8个字节. 布尔:只有两个值,真(true)或假(false),1个字节. 字符:单个字符,2个字节.例如:'a', '中', '5', '\u0026' , '\u0027' 在字符常量中,斜杠(\)是一个特殊的字符,它的作用是用来转义后面一个字符,这些字符通常是不可见的或者有特殊意义的. '\r' 回车,回到一行的开始 '\n' 换行,换到下一行 '\t' 制…
一.单选题 (共50题,250分) 1.下列选项不可作为Java语言变量名的是(    ). A. a1 B. $1 C. _1 D. 21 正确答案: D 2.有一段Java应用程序,它的类名是a1,那么保存它的源文件名是(    ). A. a1.java B. a1.class C. a1 D. 以上说法都正确 正确答案: A 3.在Java的整型数据类型中,最常用的是(    ). A. short B. long C. int D. byte 正确答案: C 4.在Java中,下列循环…
1 内部类进阶 package package8; //原则:先用内部类写 之后由于内部类匿名无法引用 用其继承的父类或实现的接口名 //再复写所有的抽象方法即可(是所有,否者还是抽象的,无法创建对象) interface Inter{ public abstract void method(); } class Demo{ public void function(){ new Inter(){ public void method(){ System.out.println("定义的匿名内部…
1.数组 a.特点:同种数据类型:数组类型一旦确定就不能改变. 连续空间存放:数据空间是连续的. 空间长度:数组有自己的长度,初始化的时候需要定义. 数组的下标:从0开始,第一个数组元素下标为0,最后一个元素的下标为总长度减一. 数组存储:可以保存"基本"与"引用"两种类型. b.语法:方法一: int [] sum; //声明 sum = new int [3]; //初始化并定长度 方法二: int [] sum = new int [3]; 方法三: int…
1 构造代码块 作用:给对象进行初始化.对象一建立就运行,并且优先于构造函数执行 构造函数是给所有对象进行统一初始化,构造函数是给对应的对象初始化 package package1; class Person{ private String name; { System.out.println("person code run"); } Person(){ System.out.println("name="+name); cry(); } Person(Strin…
一:语法细节 1. Java中的命名规则: package:统一使用小写字母 class:首字母大写,使用驼峰标识 method:首字母小写,使用驼峰标识 field:首字母小写,使用驼峰标识 static field:统一使用大写字母,并用下划线分割单词 2. import和import static import com.xxx:常规导入某个包下的类 import static com.xxx:会导入某个包下的类的所有静态方法,这样之后再使用该类的静态方法时,可以直接使用方法名调用,而不必使…
1.回文数 思路一:使用java特有解法,将原数字以字符串存储,翻转后赋值给新的字符串变量,再使用equals与原字符串进行对比 import java.util.Scanner; public class huiwen { public static void main( String[] args ){ System.out.println("请输入一个整数:"); Scanner sc = new Scanner( System.in ); int num = sc.nextIn…
本文知识点(目录): 一维数组(一维数组的概念.优点.格式.定义.初始化.遍历.常见异常.内存分析以及常见操作(找最大值.选择排序.冒泡排序等等))    二维数组(二维数组的遍历.排序.查找.定义.初始化以及常见操作等等) 一.一维数组 1.前言 如果需要存储大量的数据,例如如果需要读取100个数,那么就需要定义100个变量,显然重复写100次代码,是没有太大意义的.如何解决这个问题,Java语言提供了数组(array)的数据结构,是一个容器可以存储相同数据类型的元素,可以将100个数存储到数…
1.(C#.JAVA)扩展方法能访问被扩展对象的public成员 A.能 B.不能 答案: A 解析: 翻译一下,子类方法是否能够访问父类中的public成员. 2.如果子类要调用父类的构造函数,则通过super()调用来实现. A.正确 B.错误 答案: A 解析: super关键字在子类内部使用,代表父类对象. 访问父类的属性 super.属性名 访问父类的方法 super.方法名() 子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super() 3.下列关于Jav…
一.啥是泛型 概述 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数. 格式 类名<类型名> 标记符 E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值) ? -  表示不确定的java类型(通配符) S.U.V. - 用在第2.3.4个参数类型时使用 二.代码走一波 汽车类 /** * 汽车类 */ @Data publi…
概述 在Java数据流用到的流包括(Stream).文件(File流)和I/O流 ,利用该三个流操作数据的传输. Java控制台输入输出流 读取控制台使用数据流: BufferedReader和InputStreamReader 输出控制台使用数据流: PrintStream 常用封装了System.out.println().System.out.Write() public static void ReadLine() { try{ System.out.println("请输入内容:&qu…
Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串 例子: import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); /…
一.String类 字符串是一种特殊的对象,一旦被初始化就不能被改变了 字符串常量存储于常量池中 二.StringBuffer类 是一个字符串缓冲区,相当于一个容器 特点 a.可以对字符串进行增加和删除的操作 b.长度是可变的 c.可以进行操作多种数据类型 d.最终可以通过toString()转换为字符串 三.StringBuilder类 JDK1.5之后出现的 StringBuffer是线程同步的,StringBuilder是线程不同步的 建议:多线程使用StringBuffer,单线程使用S…
今天练习ArrayList与LinkedList,在网上看到有关它俩应用效率的题型.觉得很有价值,保留一下. import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class CollT5 { static final int N = 50000; static long timeList(List<Object> list) { long start = System.cu…
XML解析之最流行的方式:DOM4J dom4j是使用java语言编写的,用于读,写,操作XML的一套组件 dom4j是一个开源的java组件,可从http://sourceforge.net/projects/dom4j/files/下载.其解压后有一个dom4j-1.6.1.jar文件,这个就是需要引入的包,其dom4j的所有的接口都在org.dom4j包中定义,主要接口如下: XML写入文件:DOM4JWriter.java package org.lxh.xml.dom4j ; impo…
概述 常用的多线程实现方式有2种: 1. 继承Thread类 2. 实现Runnable接口 之所以说是常用的,是因为通过还可以通过JUC(java.util.concurrent)包中的线程池来实现多线程.关于线程池的内容,我们以后会详细介绍:现在,先对的Thread和Runnable进行了解. Thread简介 Thread 是一个类.Thread本身就实现了Runnable接口.它的声明如下: public class Thread implements Runnable {} Threa…
在Java中,字符的表达与字符串的表达是不一样的!话不多说,直接上代码!!! String  a="a"; char a='a'; 其中他们的引号是不一样的…
为什么要使用数组: 因为不使用数组计算多个变量的时候太繁琐,不利于数据的处理. --------   数组也是一个变量,是存储一组相同类型的变量 声明一个变量就是在内存中划出一块合适的空间 声明一个数组就是在内存中划出一块连续的空间 数组长度就是数组存放了多少个数,最大下标等于数组长度减一 数组中所有的元素必须属于相同的数据类型 使用数组4步 1.申明数组:int[] a; 或者 int a[]; 2.分配空间:a = new int[5]; 3.赋值:a[0] = 8; a[1] = 5; 4…
前11题请看上一篇文章 12.静态变量和实例变量的区别?  在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加. 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量.静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了.总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用.…
1.标识符 标识符:标识某些事物用于区分的符号.  (即区分某些事物的符号) 四条硬性规定: a.不能是 关键字.true.false.null. b.可以包含 字母.数字.0-9.下划线(_)或美元符号($). c.第一个字符必须是 字母.下划线(_)或者美元符号($). d.区别大小写,并且没有规定最大长度. 三条软性规定: a.要能望文知义. b.首字母要小写. c.除第一个单词外,其他单词首字母大写. 以上b和c点可归纳为 驼峰命名法.    userName   circleArea…
1.局部(local)变量是在一个方法内定义的变量, 也被称作自动(automatic).临时(temporary)或栈(stack)变量 -          当一个方法被执行时, 局部变量被创建:当一个方法被终止时, 局部变量被清除 -          局部变量必须使用之前初始化, 否则编译时将出错 2.在方法外定义的变量被自动初始化 3.当一个对象被创建时,实例变量在分配存储器的同时被下列值初始化 4.一个具有空值的引用不引用任何对象.试图使用它引用的对象将会引起一个异常 5.如果使用|…