面试题
文章平均质量分 67
辐_射
这个作者很懒,什么都没留下…
展开
-
GUI_GUI概述和GUI与CLI的区别
GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面,这样方便更直观。CLI Command line User Interface(命令行用户接口) 最常见的DOS命令操作。 需要记忆一些常用的命令,操作不直观。原创 2017-03-27 00:29:06 · 11295 阅读 · 0 评论 -
IO流_自定义类模拟BufferedReader的readLine()功能案例
package cn.itcast_08;import java.io.IOException;import java.io.Reader;/* * 用Reader模拟BufferedReader()的readLine()功能 * * readLine():一次读取一行,根据换行符判断是否结束,只返回内容,不返回换行符 */public class MyBufferedRea原创 2017-02-22 00:18:00 · 1354 阅读 · 0 评论 -
IO流_IO流小结图解
原创 2017-02-12 00:37:48 · 509 阅读 · 0 评论 -
IO流_字符流的5种写数据的方式
package cn.itcast_03;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;/* * OutputStreamWriter的方法: * public void write(int c):写一个字符 * public voi原创 2017-02-09 22:26:09 · 1225 阅读 · 0 评论 -
IO流_面试题之final,finally和finalize的区别、面试题之如果在finally之前有return
package cn.itcast_07;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/* * 面试题: * 在面试时,如果有不知道的可以向面试官虚心请教 * 1:final、finally和finalize的区别 * final:最原创 2017-01-17 21:39:38 · 750 阅读 · 0 评论 -
IO流_throw的概述以及和throws的区别
package cn.itcast_06;/* * trow:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出应该是异常的对象。 * * throws和throw的区别(面试题): * throws: * 用在方法的声明后面,跟的是异常类名 * 可以跟多个异常类名,用逗号隔开 * 表示抛出异常,由该方法的调用者来处理 * throws表示出原创 2017-01-17 19:30:33 · 477 阅读 · 0 评论 -
IO流_finally关键字的特点及作用
package cn.itcast_07;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/* * finally:被finally控制的语句一定会执行的。(面试题) * 注意:如果在执行到finally之前jvm退出了,就不能执行了。 * *原创 2017-01-17 20:06:37 · 1136 阅读 · 1 评论 -
集合框架_Collections工具类的概述
package cn.itcast_01;/* * Collections:是针对集合进行操作的工具类,都是静态方法。 * * 面试题: * Collection和Collections的区别? * Collection:是单列集合的顶层接口,有子接口List和Set。 * Collections:是针对集合操作的工具类,有对集合进行排序和二分查找的方法。 */pu原创 2017-01-14 18:10:10 · 405 阅读 · 0 评论 -
集合框架_HashMap和Hashtable的区别
package cn.itcast_07;import java.util.Hashtable;/* * 面试题: * 1:Hashtable和HashMap的区别? * Hashtable:线程安全,效率低。不允许null键和null值 * HashMap:线程不安全,效率高。允许null键和null值 * 2:List,Set,Map等接口是否都继承子Map接口?原创 2017-01-14 17:57:19 · 451 阅读 · 0 评论 -
集合框架_ArrayList存储字符串并遍历
package cn.itcast_01;import java.util.ArrayList;import java.util.Iterator;/* * List的子类特点: * ArrayList: * 底层数据结构是数组,查询快,增删慢 * 线程不安全,效率高 * Vector: * 底层数据结构是数组,查询快,增删慢 * 线程安全,原创 2016-12-20 23:27:08 · 1455 阅读 · 0 评论 -
集合框架_对象数组、集合(Collection)、集合(List)总结
1:对象数组(掌握) (1)数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。 (2)案例: 用数组存储5个学生对象,并遍历数组。2:集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组 而数组的长度固定,所原创 2016-12-19 22:12:44 · 1919 阅读 · 1 评论 -
集合框架_List的三个子类的特点
List:(面试题:List的子类特点) ArrayList: 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。 Vector: 底层数据结构是数组,查询快,增删慢。 线程安全,效率低 LinkedList: 底层数据结构是数组,查询慢,增删快。 线程不安全,效率高。 List有三个儿子,我们到底使用谁呢? 看需求(情况)。 要安全吗?原创 2016-12-19 19:02:28 · 1130 阅读 · 0 评论 -
集合框架_ArrayList存储字符串并遍历泛型版
泛型在那里使用呢?查看API,如果类,接口,抽象类,后面跟有就说要使用泛型。一般来说就是在集合中使用。package cn.itcast_02;import java.util.ArrayList;import java.util.Iterator;/* * 泛型在那些地方使用呢? * 看API,如果类,接口,抽象类,后面跟的有就说要使用泛型。一般来说就是在集合中原创 2016-12-24 23:04:39 · 579 阅读 · 0 评论 -
集合框架_并发修改异常的产生原因及解决方案
package cn.itcast_04;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;/* * 问题? * 我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"android原创 2016-12-18 17:42:00 · 1672 阅读 · 0 评论 -
集合框架_泛型概述和基本使用
package cn.itcast_01;import java.util.ArrayList;import java.util.Iterator;/* * ArrayList存储字符串并遍历 * * 我们按照正常的写法来写这个程序,结果却出错了。 * 为什么呢? * 因为我们开存储的时候,存储了String和Integer两种类型的数据。 * 而在遍历的时候,我们原创 2016-12-24 01:20:47 · 685 阅读 · 0 评论 -
IO流_字符流、IO流小结、IO流案例总结
1:字符流(掌握) (1)字节流操作中文数据不是特别的方便,所以就出现了转换流。 转换流的作用就是把字节流转换字符流来使用。 (2)转换流其实是一个字符流 字符流 = 字节流 + 编码表 (3)编码表 A:就是由字符和对应的数值组成的一张表 B:常见的编码表 ASCII ISO-8859-1 GB2312 GBK GB18030 UTF原创 2017-02-23 23:00:16 · 802 阅读 · 0 评论 -
多线程_如何实现多线程及多线程方式1的思路、多线程方式1的代码实现
package cn.itcast_02;/* * 需求:我们要实现多线程的程序。 * 如何实现呢? * 由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来。 * 而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程。 * Java是不能直接调用系统功能的,所以,我们没有办法直接实现多线程程序。 * 但是呢?Java可以去调用C/C++写好的程序来实原创 2017-03-07 23:36:03 · 594 阅读 · 0 评论 -
多线程_死锁问题概述和使用
package cn.itcast_02;/* * 同步的弊端: * A:效率低 * B:容易产生死锁 * * 死锁: * 两个或者两个以上的线程在争夺资源的过程中,发生的一种相互等待的现象。 * * 举例: * 中国人,美国人吃饭案便。 * 正常情况: * 中国人:筷子2支 * 美国人:刀和叉 * 现在: * 中国人:原创 2017-03-16 23:13:08 · 310 阅读 · 0 评论 -
多线程、设计模式_总结
1:多线程(理解) (1)JDK5以后的针对线程的锁定操作和释放操作 Lock锁 (2)死锁问题的描述和代码体现 (3)生产者和消费者多线程体现(线程间通信问题) 以学生作为资源来实现的 资源类:Student 设置数据类:SetThread(生产者) 获取数据类:GetThread(消费者) 测试类:StudentDemo 代码: A:最基本的原创 2017-03-23 23:30:23 · 650 阅读 · 0 评论 -
设计模式_单例模式的Java代码体现Runtime类
package cn.itcast_03;import java.io.IOException;/* * Runtime:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。 * public Process exec(String command):在单独的进程中执行指定的字符串命令(直接执行使用dos命令)。 */public clas原创 2017-03-23 23:15:52 · 586 阅读 · 0 评论 -
设计模式_单例模式之懒汉式
单例模式: 饿汉式:类一加载就创建对象 懒汉式:用的时候,才去创建对象面试题:单例模式的思想是什么?请写一个代码体现。 答:保证类在内存中只有一个对象。 开发:饿汉式。(是不会出问题的单例模式) 面试:赖汉式。(可能会出问题的单例模式) A:赖加载(延迟加载) B:线程安全问题 a:是否多线程环境 是 b:是否有共享数据 是 c:是否有多条语句操作共原创 2017-03-23 22:39:34 · 489 阅读 · 0 评论 -
设计模式_单例模式之饿汉式
package cn.itcast_03;/* * 单例模式:保证类在内存中只有一个对象。 * * 如何保证类在内存中只有一个对象呢? * A:把构造方法私有 * B:在成员位置自已创建一个对象 * C:通过一个公共的方法提供访问 * * 不要让别人造你的对象,要是别人有能力造对象,那你永远不可能是单例模式。 * 如果你的对象能够更改,那就不算单例模式 */原创 2017-03-23 22:04:48 · 410 阅读 · 0 评论 -
设计模式_设计模式的概述和分类
设计模式概述: 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式不是一种方法和技术,而是一种思想 设计模式和具体的语言无关,学习设计模式就是要建立面向对象的思想,尽可能的面向接口编程,低耦合,高内聚,使设计的程序可复用 学习设计模式能够促进对面向对象思原创 2017-03-22 21:22:33 · 459 阅读 · 0 评论 -
设计模式_面向对象的常见设计原则概述
面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则 1:单一职责原则 其实就是开发人员经常说的”高内聚,低耦合” 也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。在设计模式中,所有的设计模式都遵循这一原则。 2:开闭原则 核心思想是:一个对象对扩展开放,对修改关闭原创 2017-03-22 21:05:24 · 475 阅读 · 0 评论 -
多线程_以前的线程安全的类回顾
package cn.itcast_12;import java.util.ArrayList;import java.util.Collections;import java.util.Hashtable;import java.util.List;import java.util.Vector;public class ThreadDemo { public static v原创 2017-03-12 23:53:15 · 546 阅读 · 0 评论 -
多线程_多线程常见的面试题
1:多线程有几种实现方案,分别是哪几种? 两种。 继承Thread类 实现Runnable接口 扩展一种:实现Callable接口。这个得和线程池结合。2:同步有几种方式,分别是什么? 两种。 同步代码块 同步方法3:启动一个线程是run()还是start()?它们的区别? start(); run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用原创 2017-03-21 23:19:11 · 943 阅读 · 0 评论 -
多线程_多线程两种方式的图解比较及区别
原创 2017-03-11 19:17:52 · 600 阅读 · 0 评论 -
多线程_Java程序运行原理和JVM的启动是多线程的吗
Java程序的运行原理: 由java命令启动jvm,jvm启动就相当于启动了一个进程。 接着由该进程创建一个主线程去调用main方法。 思考问题: jvm虚拟机的启动是单线程的还是多线程的? 多线程的。 原因是垃圾回收线程也要先启动,否则很容易会出现内存溢出。 现在的垃圾回收线程加上前面的主线程,最底启动了两个线程,所以,jvm的启动是多线程的。原创 2017-03-07 22:50:29 · 1815 阅读 · 0 评论 -
多线程_线程生命周期图解
原创 2017-03-09 23:00:22 · 484 阅读 · 0 评论 -
java基础和面向对象面试题
逻辑思考题:1:矿泉水1元钱1瓶,每2个空瓶换一瓶矿泉水,现有20元钱,请问可以买多少瓶矿泉水? 20+10+5+2+1+1=39(瓶)2:下面这个表达式,你移动一个数字或者符号就可以把这个表达式变成正确的.请试试.62-63=1 将6移至2的右上方,变成2的指数,即2的6次方=64 所以64-63=13: 一栋房子需要一个工匠七天建成,这个工匠的工钱是一份金条,假如现在你需要盖原创 2017-03-04 20:36:04 · 680 阅读 · 1 评论 -
IO流_数据操作流、内存操作流、打印流、标准输入输出流、随机访问流、合并流、序列化流、Properties、总结
1:登录注册IO版本案例(掌握) cn.itcast.pojo User cn.itcast.dao UserDao cn.itcast.dao.impl UserDaoImpl(实现我不管) cn.itcast.game GuessNumber cn.itcast.test UserTest2:数据操作流(操作基本类型数据的流)(理解) (1)可以操作基本类型的数据 (2)原创 2017-03-04 20:26:03 · 546 阅读 · 0 评论 -
集合框架_用LinkedList实现栈结构的集合代码、LinkedList模拟栈数据结构的集合并测试案例
package cn.itcast_05;/* * MyStack的测试 */public class MyStackDemo { public static void main(String[] args) { // 创建集合对象 MyStack ms = new MyStack(); // 添加元素 ms.add("hello"); ms.add("world原创 2016-12-24 00:20:30 · 1189 阅读 · 0 评论 -
集合框架_用户登录注册案例详细分析和分包的实现、用户基本描述类和用户操作接口的实现、用户操作类的具体实现、用户测试类的实现、加入猜数字小游戏
用户登录注册案例详细分析和分包的实现需求:用户登录注册案例。按照如下的操作,让我们更符合面向对象思想 A:有那些类呢? B:每个类有那些东西? C:类与类之间的关系?分析: A:有那些类呢? 用户类 测试类 B:每个类有那些东西? 用户类: 成员变量:用户名,密码 构造方法:无参,带参 成员方法:getXxx()和setXxx()方法原创 2017-01-02 01:19:47 · 884 阅读 · 0 评论 -
集合框架_Collection集合的功能概述、Collection集合的基本功能测试
package cn.itcast_01;import java.util.ArrayList;import java.util.Collection;/* * 集合的由来: * 我们学习的是面向对象的语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储。 * 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容原创 2016-12-13 21:01:29 · 1112 阅读 · 0 评论 -
面向对象_继承案例和继承的好处与继承的弊端
/*继承概述:把多个类中相同的内容给提取出来定义到一个类中。如何实现继承呢?java提供了关键字:extends格多://class 子类名,派生类名 extends 父类名,基类名,超类名 {}class 子类名 extdens 父类名 {}好处:A:提高了代码的复用性。B:提高了代码的维护性。C:让类与类产生的关系,是多态的前提这里其原创 2016-09-26 22:13:17 · 3381 阅读 · 0 评论 -
常见对象_String面试题看程序写结果
package cn.itcast_02;/* * 看程序写结果 */public class StringDemo3 { public static void main(String[] args) { String s1 = new String("hello"); String s2 = new String("hello"); System.out.println(原创 2016-11-06 00:41:29 · 443 阅读 · 0 评论 -
常见对象_String字面值对象和构造方法创建对象的区别
package cn.itcast_02;/* * String s = new String("hello")String s = "hello";的区别 * 有。前者会创建2个对象,后者创建1个对象 * * ==: * 基本类型:比较的是值是否相同 * 引用类型:比较的是地址值是否相同 * equals: * 是引用类型。默认比较的是地址值是否相同。 *原创 2016-11-06 00:16:39 · 600 阅读 · 0 评论 -
面向对象_代码块看程序写结果
/*写程序的执行结果我很伤心我是main方法Student 静态代码块Student 构造代码块Student 构造方法------------Student 构造代码块Student 构造方法1.我很伤心,2.我是main方法,3.Studnet 静态代码块,4.Student 构造代码块,5.Student 构造方法*/class Stude原创 2016-09-24 23:57:40 · 501 阅读 · 0 评论 -
面向对象_代码块的概述和分类
/*代码块:在Java中,使用{}括起来的代码被称为代码块。根据其位置和声明的不同,可以分为局部代码块:局部位置,用于限变量的生命周期。构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。作用:可以把多个构造方法中的共同的代码放在一起,对对象进行初始化静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用statice修饰了原创 2016-09-24 23:28:08 · 577 阅读 · 1 评论 -
面向对象_成员内部类的面试题
/* 面试题: 要求: 请填空分别输出30、20、10 注意: 1:内部类和外部类没有继承关系。 2:通过外部类名限定this对象 Outer.this*/package cn.test;class Outer{ public int num =10; class Inner{ public int num = 20; pub原创 2016-10-23 17:19:34 · 570 阅读 · 0 评论