Java程序在运行期间,可能会发生不可被期望的事件,它会阻止程序按照程序员的预期正常执行,这就是异常。异常发生时,我们不应该让程序自生自灭,把输出的错误信息返回给用户,因此我们需要对异常进行处理,Java有着非常优秀的异常处理机制。直接上Java异常类之间的结构图,一目了然的看明白很多问题。 1、T ...
分类:
编程语言 时间:
2018-06-15 17:50:18
阅读次数:
196
使用spring难免要用到spring的事务管理,要用事务管理又会很自然的选择声明式的事务管理,在spring的文档中说道,spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作。那么什么是检查型异常什么又是非检查型异常呢?最简单的判断点有两个:1.继承 ...
分类:
编程语言 时间:
2018-06-15 13:00:33
阅读次数:
141
早期(编译期)优化 java语言编译期 1.前端编译器(编译器的前端):*.java文件 => .class文件 Sun的Javac,Eclipse_JDT中的增量式编译器(ECJ) 2.后端运行期编译器(JIT编译器):字节码转 => 机器码 HotSpot_VM的C1、C2编译器 3.静态提前编 ...
分类:
其他好文 时间:
2018-06-14 20:39:43
阅读次数:
231
日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复 ...
分类:
数据库 时间:
2018-06-12 19:32:01
阅读次数:
217
static 和非static 之间的差异,只有当值在运行期间初始化的前提下,这种差异才会揭示出来。因为编译期间的值被编译器认为是相 同的。 注意对于fd1 和fd2 来说,i4 的值是唯一的,但i5 的值不会由于创建了另一个FinalData 对象而发生改 变。那是因为它的属性是static,而且 ...
分类:
编程语言 时间:
2018-06-10 20:09:16
阅读次数:
242
一:简介 最近学习hadoop本地运行模式,在运行期间遇到一些问题,记录下来备用;以运行hadoop下wordcount为例子。 hadoop程序是在集群运行还是在本地运行取决于下面两个参数的设置,第一个参数用来设置mr程序要在yarn集群中执行,第二个参数设置yarn集群的主节点地址。 hadoo ...
分类:
其他好文 时间:
2018-06-10 11:53:25
阅读次数:
206
一、装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大。装饰器一般接受一个函数对象作为参数,以对其进行增强 说白了:就相当于C++中的构造函数,与析构函数 装饰器本身是一个函数,用于装饰其他 ...
分类:
编程语言 时间:
2018-06-09 16:43:25
阅读次数:
219
垃圾收集器和内存分配 程序计数器、虚拟机栈、本地方法栈这三个区域和线程的生命周期一致,所以方法结束或者线程结束时,内存自然就跟着回收了。Java堆和方法区,只有在程序处于运行期间才能知道会创建哪些对象,即这部分的内存分配和回收都是动态的, 垃圾回收主要关注的是堆内存 。 对象存活判断 在进行垃圾回收 ...
分类:
其他好文 时间:
2018-06-09 15:29:01
阅读次数:
169
一、什么是堆?(Heap) 堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收。 是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。 二、什么是栈?(Stack) 栈是有顺序的,是 ...
JavaScript由于在运行期进行绑定的特性,JavaScript中的this可以是全局对象,当前对象或者任意对象,这完全取决于函数的调用方式 1、全局作用域或者普通函数中this指向全局对象window 2、方法调用中谁调用this指向谁 3、在构造函数或者构造函数原型对象中this指向构造函数 ...
分类:
Web程序 时间:
2018-06-08 15:46:16
阅读次数:
212