编程语言
马小_菜
小白成长记
展开
-
Java零基础——常用DOS命令
DOS命令窗口怎么打开?开始菜单----->运行------->输入cmd------->回车【默认打开的黑色命令窗口】常见的DOS命令?exit 退出当前命令窗口cls 清屏DOS窗口的内容如何复制 :在DOS窗口的任意位置,点击鼠标右键,然后选择标记,接下来选中要复制的内容,在DOS窗口的任意位置点击鼠标右键,此时被复制的内容已经在剪切板上了。在需要...原创 2020-03-08 22:09:46 · 327 阅读 · 0 评论 -
Java面试题之 Queue 中 poll()和 remove()有什么区别?
队列是一个典型的先进先出(FIFO)的容器。即从容器的一端放入事物,从另一端取出,并且事物放入容器的顺序与取出的顺序是相同的。队列的两种实现方式:1、offer()和add()的区别add()和offer()都是向队列中添加一个元素。但是如果想在一个满的队列中加入一个新元素,调用 add() 方法就会抛出一个 unchecked 异常,而调用 offer() 方法会返回 false。可以据...原创 2019-05-28 21:31:54 · 29235 阅读 · 0 评论 -
Java面试题之字符串反转常见的几种方式?
我们知道,在Java中将字符串反转有很多种方法,但是最常用的有哪几种呢?哪种方法的速度最快呢?今天笔者在这总结了四种字符串反转的方法,希望能够对大家有所帮助。字符串反转方法(1)通过StringBuilder的reverse()方法,号称速度最快:public class ReverseStringBuilder { public static void main(String[]...原创 2019-05-28 19:42:38 · 983 阅读 · 0 评论 -
Java面试题之创建线程的几种方式及对比?
在面试过程中,创建线程的几种方式是经常被问到的问题。那么你究竟知不知道呢?在这,本人对其进行了整理,供大家进行参考。对三种方式进行比较:a)使用继承Thread类的方式创建多线程的advantage是:编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程。disadvantage是:线程类已经继承了Th...原创 2019-05-23 21:46:34 · 849 阅读 · 0 评论 -
Java面试题之并行和并发有什么区别?
在我们应聘的过程中,会有人问你,并行和并发他们之间是怎样的区别呢?虽然学过这些知识,但是没有进行整理,猛地一问也许你会回答不上来,所以在学习过程中我们要不断去整理所学的知识,进行系统化,才会有更加清晰的脉络。那么今天为大家整理了并行和并发的区别?并发:一个处理器可以同时处理多个任务。这是逻辑上的同时发生。并行:多个处理器同时处理多个不同的任务。这是物理上的同时发生。有一个清晰地比喻:并...原创 2019-05-23 18:22:11 · 12856 阅读 · 4 评论 -
Java面试题之IO流分为几种?
各位伙伴们,大家好!随着时间的推进,由于本人需要为实习面试做准备,同时也希望每天能将面试题整理一点,来帮助和我有同样需求的伙伴,古人云:不积跬步,无以至千里;不积小流,无以成江海;所以呢?每天进步一点点,日积月累,终会有大的进步。今天要讲解的是面试过程中常有的一道题目:IO流分为几种?通过这个框架我们有一定的认识,还需要进行深层次的反问?IO流是用来做什么的?它的分类?常用的有哪几种?J...原创 2019-05-18 16:52:26 · 11320 阅读 · 0 评论 -
Java面试题之== 和 equals 的区别是什么?
对于面试Java的工程师来说,会有这样的一个问题,即== 和 equals 的区别是什么?我想在这里做个简单的总结,供大家来参考。== 和 equals 的区别是什么?(1)==比较的是值是否相等 如果是作用于基本的数据类型,直接比较它们的值是否相等。 如果作用于引用类型,来比较的是所指向的对象的地址。(2)equals...原创 2019-05-27 16:38:06 · 379 阅读 · 0 评论 -
Java面试题之HashSet 的实现原理?
HashSet 的实现原理?首先,我们需要知道它是Set的一个实现,所以保证了当中没有重复的元素。一方面Set中最重要的一个操作就是查找。而且通常我们会选择HashSet来实现,因为它专门对快速查找进行了优化。HashSet使用的是散列函数,那么它当中的元素也就无序可寻。当中是允许元素为null的。先对实现原理进行一个总结:(1)基于HashMap实现的,默认构造函数是构建一个初始容量...原创 2019-05-22 20:36:34 · 9009 阅读 · 4 评论 -
Java面试题之ArrayList 和 LinkedList 的区别是什么?
我们知道List的两种基本类型是:(1)ArrayList(2)LinkedList那么我们在面试中会遇到这样一个问题,并且在学习完之后,我们要试着去总结,那么ArrayList和LinkedList的区别是什么呢?(1)ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。(2) 对于随机访问,ArrayList优于LinkedList,ArrayList可以...原创 2019-05-21 20:51:33 · 1536 阅读 · 0 评论 -
Java之Foreach与迭代器
如果你在学习《Thinking in Java》这本书,在前面我们经常会接触到foreach语法主要用于数组,我们不禁会有这样的疑问,它难道仅仅只有这个用途吗?其实不是的,它可以应用于任何的Collection对象。我们需要具体的实例来说明这个问题:下面这段代码说明能够与foreach语法一起工作是所有的Collection对象的特性。import java.util.Coll...原创 2019-05-29 18:20:37 · 832 阅读 · 0 评论 -
Java之基于Servlet的Web开发简介
由于学习的过程中,接触到了这部分内容,所以特别的在这进行整理,分享给大家。1、定义Servlet是Java Servlet的简称,称为小服务程序或服务连接器;2、原理从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。Servlet是Java Servlet API开发的一种Java类,这些API被包含在ja...原创 2019-05-29 20:31:19 · 785 阅读 · 0 评论 -
构造器异常
有时我们会想:“如果异常发生了,所有的东西都能被正确清理吗?”当涉及到构造器时,又会怎样呢?总结来说:在构造器内,如果抛出了异常,那么此时这些清理行为也许不能正常工作。我们还需要考虑的是:如果构造器在其执行过程中半途而废了,也许该对象的某些部分还没有被成功创建,而这些部分在finally子句中确是要被清理的。在这,我们还能用finally来解决这个问题吗?答案是不能的,我们对于那些...原创 2019-06-18 19:39:53 · 491 阅读 · 0 评论 -
Java之异常丢失
当然,Java中也存在瑕疵的地方。异常作为程序出错的标志,绝不应该被忽略,但它还是有可能被轻易忽略。用某些特殊的方式使用finally子句,就会发生这种情况:class VeryImportantException extends Exception{ public String toString() { return "A very important exception"; ...原创 2019-06-17 16:29:45 · 428 阅读 · 0 评论 -
Java之finally用来做什么?
我们知道,如果某个程序语言没有垃圾回收和析构函数自动调用机制的话,此时finally就显得十分important。但是对于Java来说,它有垃圾回收机制,内存释放不再是问题;而且Java中没有析构函数可调用,那么Java在什么情况下会用finally呢?finally在Java中的用处?如果要将除内存之外的资源恢复到它们的初始状态,这就需要finally子句。这些需要清理的资源包括了:...原创 2019-06-17 11:05:47 · 1758 阅读 · 0 评论 -
Java标准异常
在这节中我们来介绍Java标准异常:Throwable这个Java类被用来表示任何可以作为异常被抛出的类。Throwable对象可以分为两种类型:Error用来表示编译时和系统错误(除特殊情况,一般不用你来关心) 2.Exception是可以被抛出的基本类型,在Java类库、用户方法以及运行时故障中都可能抛出Exception型异常。所以Java程序员关心的基类型通常是E...原创 2019-06-16 20:50:35 · 514 阅读 · 0 评论 -
Java之异常链
何为异常链?我们常常会想:要在捕获一个异常后抛出另一个异常,并且希望把原始的异常信息保存下来,这被称之为异常链。有什么方式呢?在JDK1.4以前,作为一个程序员,我们必须要自己编写代码来保存原始的异常信息。现在,所有Throwable的子类在构造器中都可以接受一个cause(因由)对象作为参数。此cause用来表示原始异常,这样通过将原始异常传递给新的异常,即使当前位置创建并抛...原创 2019-06-16 19:59:35 · 1185 阅读 · 2 评论 -
Java之创建自定义异常
Java提供的异常体系不可能预见所有的希望加以报告的错误,所以可以自己定义异常类来表示程序中可能会遇到的特定问题。如果我们要定义异常类,必须从已有的异常类继承,最好是选择意思相近的异常类继承。建议新的异常类型最简便的方法就是让编译器为你产生默认构造器,这样就减少了写入代码的量://编译器创建了默认的构造器,它将自动调用基类的默认构造器class SimpleException ex...原创 2019-06-10 20:41:33 · 8158 阅读 · 0 评论 -
Java之异常处理基础知识
该文中是大段的文字描述,我已经进行了简化,希望这样可以帮助到读者,减少阅读文字那焦躁的心灵。将更多地干货带给你们。Java中异常处理的目的在于通过使用少数目前数量的代码来简化大型、可靠的程序的生成,并且通过这种方式可以让你更加自信:你的应用中没有未处理的错误。对异常处理的实现可以追溯到20世纪60年代的操作系统,甚至于BASIC语言的on error goto语句。而c++的异常处理机...原创 2019-06-10 19:58:38 · 282 阅读 · 0 评论 -
Java之捕获所有异常
我们在学习异常的过程中,可以只去写一个异常处理程序来捕获所有类型的异常。即通过捕获异常类型的基类Exception就可以做到这一点:catch(Exception e){ System.out.println("Caught an exception");}这样我们将捕获所有异常,所以最好将它放在处理程序列表的末尾,以防止它抢在其他处理程序之前先把异常捕获了。下面用一...原创 2019-06-14 19:57:10 · 8168 阅读 · 0 评论 -
异常使用指南
关于异常的使用:谢谢大家!原创 2019-06-19 11:56:50 · 249 阅读 · 0 评论 -
Java面试题之Iterator 和 ListIterator 有什么区别?
如果在这你还没有对Iterator进行学习的话,我想你需要花费十分钟的时间对小编撰写的Iterator的部分进行学习,以便你可以更加清晰地得出这两者的区别以及各自的优势和缺点。Java面试题之迭代器Iterator是什么?我们需要知道的第一个则是:(1)所属关系,ListIterator是一个Iterator的子类型。(2)局限:只能应用于各种List类的访问。(3)优势:Iterato...原创 2019-05-21 19:56:12 · 2005 阅读 · 1 评论 -
Java面试题之迭代器Iterator是什么?
面试过程中,经常会有人问,请说一下介绍一下迭代器Iterator。那么今天我们就来进行学习一下。首先思考这样一个问题,如果原本对着List编码的,但是后来发现如果能够把同样的代码应用于Set,将会更加方便,此时应该怎么做呢?如何才能不重写代码就可以应用于不同类型的容器。迭代器Iterator是什么?**迭代器(也是一种设计模式),通常被称为轻量级对象****:只因为创建它的代价小。迭代器...原创 2019-05-21 18:24:06 · 6820 阅读 · 0 评论 -
Java之向上转型
在学习向上转型的过程中,为了将其讲述清楚,让大家更好的理解,定义我们结合代码来讲解。package lession04;class Instrument{ public void play() {} static void tune(Instrument i) { i.play(); }}public class Wind extends Instrument{ publi...原创 2019-05-05 19:09:38 · 431 阅读 · 0 评论 -
Java之组合与继承之间的选择
我们在学习了组合与继承之后,或许我们想要知道这两者之间的区别在哪呢?应用的时候如何进行选择呢?这是我们这篇文章所要讲述的内容。首先,我们必须要知道,他们是为了对代码进行复用的两种不同方式,我们先来介绍一下二者的概念:组合:只需在新的类中产生现有类的对象。新的类是由现有类的对象所组成的。继承:按照现有类的类型来创建新类,无需改变现有类的形式,并且在其中添加新的代码。区别:组合是显示地允许在新...原创 2019-05-05 15:22:17 · 420 阅读 · 0 评论 -
java之名称屏蔽
学习任何事物,先从其定义入手,那么我们将会更加深入的理解,首先我们来看一下什么叫名称屏蔽。名称屏蔽:如果说Java的基类拥有某个多次被重载的方法名称,那么如果你在导出类中重新定义该方法名称并不会屏蔽其在基类中的任何版本。也就是说,重载机制会正常工作。package lession04;class Homer{ char doh(char c) { System.out.println...原创 2019-05-05 14:44:03 · 496 阅读 · 0 评论 -
java之构造器初始化----------------静态数据的初始化
**Java静态数据的初始化基本思路:(1)我们首先看到public class StaticInitialization 类中的带有static关键字的语句,会优先对这些进行初始化。(2)第一个new Table(),程序会转到Table类,然后优先进行static字段的语句进行初始化,然后执行Table这个构造方法。(3)然后new Table()执行完毕,进行下一条语句,new C...原创 2019-04-27 17:26:31 · 468 阅读 · 0 评论 -
java之构造器初始化-------------初始化顺序
1、构造器初始化之初始化顺序学习分享分析如下:(1)从主函数看起,有一个new House()对象,那么我们转到House类中,顺序向下,看到new Window()对象,并且把1传到Window类,打印出Window(1)。(2)由于变量定义的顺序决定了初始化的顺序,那么我们在调用构造器或者其他方法之前,会全数初始化Window对象,接着分别按(1)中所说,初始化Window w2,Win...原创 2019-04-27 16:18:53 · 240 阅读 · 0 评论 -
Java之for循环输出九九乘法表
for循环嵌套输出九九乘法表package lesson02;public class Demo03 { public static void main(String[] args) { // TODO Auto-generated method stub //循环结构九九乘法表[for循环实现] int row=9; for(int i=1;i<=row;i++)...原创 2019-03-28 15:27:15 · 730 阅读 · 1 评论 -
循环嵌套练习题
循环嵌套输出小星星package lesson02;public class Demo01 { public static void main(String[] args) { // TODO Auto-generated method stub //循环嵌套输出四行五列小星星/* * * * * * * * * * * * * * * * * *...原创 2019-03-28 15:07:57 · 1040 阅读 · 0 评论 -
Java之数组元素对调
Java数组对调基本思路: **1.计算对调次数。2.对调算法:for循环实现<1>.将左边的值赋值给临时变量<2>.将右边的值赋值给左边<3>.将临时变量的值赋值给右边3.遍历数组,查看是否对调。**package lession11;public class Demo01 { public stati...原创 2019-03-29 20:47:47 · 2372 阅读 · 0 评论 -
Java之嵌套类
嵌套类学习嵌套类之前,我们先对嵌套类的定义进行充分的学习,以便我们能够对嵌套类的理解更加透彻。嵌套类:当我们不需要内部类对象与其外围类对象之间有联系,我们可以将内部类声明为static。嵌套类与普通的内部类区别:在嵌套类中我们用static来对普通的内部类对象隐式的保存的指向创建他的外围类对象。嵌套类意义:(1)要创建嵌套类的对象,并不需要其外围类的对象。(2)不能从嵌套类的对象中访问...原创 2019-05-13 20:10:10 · 165 阅读 · 0 评论 -
java之final关键字
我们首先要知道可能使用到final的三种情况:(1)final数据(2)final方法(3)final类首先我们从final数据进行讲述:在编写程序的过程中,我们会需要一些不被改变的常量或者是引用,在java中我们用这一种形式来告知编译器,在执行计算时,可以将该常量值带入到任何可能用到它的计算式中,为运行来减轻负担。对于基本类型来说,final使数值固定不变;而对于对象引用,final...原创 2019-05-06 19:24:06 · 163 阅读 · 1 评论 -
Java面试题之容器有哪些?
今天我们来学习Java工程师面试中经常会被问到的很重要的一部分,就是关于容器,所谓万丈高楼平地起,那么今天我们先来学习Java中有哪些容器呢?Java中容器有哪些?Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念:(1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。(2)Map。一组成对的“键值对”对象,允许你使用键来查找值。我相信从这两张...原创 2019-05-19 14:57:40 · 1415 阅读 · 0 评论 -
Java面试题之Mybatis 中 #{}和 ${}的区别是什么?
Mybatis中的Mapper的配置文件的parameterType(sql语句参数类型)有两种传递参数的方式:#{ }和 ${ }这二者的区别:(1)#{ }select * from message where name=#{name}预编译的时候处理为:select * from message where name=?(2)${ }select * f...原创 2019-05-24 21:42:06 · 2195 阅读 · 0 评论 -
Java面试题之ArrayList和Vector的区别?
在讲解ArrayList和Vector的区别时,我们就不得不提及List,所以我们对此进行回顾,通过下面这张图可知: ArrayList和Vector之间的区别在于什么呢?拿源码进行具体分析:(1)ArrayListArrayList:三个构造器,默认长度为10//构造一个默认初始容量为10的...原创 2019-05-24 15:32:33 · 2142 阅读 · 0 评论 -
Java之.this与.new的使用
使用.this和.new.this在Java当中,如果你需要生成对外部类对象的引用,那么一种简便的方法是可以使用外部类的名字后面紧跟原点和this。也就是说有两种方式:(1) return new DotThis();(2)return DotThis.this;public class DotThis { void f() { System.out.println(...原创 2019-05-10 21:47:50 · 1468 阅读 · 0 评论 -
Java之链接外部类
对外部类的链接内部类的一个重要用途就是:当生成一个内部类的对象时,此对象与制造它的外围对象(enclosing object)之间就有了某种联系,所以它能够访问其外围对象的所有成员,而不需要任何特殊条件。除此之外,内部类还拥有其外围类的所有元素的访问权。interface Selector{ boolean end(); Object current(); void next();}...原创 2019-05-10 20:05:09 · 451 阅读 · 0 评论 -
Java之内部类的创建
内部类在Java当中,我们是可以**将一个类的定义放在另一个类的定义内部,这称之为内部类。**知道了定义之后,我们需要去知道使用内部类的必要性以及将一些易混淆的概念区分开来。首先我们要知道内部类它有用在什么地方,划重点,**内部类允许你将一些逻辑相关的类组织在一起,并且去控制位于内部的类的可视性。**有时候,我们觉得它像是一种代码隐藏机制:将类至于其他类的内部,但是,内部类它是了解外部类的...原创 2019-05-10 19:11:46 · 249 阅读 · 0 评论 -
Java之接口与工厂
在这我们需要对工厂方法设计模式尽心一个学习,这对框架的创建是十分有力的。其实我们学习的接口呢,是实现多重继承的一种途径,而你去生成遵循某个接口的对象的典型方式就是工厂方法设计模式。通过这种方式,我们的代码将完全与接口的实现分离,这是十分有利于我们将某个实现替换为另一个实现。我们在工厂对象上调用的是创建方法,而该工厂对象的将生成接口的某个实现的对象。话不多时,直接那代码来看:package ...原创 2019-05-09 19:50:20 · 452 阅读 · 0 评论 -
Java之嵌套接口
在学习接口的过程中,这次的嵌套接口对接口的只是覆盖的更加全面,所以在这为读者们进行讲解。嵌套接口**:指接口可以嵌套在类或其他的接口中。但凡事的存在必有其必然性,也存在一定的规则约束。接下来我们通过以下代码进行分析得出我们应该掌握的一些规则。package lession08;class A{ interface B{ void f(); } public class BImp ...原创 2019-05-09 19:09:49 · 1357 阅读 · 0 评论