自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Java异常机制

Java异常机制是一种错误检测报告与错误恢复机制,该机制保证程序在错误发生时,中断当前程序的执行并进行错误报告,并能够在代码的任意地方将问题捕获并进行处理。并且,只需在一个地方处理该异常,即所谓的“异常处理程序”中。通过该机制,可以 把“描述在正常执行过程中做什么事”的代码和“出了问题怎么办”的代码相分离,这样程序员就很容易专注于业务代码的编写,代码也更易阅读和维护。

2020-02-12 22:12:24 278

原创 List集合框架解析—基于JDK1.8

目录引言引言集合框架是日常开发中最常用的工具类之一,也是面试常考题之一。笔者在开发过程中使用集合框架时,总感觉到一丝别扭,因为对此框架掌握总是模棱两可,通过看别人的博客和公司现有代码的参考,知道这样写是对的,但对其实现原理却不慎理解,而且每次准备应对面试,总是要重新捋一遍实现原理,不胜其烦。为了在开发中理直气壮的编写代码和不再重复复习以应对面试,决定在新年放假几天,阅读源码,总结实现原理,写一...

2020-01-29 18:12:13 346

原创 Java为什么要面向接口编程

就我目前的水平来看,Java使用面向接口编程主要有3点好处。代码的灵活性和高可复用性良好的可扩展性低耦合   我们学习知识,要做到知其然而知所以然,知道一些弊端,你才能更好的体会到使用该技术所来的好处,印象才能更加深刻。一、代码的灵活性和高可复用性例如,我现在有这一需求,有很多类型的手机,持有者需要使用它们打电话。我们先看看不使用接口编程,对程序的影响是什么。package i...

2019-03-14 11:34:43 5939 3

原创 java关键字final解析

目录:被final修饰的类、属性和方法什么是变量的不变性被final修饰的字段并不是内容不可以改变,而是引用指向的内存地址不变final具有线程安全性一、被final修饰的类、属性和方法final类:被关键字final修饰的类不能被继承,这个类的设计细节不允许被改变,不能扩展。final不能修饰抽象类和接口,因为抽象类生成对象必须重写抽象方法,接口必须被其他类实现,也即是必须重写方...

2019-03-10 14:01:34 602

原创 web容器解析

目录:简述web服务器功能web服务器的限制辅助应用web容器的作用web容器和web服务器的区别和联系一、简述web服务器功能。web服务器主要作用是处理客户请求,并作出响应。当浏览器发送一个HTTP请求到web服务器,web服务器解析请求,在内部做处理,返回一个HTTP响应给浏览器,浏览器解析此响应,并作出相应动作(例如:显示HTML页面,展示图片等等。)浏览器和web服...

2019-03-10 12:53:04 2214 2

原创 String、StringBuffer、StringBuilder的区别

一、字符串常量——String类String类代表字符串。其类名被final修饰,不能被继承,方法不能被重写,使其具有不变性。

2019-03-04 22:36:10 200

原创 getClass()和forName()的区别

getClass()和forName()都是用来获取Class对象引用的函数,他们返回同一个Class对象的引用。不同的是getClass()函数是Object对象的方法,如使用此函数,需要一个对象的引用来调用此方法。forName()函数是Class类中的一个静态方法,参数是全限定名(包名+类名),会抛出ClassNotFoundException异常,因此调用此函数,需要处理或声明抛出该异常。...

2018-12-10 19:04:22 1551 1

原创 Servlet的生命周期

Servlet的生命周期: web容器通过类路径找到Servlet,并加载。 调用默认构造函数实例并初始化Servlet。 调用init(),初始化Servlet(下面会重点讲解这一步),只执行一次。 容器调用service()方法。此方法会根据HTTP方法,调用相应的doGet()和doPost()。 destroy() 此方法会杀死Servlet对象,或调用容器...

2018-08-29 14:02:34 262

原创 静态代理模式

现代生活节奏太快,很多事情我们不能亲力亲为,需要其他人帮我们处理一些繁琐的事情。例如:找房子,通过房屋中介可以更快的找到心仪的房子(前提是这房屋中介别太坑);喝多了找代理驾驶;找小明帮我抄作业(哈哈)等等。这些我们能做的事情但是不想去做的我们找其他人帮我们做,这些人就是代理(也就是代你做一些事情)。Java是面向对象的世界,能够模拟我们现实生活。既然现实生活中用到了代理人,那么可不可以用到Ja...

2018-08-10 23:20:48 274

原创 run()和start()的区别

在学习run()和start()方法之前,你需要了解Runnable接口和Tread对象的区别和作用是什么。可以参考我的博文Runnable和Thread的区别。 还是简单介绍一下Runnable接口和Thread对象吧。 实现了Runnable接口的对象并不是线程,它只是任务。Thread对象才是真正的线程创建者。也就是说,任务和线程是分开的,任务放在线程里面才会被执行。 简单的事例:...

2018-08-09 19:36:47 12969 2

原创 Thread和Runable的区别

声明:本博文引用自JDK源码中的一些坑和Thread和Runable的区别这两篇文章,我将他们的思想拿过来总结一下,并添加自己的一些东西。 Java中创建线程有两种方式: 通过继承Thread类 实现Runnable接口我们都知道使用多线程编程,那么为什么使用他呢?他有什么优势? 当使用单线程编程时,可能遇到进程阻塞现象(例如:I/O流读取错误,堆栈溢出等等,我们...

2018-08-09 15:04:46 2064 2

原创 程序、进程、线程、并发的特点及作用

顺序编程: 即程序中的所有事物在任意时刻都只能执行一个步骤。在未学习并使用并发编程前,你使用的都是顺序编程。什么是程序、进程、线程、并发?程序和进程 程序并不能单独执行(例如需要CPU的调度、寄存器、随机存储存储器RAM等等协助工作),只有将程序加载到内存中,系统为它分配资源后才能执行,这种正在执行的程序叫做进程。进程是系统进行资源分配调度的一个基本单元,每个进程都有自己...

2018-08-09 01:27:08 1650

原创 FilenameFilter接口详解

FilenameFilter:文件名过滤器。这名字起的,没说的,通俗易懂。就是在文件集合中过滤出我想要的文件。 怎么用呢? 我们看一下这个接口怎么写的。public interface FilenameFilter { boolean accept(File dir, String name); }好家伙!就定义了一个抽象方法,逗我呢?...

2018-08-08 10:51:09 10575 5

原创 快速排序

简单介绍下 快速排序是比较排序的一种,其核心思想是在序列中随便找一个数为基准数,首先从右向左遍历,找到比基准数小的数,定位在当前索引(设为 j),再从左向右遍历,找到比基准数大的数,定位索引(设为i),交换索引 j 和索引 i 指向的值。这时右边从 j 开始,左边从 i 开始,重复上诉步骤,直到 i = j。基准值与索引i指向的值交换。再次递归调用。不会画图,太费劲了,上代码吧。...

2018-08-06 15:24:34 194

原创 浅谈File类

这个家伙到底是个什么东东 File:中文翻译为 文件、档案。 看到这个解释。你可能会理所当然的认为这相当于Windows/Linux系统中的一个实体文件或目录,但这是一个大坑,当初我就跳坑里了。实际上,它代表的是一个特定文件的名称,或一个目录下的一组文件的名称。注意:它仅仅代表的是一个名称!名称!名称!重要的事情说3遍!看到这里,可能会蒙圈,不着急,慢慢往下看。先说说构造...

2018-08-06 00:21:14 244

原创 插入排序

什么是插入排序?插入排序(Insertion Sort)是一种简单有效的比较排序算法,属于原地排序。其核心思想是:在每次迭代过程中从输入序列中取出一个元素插入到一个有序序列中,形成新的有序序列。重复该过程,直到序列中所有元素都被取出。解析:输入序列:就是要排序的一组元素 现在我把它称为N。有序序列:输入序列的一部分,该部分是有序的(升序或降序) 称为M。如...

2018-08-04 18:02:10 7214

原创 选择排序

概念:选择排序是一种原地排序(in-place)算法。在一组元素中,规定(你的规定就是选择)在某一索引上的元素和其后面的相比是最大的值或最小的值。所需的操作只在需要时才执行。算法核心:(有升序和降序两种排序,这里选择升序排序)1. 从当前索引向后寻找最小值。2. 用当前索引的元素和最小值交换。3. 重复执行1.2。图解:给定一个序列: 6 8 1 4 5 3 7 2...

2018-08-03 15:57:03 174

原创 冒泡排序

什么是排序?排序是按照某种顺序(升序或降序)排列序列元素的一种算法。排序的输出是输入的排列或重新排列。例如:还记得上学时的第一次出操吗?先开始都是毫无顺序的站在自己班级的一排上(排序的输入),等到老师来了,就会让我们按照个头高低顺序排列(对排序的输入采用升序或降序)。如何按个头从低到高(升序)或从高到低(降序)的排列学生?1. 学生们自己和后面同学比较,谁个头高站在后面,逐个相互比...

2018-08-03 10:36:11 367

原创 数据结构与算法

引言:    本人今年刚毕业,由于大学期间没好好学,基础非常薄弱,所以到现在都没找到工作。只好投应届生或硬着头皮去投实习生,这些天对我打击非常大,连个面试的资格都没有,笔试就被刷掉了。笔试考的都是算法题,每次大脑都是一片空白,回来之后就是当下很忧郁啊。闲得无聊的时候就在心里吐槽,为毛老考算法,不能考我实践能力吗?或面试问问我技术和项目方面的不好吗?这几天没事就在论坛上看大家对待要考算法这一问题...

2018-08-03 00:22:45 296 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除