Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java中异常的处理及抛出

Java中异常的处理及抛出

首先我们需要知道什么是异常?常通常指,你的代码可能在编译时没有错误,可是运行时会出现异常。比如常见的空指针异常。也可能是程序可能出现无法预料的异常,比如你要从一个文件读信息,可这个文件不存在,程序无法运行下去了,故程序要抓这些异常,通过异常处理机制来抛出这些异常,程序员就可以通过抛出的异常来修改代码。{}try块中放入可能会出现异常的代码,catch块负责捕获异常,finally块负责处理一些必须执行的代码,比较关闭流等。如何找出异常?(通过什么方式实现?...
Java迭代器 讲解

Java迭代器 讲解

迭代器在其实就是指针,读取集合或者数组中的一个值,读完以后又指向下一条数据。iterator()迭代器只读,不能改效率要比for循环高迭代器的一些方法:HasNext() 如果仍有元素可以迭代,则返回 trueNext()返回迭代的下一个元素(取值)remove()从迭代器指向的 collection 中移除迭代器返回的最后一个元素用法:Set集合中无法用get查询,我们可以用迭代器import java.util.*;public class Set练习...
JDK1.8HashMap源码分析

JDK1.8HashMap源码分析

一、HashMap概述在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。下图中代表jdk1.8之前的hashmap结构,左边部分即代表哈希表,也称为哈希数组,数组的每个元素...
Java设计模式之单例模式及其应用

Java设计模式之单例模式及其应用

一、 单例模式概述Java中单例模式的定义是:一个类只有一个实例,而且自行实例化并且向整个系统提供这个实例。优点:由于单例模式在内存中只有一个实例,减少了内存开支和系统的性能开销;单例模式可以避免对资源的多重占用。二、单例模式的几种形式1. 饿汉式单例public class Singleton {private static final Singleton singleton= new Singleton();private Singleton(){}p...
C++对C的函数拓展

C++对C的函数拓展

一,内联函数1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10。那么C++中是否有什么解决方案来替代宏代码片段呢?C++中推荐使用内联函数代替宏代码片段,C++中使用inline关键字声明内联函数。注意:内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。2.内联函数示例# include<iostream>usin...
C++中的引用

C++中的引用

一,C++中引用的基础知识1.引用的基本概念 1.所谓的引用其实就是对变量起“别名”。引用和变量对应得是相同的内存,修改引用的值,变量的值也会改变,和指针类似。 2.引用在定义的时候必须要初始化,初始化后就用引用的对象绑定在一起了。 3.引用本身不是对象,不能定义引用的引用。2.引用的意义 1.引用作为其他变量的别名存在,因此在一些场合可以用来替代指针。 2.引用相对于指针来说具有更好的可读性和实用性。3.引用的定义方式 ...
C++中的命名空间

C++中的命名空间

一,命名空间(namespace)的基本概念以及由来1.什么是标识符: 在C++中,标识符可以是基本的变量,类,对象,结构体,函数,枚举,宏等。2.什么是命名空间: 所谓的命名空间是指标识符的可见范围。C++标准库中的所有的标识符都被定义在一个名为std的命名空间中。3.C语言的命名空间: 在C语言中只有一个全局作用域,因此在C语言中所有的标识符共享一个命名空间,因此随着代码量的增大,标识符之间可能会重名。由此会造成一些命名问题。4.针对C语言的问题...
[排序算法]冒泡排序之C语言实现

[排序算法]冒泡排序之C语言实现

一,冒泡排序介绍及原理基本概念:依次比较相邻的两个数,大的数往后放,小的数往前面放。原理介绍:二,冒泡排序的C语言实现根据上图的原理,我们编写C语言的冒泡排序实现# include <stdio.h>// 排序函数void sort(int * p,int len){for(int i=0;i<len;i++){// 第二层循环,随着外层循环次数的递增是递减的,因为排序一次,就已经把大的数放到后面了,就不需要再次排它了for(int j=...
线性表之顺序存储结构实现

线性表之顺序存储结构实现

一,线性表的概念以及数学定义1.线性表的概念 零个或多个数据元素的有限序列。首先说明这是一个序列,也就是说数据元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且仅有一个前驱和后继。2.数学定义 若将线性表记为(a1...ai-1,ai,ai+1....an),则线性表中,ai-1领先于ai,ai领先于ai+1,则称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素,当i=1,2....n-1的时候,a...
Java回调方法详解

Java回调方法详解

回调在维基百科中定义为:在计算机程序设计中,回调函数,是指通过函数参数传递到其他代码的,某一块可执行代码的引用。其目的是允许底层代码调用在高层定义的子程序。举个例子可能更明白一些:以Android中用retrofit进行网络请求为例,这个是异步回调的一个例子。在发起网络请求之后,app可以继续其他事情,网络请求的结果一般是通过onResponse与onFailure这两个方法返回得到。看一下相关部分的代码:call.enqueue(new Callback...
<< 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 >>