关于ApacheOozie的异常解决 前两天搭建oozie,遇到一个神仙bug,setFile(null,true) call failed…java.io.FileNotFoundException…(Is a directory)具体异常如下:经过一天多的摸排,发现是cdh5的oozie与Apache Hadoop3不兼容导致,因此重装了oozie5.1,问题解决,话说oozie5.1的编译过程是真心痛苦,时间超长不说,ma...
HIVE3启动报错,Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditio 报错如下:[root@hadoop001 hive]# bin/hiveSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/sf/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBin...
第二章 深入synchronized关键字 1.引言线程安全是并发编程的重中之重,造成并发问题的诱因主要有两点。1.存在临界资源2.存在多条线程同时操作共享数据基于这种情况,我们会考虑一种机制,使得一个线程访问临界资源的时候,其他线程不能对其访问,这种机制呢就称为互斥锁。java中的synchronized就是这样一种机制,其修饰的代码块同时只能有一个线程可以访问,因此保证了安全性,同时synchronized还可保证一个线程的变化...
第一章 String,StringBuffer,StringBuilder详解 1.定义stringBuilder是从jdk1.5提供出来的新的string封装类,而stringBuffer是jdk1.0就已经存在了,这两个类的拼接效率远高于string。2.string简介string其实就是由若干个字符线性排列而成的,可以理解为字符Array,那么既然是数组实现的,那就需要考虑到数组的特性,数组在内存中是一块连续的地址空间块,即在定义数组的时候需要指定数组的大小换...
第十八章(最终章) 多线程 1.多线程定义线程是操作系统能够进行运算调度的最小单位,而多线程就是在软件或者硬件上并发执行多个线程。简单来说:线程是程序中一个单一的顺序控制流程;而多线程就是在单个程序中同时运行多个线程来完成不同的工作Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了...
第十七章 图形界面编程 由于java的GUI编程swing/AWT实在是太烂,API相当难用,基本也没有人会使用java去做图形界面开发,因此略过不讲,这玩意早已被淘汰…有兴趣的可以研究下javaFx,或者其他语言,如C#的winform,C++的qt或者python的Tkinter,这些开发图形界面都相当快速且方便。给个友情链接:http://c.biancheng.net/swing/有兴趣的可以自己写个计算器或...
第十六章 网络编程 1.Java 网络编程网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net 包中提供了两种常见的网络协议的支持:1.TCP:TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常用...
第十五章 序列化 1.定义Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化...
第十四章 泛型 1.泛型介绍Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。2.泛型方法定义泛型方法的规则:所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的)每一个类型参数...
第十三章 集合框架的比较 1.List Set Map 的区别List: 有序,可以多个元素引用相同的对象Set: 无序,不重复,不可以多个元素引用相同对象Map: 使用键值对存储,两个key可以引用相同的对象,但是key不能重复package com.hqa.design.test;import java.util.ArrayList;import java.util.HashSet;import j...
第十二章 集合框架 1.Java 集合框架关系图2.集合概述Java集合框架标准化了Java处理对象组的方式。Java集合框架在JDK1.2版本提出,在JDK1.5版本进行了修改(引入了泛型、自动装箱/拆箱以及for-each格式循环)。集合框架再设计之初有几个目标:框架是高性能的,基本集合(动态数组、链表、树、哈希表等)的实现是高效的。框架必须允许不同类型的集合以类似的方式进行工作,并且有很高的互操作...
第十一章 条件与循环 1.Java 条件语句语法如下:if(布尔表达式){ //如果布尔表达式为true将执行的语句}if(布尔表达式){}else{}if(布尔表达式){}else if(布尔表达式){}else if(布尔表达式){}else if(布尔表达式){}else{}2.循环语句package com.hqa.design.test;import java....
第十章 运算符 1.运算符分类算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符1.2算术运算符 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A ...
第九章 java的变量类型 1.变量类型格式所有的变量在使用前必须声明。声明变量的基本格式如下:type identifier [ = value][, identifier [= value] ...] ;格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。举例:int a, b, c; // 声明三个int型整数:a、 b、cint d ...
第八章 关于float和double的探讨 1.主要区别01.在内存中占有的字节数不同单精度浮点数在机内存占4个字节双精度浮点数在机内存占8个字节02.有效数字位数不同单精度浮点数有效数字8位双精度浮点数有效数字16位03.数值取值范围单精度浮点数的表示范围:-3.40E+38~3.40E+38双精度浮点数的表示范围:-1.79E+308~-1.79E+30804.在程序中处理速度不同一般来说,CPU处理单精度浮点...
第七章 基本数据类型 1.变量定义变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。java的两大数据类型:引用类型、基础类型2.基础类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。见表:类型定义最小值最大值默认值描述例...
第六章 面向对象高频面试题 1.面向对象的三大特性答:封装、继承、多态2.为什么框架编程如ssh、ssm等,实体类写了含参构造器,就必须显式指定无参构造?答:框架底层必有反射,大多数框架反射会调用set、get方法以及实体的无参构造方法,未避免踩坑,实体类尽量要保留无参构造(指定了含参构造器,则类的无参构造必须显式指定)3.接口隔离原则和单一原则如何理解答: 单一是指接口要尽量的智能单一,不要造成为了实现一个接口,...
第五章 java类与对象 1.面向对象java是面向对象的语言。面向对象(OOP 即 Object Oriented Programming)是一种思想,任何事物都可以看做是一个对象。我们打个比方来类比一下,以动物为例子,动物可以看做是一类事物的总称,可看做为类。其可以是老虎,狮子,或者人..,这就是动物这个类具体的实现,即对象。动物有吃饭,奔跑的行为,我们可以看做为实例的方法,有耳朵眼睛和鼻子,这些就是实例的属性。总而...
第四章 关于static代码块的深入探讨 1.什么是静态代码块执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员。2.静态代码块示例package com.hqa.design.test;public class Demo {public static final String NAME = "JACK"; static{ System.out....
第三章 java基础语法 1.基本概念介绍1.1 类 : 类是一个模板,它描述一类对象的行为和状态。1.2 对象 : 对象是类的一个实例,有状态和行为。1.3 方法 : 方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。1.4 实例变量 :每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。2.入门示例2.1 新建文本文件 HelloWorld.txt,修改...
第二章 java开发环境安装 1.windows安装jdk1.1安装包下载oracle官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1.2安装一路next很简单1.3环境变量配置右键我的电脑→属性→高级系统设置→环境变量打开后在系统变量处点击新建新建系统变量: 变量名:JAVA_...
Docker + Jenkins 可持续集成实战 前言本篇文章将会从无到有,构建一套持续集成环境,该篇涉及以下技术点:JavaWeb基础 SpringBoot框架 Docker 容器引擎 Jenkins自动化部署工具 Linux基础,Shell脚本基础 Nginx反向代理服务器 虚拟机技术(Hyper-V或VMWare) Xshell工具一、课程目标这里我们先简单介绍一下自动化部署和持续集成的概念:持续集成,简称C...
Java手写动态代理(支持多个切面) 1.目标类package com.hqa.test;import com.hqa.annotion.Aop;public class TestAop{ @Aop(executeValue="com.hqa.test.TestAopHandler") public void print(){ System.out.println("AOP method print execu...
HashMap(jdk7)的手写实现 #两个类,扩容,散列皆有详细的注释1.顶层接口CMappackage com.cn.map;import java.io.Serializable;import java.util.Set;/** * 自定义map接口 * @author Mc * @param <K> * @param <V> */public interface CMap&...
springboot整合quartz多任务集成(复制即用) 1.SchedulerListener 类@Configurationpublic class SchedulerListener implements ApplicationListener<ContextRefreshedEvent> { @Autowired public TaskManager taskManager; @Override ...
Mysql配置主从复制傻瓜式教学(windows版本) 一,试验环境Windows7 * 3台 (ip:192.168.6.12,192.168.6.23,192.168.6.10)Mysql5.5myCat1.6-RELEASE(下载地址:http://dl.mycat.io/)二,准备工作2.1Master配置①在192.168.6.12上部署主数据库,解压缩Mysql5.5至C:\Program Files\MySQL\M...