自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadPoolExecutor线程池解析

ThreadPoolExecutor

2024-04-11 11:08:29 372

原创 Java对象equals、clone

一、==、equals、hashcodeJava中比较对象通常使用==符和equals方法。== ⽐较的是对象地址,equals 是Object的一个方法,通常子类通过重写它来比较值。equals是Object类的方法,实现如下:public boolean equals(Object obj) { return (this == obj); 就是调用== }Object类中的方法就是==,但是可以通过重写equals方法进行比较。String类就通过重写方法来比较值

2021-03-04 11:25:28 206 1

原创 dom4j、Xstream、orika core简单demo

dom4j<dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.3</version> </dependency><!--book.xml文件,后面使用--><?xml versi

2020-12-28 09:55:20 200

原创 Spring后置处理器BeanPostProcessor

Spring后置处理器BeanPostProcessorSpring提供了许多扩展点,如FactoryBean、Aware,这里还有BeanPostProcessor在Spring的生命周期中,BeanPostProcessor在初始化前后处理bean。Spring中的bean每个都会经过Bean后置处理器,其中两个方法会一个一个接受bean的实例和beanName,判断类型进行处理即可。若想使用BeanPostProcessor对bean进行增强,实现该接口即可。还可以实现Ordered接口处

2020-12-28 09:54:40 247

原创 Python基本语法一览

Python基本语法一览Python3.7Windows100、特性1、动态类型。2、两种模式,交互模式和文件模式。3、严格的缩进来控制语句范围及顺序。4、即是面向对象语言也是面向过程语言。Python中没有{},使用缩进来控制语句之间的关系。一、变量、类型、流程控制、运算符1.1、变量、类型Python是动态类型的原因,不需要指定变量类型。直接复制即可:name=...

2020-12-28 09:53:58 342

原创 Python处理Excel

Python处理ExcelPython可以很简介的处理数据,又是可以代替excel做一些繁杂的工作。Excel有两种格式: XLS是Office 2013或更早版本所使用的格式,是一种二进制格式的文件。XLSX则是用一系列XML文件组成的(最后的X代表了XML)一个压缩包。1、工具包XlsxWriterxlrd&xlwt&xlutilsOpenPyXL介绍可以创建和写Excel 2007+ XLSX文件xlrd、xlwt、xlutils三大模块分别

2020-12-28 09:51:00 208

原创 编程语言在函数中的参数传递

1、PythonPython 的参数传递是赋值传递 (pass by assignment),或者叫作对象的引用传递(pass by object reference)。Python 里所有的数据类型都是对象,所以参数传递时,只是让新变量与原变量指向相同的对象而已,并不存在值传递或是引用传递一说。 ----来自互联网总结一下:就是在使用函数时,把实参赋给函数的形参,即形参=实参,函数的形参和实参指向同一对象。那么在函数中参数的

2020-12-28 09:50:41 187

原创 大数据实践(十二)Flume入门

Flume 1.6.0Flume简介Apache Flume 是一个分布式,高可用的数据收集系统。它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集。Flume 分为 NG 和 OG (1.0 之前) 两个版本,NG 在 OG 的基础上进行了完全的重构,是目前使用最为广泛的版本。下面的介绍均以 NG 为基础。外部数据源以特定格式向 Flume 发送 events (事件),当 source 接收到 events 时,它将其存储到一个或多个 channel,channe.

2020-12-28 09:48:37 122

原创 Shell脚本入门

0、前置知识01、文本结构1、脚本文件第一行指定解释器,用#!解释器表示 如/bin/bash、/usr/bin/python32、第二行为注释,用#修饰3、其他的自由编写,注释也是02、执行权限脚本编写完成后会被执行,执行需要权限0 无权限1 r 读2 w 写4 x 执行chmod o+x xx.sh #添加执行权限 03、如何执行脚本文件中已经包含了解释器,权限足够的话,当前目录下直接即可执行如 ./hi.sh或者指定编译器bash hi.sh如果脚本所在的路径

2020-12-28 09:46:40 181

原创 Python--File及OS操作

Python–File及OS操作1、File操作Python使用open函数可以打开一个文件。如使用open函数打开"a.txt",打开权限是只读。使用该函数会返回一个对象,通过该对象可以调用一系列文件操作的方法。file=open("a.txt","r")data=file.readline()print(data)整个open函数的参数如下:open(file, mode='...

2020-12-28 09:46:19 170

原创 Python科学计算库Numpy

Python科学计算库NumpyNumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。1、简介Numpy是常用的科学计算库。NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存...

2020-12-28 09:46:07 120

原创 大数据实践(十一)SparkSQL模块基础

SparkSQL是Spark的一个子模块,主要用于操作结构化数据,借鉴了Hive。此前使用的是SparkCore模块的RDD结构进行数据处理,SparkSQL提供了结构化的数据结构DataFrame、DataSet。SparkSQL支持SQL、DSL(domain-specific language)两种方式、多种语言(Scala、Java、Python、R)进行开发,最后底层都转换为RDD.SparkSQL支持多种数据源(Hive,Avro,Parquet,ORC,JSON 和 JDBC 等)、支.

2020-12-22 13:36:45 319

原创 大数据实践(十) Spark多种开发语言、与Hive集成

Spark 可以使用scala、Java、Sql、Python、R语言进行开发。在bin目录下也提供了spark-shell、spark-sql、sparkR、pyspark等交互方式。SparkSQL实现了Hive的模型、Hive在新版本中也建议使用Spark作为计算引擎。一、Spark实现wordCount(TopK)使用以下文本进行词频统计。Java hadoop Spark \HbaseSpark hadoop Java hive mysqlhadoop Spark hive .

2020-12-22 13:36:06 642

原创 大数据实践(九)--sqoop安装及基本操作

大数据实践(九)–sqoop安装及基本操作前置工具及环境Hadoop 2.7.3sqoop 1.4.6mysql 8mysql-connector-java-8.0.20.jarjava-json.jar一、简介Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出:导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS、Hive、HBase 等分布式文件存储系统中;导出数据:从 分布式文件系统中导出数据到关系数据库中。其原理

2020-12-15 14:10:11 180

原创 大数据实践(八)--Hive、Pig安装及基本操作

大数据实践(八)–Hive、Pig安装及基本操作mysql-connector-java-8.0.16.jarhadoop 2.7.3hive 2.7.3pig 0.12.0一、简介Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。Pig和Hive类似,但不是使用SQL语句,使用的是自己的一套Pig Latin语言,可以使用脚本。

2020-12-15 14:06:53 372

原创 dom4j、Xstream、orika等类库简单使用

最近用xml的数据格式比较多,所以简单记录一下这些类库的使用。dom4jdom4j用dom模型的方式解析xml数据。<!--依赖包--><dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.3</version>.

2020-10-17 09:28:18 227

原创 joda-time类库的简单使用

joda-time是处理时间的简单的库,比自带的库有时候好用的多。<dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9.2</version> </dependency> 都能输出指定格式的文件。 Dat

2020-10-17 09:15:17 357

原创 SpringBoot--整合XML格式数据传输

SpringBoot–整合XML格式数据传输现在前后端交互都使用json格式,但是在某些特定领域,还是要求使用xml格式数据进行传输。在前台传输到后台的xml格式数据,可以将其封装到pojo实体类中,也可以将pojo实体类响应回xml格式的数据。1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri

2020-10-16 16:56:59 2371

原创 SpringBoot中的CommandLineRunner、 ApplicationRunner

SpringBoot中的CommandLineRunner、 ApplicationRunnerSpringBoot中提供了两个Runner----->CommandLineRunner、 ApplicationRunner这两个是接口,接口中的方法在系统启动时会执行,可以用于加载配置文件,数据库设置等。不过监听器也可以实现。只需实现接口,并注入容器,SpringBoot在启动时就会调用run方法。@Order(2)//设置顺序@Componentpublic class AppRu

2020-09-18 14:06:30 200

原创 Spring中的事件机制

Spring中的事件机制Spring对事件机制也提供了支持,一个事件被发布后,被对应的监听器监听到,执行对应方法。Spring内已经提供了许多事件,ApplicationEvent可以说是Spring事件的顶级父类。ApplicationListener 是监听器的顶级接口,事件被触发后,onApplicationEvent方法就会执行。如监听容器刷新的一个监听器:@Componentpublic class AppLister implements ApplicationListener&lt

2020-09-18 14:05:46 274

原创 oracle

Oracle1、用户oracle第一次登陆,可以登录sys、system用户。请输入用户名: system输入口令:(这里输入之前使用的命令)sys和system用户:Oracle安装会自动的生成sys用户和system用户(1)、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2)、system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的

2020-09-04 15:16:23 6521

原创 Spring中的ApplicationContext

Spring中的ApplicationContext1、ApplicationContext应用程序上下文ApplicationContext是最常用的Spring ioc容器,他实现了很多接口:BeanFactory:Spring 管理 Bean 的顶层接口,我们可以认为他是一个简易版的 Spring 容器。ApplicationEventPublisher:用于封装事件发布功能的接口,向事件监听器(Listener)发送事件消息。ResourceLoader:Spring 加载资源的顶层接口

2020-06-24 06:12:38 370

原创 Spring 中的BeanFactory

Spring 中的BeanFactorySpring中的BeanFactory到底是啥,是一个基础的容器,不过我们一直使用的ApplicationContext这个类相关的容器,相比于应用上下文这个继承实现了诸多接口的容器,BeanFactory更像是半成品,少了很多功能。ApplicationContext这个容器也是对BeanFactory的扩展。XmlBeanFactory看这段代码,获取Bean。XmlBeanFactory factory = new XmlBeanFactory(ne

2020-06-24 05:13:56 248

原创 Java函数式编程、lambda表达式

Java函数式编程、lambda表达式Java8开始支持函数式编程、包括lambda表达式、Stream流。函数式编程用于简化开发,对于某些类,或许只使用一次,那么就没必要对其进行单独的实现一个类,java原本提供了简化的方案,如内部类、匿名内部类等。lambda对此更加简化。函数式接口函数式接口就是只有一个方法的接口,想想函数是不是一个个是独立的。Runnable接口就是一个函数式接...

2020-06-24 05:12:54 78

原创 SpringBoot整合ElasticSearch7.6.2

SpringBoot整合ElasticSearch7.6.20、前置条件之前使用SpringBoot整合过ES的低版本,ES各个大版本之间有较大的变化。ES中值得注意的事项:​ type逐渐移除,预计版本8中将消失​ head插件在高等级的版本中,不支持直接安装,需要nodejs支持。​ SpringBoot与Es的整合,需要注意版本支持,且在7.x的ES版本中客户端更新为 High Level REST Client,在 SpringBoot中的ElasticSearchTemplat

2020-06-24 05:12:35 5894 7

原创 vscode中配置java开发环境问题解决方案

{“code-runner.runInTerminal”: true,“code-runner.executorMap”: {“java”: “cd $dir && javac -encoding utf-8 $fileName && java $fileNameWithoutExt”},“maven.view”: “flat”,“java.dependency.syncWithFolderExplorer”: false,}...

2020-06-22 01:31:48 624

原创 java.nio.charset.MalformedInputException: Input length = 1

出现这个异常,多数是SpringBoot中的yml文件编码问题,yml文件中有中文,比如注解。解决办法,将文件编码设置和项目编码一致。或者直接删除中文

2020-06-22 01:31:31 335

原创 大数据实验(七)Spark单机安装及WordCount(TopKey)

大数据实验(七)Spark单机安装前置环境Ubuntu 16.04Hadoop 2.7.3Java JDK 1.8Spark 3.0.0-preview2一、Spark安装001、下载Spark在Apache官网找到合适的版本进行下载,下载了Spark 3.0.0-preview2。002、安装将Spark 3.0.0-preview2解压到/usr/local下,改名为spark003、配置环境变量sudo vim ~/.bashrc加入位置# Spark Enviro

2020-06-12 21:14:16 286

原创 ElasticSearch7.6.2安装与简单操作

ElasticSearch7.6.2安装与简单操作Es系列工具都是开箱即用,所以安装比较简单,各个系统下都是解压即可前置环境:windows10ES7.6.2Kibana7.6.2 :Es的可视化操作工具ES中值得注意的事项:​ type逐渐移除,预计版本8中将消失​ head插件在高等级的版本中,不支持直接安装,需要nodejs支持,我没有使用这个插件。​ SpringBoot与Es的整合,需要注意版本支持,且在7.x的ES版本中客户端更新为高级操作客户端,在 Spring

2020-06-12 21:11:43 2214

原创 大数据实践(六)--hbase集群搭建(Ubuntu)

大数据实践(六)–hbase集群搭建(Ubuntu)之前搭建了单机hbase,这里搭建集群。hbase是分布式数据库,自身携带了zookeeper,可以自行组建分布式。为了保证高可用,使用外置的zookeeper搭建集群。一、集群搭建1、解压使用tar命令解压到/usr/local下tar -zxvf xxx2、配置环境变量export HBASE_HOME=usr/local/hbaseexport PATH=$HBASE_HOME/bin:$PATH记得生效3、配置文件进

2020-06-06 03:42:52 420

原创 大数据实践(五)--Zookeeper集群搭建(Ubuntu)

大数据实践(五)–Zookeeper集群搭建(Ubuntu)一、简介Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护。Zookeeper 可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。它具有以下特性:顺序一致性:从一个客户端发起的事务请求,最终都会严格按照其发起顺序被应用到 Zookeeper 中;原子性:所有事务请求的处理结果在整个集群中所有机器上都是一致的;不存在部分机器应

2020-06-06 03:38:41 212

原创 大数据实践(四)MapReduce编程实践(Ubuntu)

大数据实验(四)MapReduce编程实践(Ubuntu)前置工具及环境Ubuntu 16.4VirtualBoxHadoop 2.7.3jdk1.8一、MapReduce简介MapReduce是Hadoop提供的一个分布式计算框架,MapReduce 作业通过将输入的数据集拆分为独立的块,这些块由 map 以并行的方式处理,框架对 map 的输出进行排序,然后输入到 reduce 中。MapReduce 框架专门用于 <key,value> 键值对处理,它将作业的输入视为一组

2020-06-06 03:34:26 1236

原创 Java集合源码总览(jdk1.8)

Java集合概述一、集合概述①、集合是用于存放对象的容器,通常与泛型结合使用。必须是对象类型,泛型类型必须是对象类型,数据如果是基本类型,会被自动转换成封装类。如int装箱成Integer。②、集合存放的是多个对象的引用,对象本身还是放在堆内存中。③、集合可以存放不同类型数据,是对各种数据结构和算法的封装。二、常用集合容器Java常用集合容器有List,Set,Map,这也是对应接...

2020-05-26 00:00:13 189

原创 Scala开发坏境设置(IDEA)

Scala开发坏境设置(IDEA)1、下载scala开发环境进入scala官网,下载相关安装包。https://www.scala-lang.org/下拉看到相应选项:windows可以选择msi或者zip版本。2、配置环境变量选择msi版不需要配置,跳过。zip版本解压,将scala加入环境变量。打开cmd:输入scala,则环境配置成功。3、集成IDEAIDEA是开发scala程序比较好的ide。集成需要下载相应插件,可以从jetbrains官网下载离线安装,也可从idea在

2020-05-24 18:42:25 135

原创 大数据实践(三)--Hadoop集群搭建(Ubuntu)

大数据实践(三)–Hadoop集群搭建(Ubuntu)前置环境原单机配置前置环境:hadoop2.7.3Ubuntu16VirtualBoxjdk1.8还需要yarn管理集群文章目录大数据实践(三)--Hadoop集群搭建(Ubuntu)001、整体路线002、前置条件1、jdk、hadoop都已经加入环境变量。**2、复制两台虚拟机,将所有节点配置好静态ip。**3、修改主机名称:4、修改hosts文件,使主机名和ip对应。5、配置ssh远程登陆003、修改配置文件1、修改hadoop

2020-05-22 10:17:28 166

原创 大数据实践(二)--Hdfs常见操作及Hbase安装

大数据实践(二)–Hdfs常见操作及Hbase安装前置工具及环境Ubuntu 16VirtualBoxHadoop 2.7.3hbase一、Hdfs常见操作Hdfs大部分操作和shell命令都是共通的。001、启动hdfs辅助进程start-dfs.sh002、创建、删除、查看目录#创建目录hdfs dfs -mkdir -p /user/hadoopDir#出现这种情况可能是编码的问题,手敲一遍就好–mkdir: Unknown command#查看目录hdfs

2020-05-19 04:39:05 343

原创 大数据实践(一)--Hadoop单机搭建(Ubuntu)

大数据实践(一)–Hadoop单机搭建(Ubuntu)前置环境及工具:Ubuntu 16VirtualBoxHadoop 2.7.3xftp6jdk1.8文章目录大数据实践(一)--Hadoop单机搭建(Ubuntu)1、VirtualBox环境准备001、设置网卡002、更新apt-get(最好更新)003、下载vim(可略去)004、下载ssh005、配置本地ssh登录服务2、Hadoop环境准备001、上传jdk以及hadoop002、解压并配置环境变量(略去)003、修改读写权限(

2020-05-18 23:14:11 184

原创 Java集合之HashSet源码剖析(jdk1.8)

Java集合之HashSet源码剖析(jdk1.8)文章目录Java集合之HashSet源码剖析(jdk1.8)1、简介2、源码解析1、属性2、构造方法3、重要方法3、总结1、简介HashSet是Set接口下常用的实现类。HashSet的实现主要使用HashMap的key来满足Set的特性:不重复,并且也是无序的。HashSet的继承图谱如下:实现的都是些基础接口。2、源码解析H...

2020-05-18 23:13:12 146

原创 Java集合之HashMap源码剖析(jdk1.8)

Java集合之HashMap源码剖析(jdk1.8)文章目录Java集合之HashMap源码剖析(jdk1.8)1、简介2、源码分析1、属性2、内部类3、构造方法4、核心方法1、put方法2、resize方法3、get方法4、remove方法5、replace方法6、其他方法3、总结1、简介HashMap是较为常用的一种集合,底层结构较为复杂。由数组+链表+红黑树组成。HashMap使用...

2020-04-23 16:36:09 117

原创 Java集合之ArrayList源码剖析

Java集合之ArrayList源码剖析1、简介ArrayList是一种以数组实现的List,与数组相比,它具有动态扩展的能力,因此也可称之为动态数组。查询快,增删慢,线程不安全。继承图谱如下:ArrayList实现了List, RandomAccess, Cloneable, java.io.Serializable等接口。ArrayList实现了List,提供了基础的添加、删除、...

2020-04-18 13:45:46 108

空空如也

空空如也

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

TA关注的人

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