- 博客(48)
- 资源 (3)
- 收藏
- 关注
原创 python 多线程、多进程和数据队列
多个线程竞争单核的计算时间片,导致单个线程的计算任务耗时变长,多线程最终总任务的计算时间并没有缩短(对于计算密集型任务,如果run方法里不是计算counter函数,而是用sleep,多线程是可以提升效率 的)。pytohn多线程因为全局GIL锁的存在,不会使用多核运行,而是多个线程去竞争cpu一个核的锁,所以对于计算密集型任务,多线程并不能提高效率。
2023-02-07 11:13:00
550
原创 Kafka的offset自定义存储实现
一、什么是Offset在kafka中,每一条消息都有一个与之对应的序列号,这个序列号就是offset,表示消息的偏移量。特点: 偏移量从0开始递增 topic中的每个分区维护自己的一个offset 二、Offset存储位置每个消费者本地内存中会存储自己当前消费消息的offset,以便下次消费消息从offset+1开始消费。此外,消费者每次消费完消息后还要将offset提价到kafka集群,kafka集群会将offset保存到kafka本地。对应的就是一条group_
2020-12-09 11:05:37
1463
原创 JMS RabbitMQ消息代理
queue(队列):存储消息,消费者从队列中消费消息,durable表示队列是否持久化,持久化队列在rabbitmq服务重启后还在;exchange(交换):生产者将消息生产给交换机,再由交换机路由到绑定队列,AMQP规范将“默认Exchange(direct)”定义为没有名称。并且所有队列都使用其名称作为绑定值自动绑定到该默认Exchange(即直接Exchange),所以也可以设置routin...
2020-10-19 17:08:25
556
2
原创 java线程之——FutureTask
一、FutureTask的实现FutureTask实现了RunnableFuture,既即实现Runnable接口和Future接口。所以FutureTask实现run方法,以及Future接口的一系列计算结果方法二、构造方法FutureTask有两个构造方法,分别为一个参数和两个参数,如下图:一个参数构造器传入一个Callable实现,需要返回参数;第二个构造器第一个参数...
2020-10-19 17:06:28
647
原创 判断单向链表是否有环及求环入口
最简单的方法就是遍历链表,并用一个容器保存遍历过的链表节点,当出现重复节点时,即可得出链表存在闭环。代码如下: public boolean isHavRing() { List<Node> nodes = new ArrayList<>(); Node node = this; while (node != null && ...
2020-10-19 17:04:34
217
原创 Hive学习——用户自定义函数开发
一、前言 hive自定义函数分为一些三种: UDF:用户自定义标量函数,输入输出为一对一,如内置的upper函数; UDAF:用户自定义聚合函数,输入输出为多对一,如内置的sum函数; UDTF:用户自定义表值函数,输入输出为一对多,如内置的explode函数; 二、自定义函数开发步骤 不管是哪种自定义函数,hive用户自定义函数从开发到使用都需要大致经过下面几个步骤: 编码实现类,继承相应的UDF类(不同类型的函数继承类不一样),并在相应的方法中实现业...
2020-10-16 15:36:17
1227
原创 Hbase学习之——协处理Coprocessor的使用
一、Aggregation协处理器Aggregation为了弥补Hbase作为列存储数据库,难以进行求和、计数、排序等操作,能够进行一些简单的聚合操作,Aggregation将计算放在了server端,即region上,减少了网络通讯开销。Aggregation有以下两种开启方式: 修改hbase-site.xml配置文件,启动全局aggregation,能操纵所有的表上的数据 <property> <name>hbase.coprocess.
2020-09-14 14:30:37
3038
原创 Java面试知识点笔记
基础 面向对象的特征 封装:将客观事物封装成抽象的类,并对属性和方法实现访问控制;继承:继承父类的非私有属性和方法,分为实现继承和接口继承,实现继承不需要实现方法,接口继承继承抽象方法,需要实现方法;多态:一个实例的相同方法在不同的情形下有不同的表现形式,父类引用不同的子类实现;抽象:数据抽象->类的属性,过程抽象->类的方法。 final, finally, finalize 的区别 final:常量关键字,标识属性时,属...
2020-08-31 19:44:02
604
原创 大数据Hadoop学习之——好友推荐
一、算法说明好友关系如图: 1、直接相连的表示两个人是直接好友关系; 2、两个人有相同的好友表示两个人是间接好友(当然可能两个人同时也是直接好友,如图hello和hive)。 3、好友推荐列表就是按照两个用户的共同好友数量排名二、MapReduce分析1、分两步MapReduce计算完成;2、第一步先得到用户的间接好友关系数目,注意有直接好友关系的用户需要过滤掉;3、第二步根...
2020-08-21 11:55:50
4749
原创 大数据Hadoop学习之——网页排名PageRank算法
一、算法说明 PageRank即网页排名,也称佩奇排名(社会)。一些基本概念: 1、网页入链:即投票,网页中对其他网页的超链接作为其他网页的入链,相当于对其他网页投一票; 2、入链数量:如果一个网页获得其他网页的入链数量(投票)越多,说明该网页越重要; 3、入链质量:即投票权值,入链的质量由投票的网页决定,初始化值所有网页都一样,可以设置为1。网页的超链接越多,投票的权值越低。 4、阻尼系数d:也是佩奇定义的一个常数,...
2020-08-21 10:47:10
1637
原创 大数据Hadoop学习之——TF-IDF算法实现
一、算法说明 1、词频TF:是指给定词语在给定文件中出现的次数,一般会做归一化,即除以文件的总词数(注意是分词数,不是字数)。 TF=词在文章出现次数 / 文章的总词数 2、逆向文件频率IDF:普遍重要性度量,由文件总数除以包含该词的文件的数目,再对商取对数。 IDF=log(文件总数 / 包含目标词的文件个...
2020-08-19 19:57:14
1746
1
原创 大数据Hadoop学习之————基于物品的协同过滤算法实现物品推荐
一、实现基础 1、用户对物品的推荐列表(用户为列,物品为行) = 用户对物品的评分矩阵 × 物品同现矩阵 2、用户对物品的评分矩阵:用户对物品的点击、收藏、加购物车和购买等行为都是对物品的不同评分,矩阵如下: 并且,矩阵可以进行行列转换 3、物品同现矩阵:两个物品出现在同一个用户的次数,即item1和item2都出现在user1和user3,所以item1:item2的同现值为2,当然item2:item1的同现值也为2,所以物...
2020-08-19 14:32:06
3283
原创 阿里云大数据ACP认证学习笔记之——————RDS
基础概念支持的数据库引擎云数据库RDS MySQL 云数据库RDS SQL Server 云数据库RDS PostgreSQL 云数据库RDS PPAS:企业级关系型数据库,基于PostgreSQL。 云数据库RDS MariaDB TX:MariaDB是MySQL的一个分支。实例版本 基础版:只有一个主库。 由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于同样配置的高可用版或三节点企业版(原金融版)甚至有所提升; 可以通过变更配置升级为高
2020-08-05 17:54:13
924
原创 阿里云大数据ACP认证学习笔记之——————Dataworks
基本概念 产品服务 数据集成 数据开发 数据地图 数据质量 数据服务 计算和存储引擎服务 离线计算MaxCompute 开源大数据引擎E-MapReduce 实时计算(基于Flink) 机器学习PAI 图计算服务Graph Compute 交互式分析服务 工作空间:DataWorks管理任务、成员,分配角色和权限的基本单元。 解决方案:可以包括多个业务流程,以复用相同的业务流程。 组件:组件是带有多个输入参数和输出参数的SQL代码过程模板
2020-08-05 17:52:51
1464
原创 阿里云大数据ACP认证学习笔记之——————AnalyticDB for MySQL
基本概念OLTP:On-Line Transaction Processing,联机事务处理,例如MySQL和PostgreSQL的数据存储,适合频繁的数据插入和修改。 OLAP:On-Line Transaction Processing,联机分析处理,采用关系模型进行数据存储,例如ADB MySQL,适合海量数据的计算分析。OLAP(联机事务处理)系统分为MOLAP(多维OLAP)、ROLAP(关系OLAP)和HOLAP(混合型OLAP)三种。 DTS:Data Transmission Ser
2020-08-05 17:50:20
1138
原创 阿里云大数据ACP认证学习笔记之——————MaxCompute
基本概念Project:项目,MaxCompute的基本组织单元。 Table:表,分为内部表(数据存储在MaxCompute)和外部表(数据不存储在MaxCompute)。 Function:函数,包括内建函数和UDF。 Instance:实例,SQL、Spark和MapReduce任务再执行时都会被实例化。 Resources:资源,使用UDF和MapReduce需要依赖资源,资源类型:File类型:文件 Table类型:MaxCompute的表 Jar类型:java jar包 Ar
2020-08-05 17:48:35
1066
原创 Double和Float运算以及DecimalFormat格式化精度丢失踩坑记录
一、double和float直接进行运算会丢失精度double d = 0.58;// 57.99999999999999 精度丢失System.out.println(d * 100);double d2 = 65.21;// 0.6520999999999999 精度丢失System.out.println(d2 / 100);float f = 0.05f;float f1 = 0.01f;// 0.060000002 丢失精度System.out.println(f
2020-05-12 18:06:09
1565
原创 idea 常用快捷键以及插件
以下部分快捷键只在keymap是eclipse模式下生效alt + c:git提交;alt + f:git push;alt + f9:rebuild project;alt + p:git pull;alt + <-(左箭头) :回到上一次光标所在处;alt + shift + insert:列编辑,可通过鼠标右键,把column selection mode 前面...
2020-04-22 17:24:34
404
原创 xml解析——注解辅助解析
先上测试xml报文:<?xml version="1.0" encoding="UTF-8"?><Request> <Head> <CODE>0000</CODE> <id>11111</id> <TIMESTAMP&
2019-01-09 17:51:19
1285
原创 常见的排序算法详细分析与实现
冒泡排序外层循环n-1轮每轮循环都比较相邻位置的两个值,每轮循环比较次数都一次递减这样,每次循环都会把大的数移到后面效果如下:原始数据:8 1 4 9 0 3 5 2 7 61 4 8 0 3 5 2 7 6 9 1 4 0 3 5 2 7 6 8 9 1 0 3 4 2 5 6 7 8 9 0 1 3 2 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 ...
2018-06-29 16:52:47
215
2
原创 spring boot 配置druid数据源
Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目,并且提供数据库的监控功能。这里数据库使用postgresql,需要导入如下数据源依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</art...
2018-05-12 16:27:39
420
原创 redis 集群部署及分布式锁的实现
一、redis集群的部署 安装redis 确保安装文件夹有redis-trib.rb文件,通过rudy构建redis集群 安装ruby环境 配置好环境变量,gem install redis 安装redis依赖详细环境安装教程:点击打开链接集群搭建 redis集群最小包含3个主节点,并且每个节点都应该部署在不同的服务器上,这里测试建立3个主节点和三个从节点的redis...
2018-03-16 16:38:04
4699
原创 maven 配置多环境配置文件切换
配置文件目录:项目有dev、dev2、dev3、test等环境下的多套配置文件。在pom文件中添加如下配置切换:<build> <resources> <resource> <!-- directory加载resources下所有配置文件 --> ...
2018-03-16 11:51:05
911
原创 git 命令
1、本地覆远程分支 git push oringin dev:master -f 本地dev分支覆盖远程master2、远程覆盖本地分支 git fetch origin master 拉取远程master分支 git reset --hard origin/master 把HEAD指向刚刚下载的最新的版本,即远程版本3、删除...
2018-03-06 11:18:46
201
原创 springboot quartz的封装
引入quartz包,封装出一个在spring boot导入可用的jar包目录接口:SechdulerManager类,负责初始化和销毁scheduler,设计为单利模式,私有化构造器,整个应用维护一个scheduler。并配置sechduler相关配置信息。public class SchedulerManager { private static final Logger LOGGER ...
2018-02-25 17:58:12
1830
2
原创 java 反射机制
反射,在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。public class Flection { public static void main(String[] args) throws Exception { Class<Book...
2018-02-25 11:44:22
248
原创 自定义注解
自定义注解@Retention(RetentionPolicy.RUNTIME) // 元注解:注解的注解。此注解表示使注解保留到运行时。@Target(ElementType.METHOD) // Target中可以存放数组。ElementType.METHOD:表示只能标记在方法上public @interface TestAnno { // 是一个特殊的属性,属性名就是方法名,类型...
2018-02-24 17:32:40
189
原创 spring boot ApplicationContextAware获取应用上下文
@Componentpublic class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; public SpringContextUtil() { } public static <...
2018-02-24 16:15:12
1680
原创 jdk 1.8 新特性之——stream Collectors
Collectors的俩个作用: 1、将数据流缩减为一个单一值,可以是一个collection、基本数据类型或者一个自定义对象; 2、将数据流中的元素进行分组,根据任务类型将流中所有的任务进行分组。这将产生一个Map<TaskType, List<Task>>的结果,其中每个实体包含一个任务类型以及与它相关的任务。你也可以使用除...
2018-02-24 15:11:17
1576
原创 spring boot @ConfigurationProperties加载配置文件
将指定前缀的配合信息注入到bean中,spring boot 1.5版本以前可以通过location属性指定配置文件路径,1.5以后configurationProperties删除了location属性,可以用@PropertySource来指定要读取的配置文件。@Component@ConfigurationProperties(prefix = "person")@Propert...
2018-02-24 11:12:42
6005
原创 quartz触发器
http://fanson59.blog.51cto.com/4423877/1272826所需jar:quartz-2.2.0.jarquartz-jobs-2.2.0.jarslf4j-api-1.7.5.jarslf4j-log4j12-1.7.5.jarlog4j-1.2.16.jarQuartz包括五种主要结构用于实现调度: Job接口:Job接口表示一个作业(job)...
2018-02-10 16:32:05
314
原创 quartz触发器 JobDataMap
http://blog.youkuaiyun.com/a67474506/article/details/38317119JobDataMap可以用来保存任何需要传递给任务实例的对象(这些对象要求是可序列化的)作业类public class ColorJob implements Job{ private static final String FAVORITE_COLOR = "favorite c...
2018-02-10 16:26:47
1114
原创 spring 注解
http://bbs.51cto.com/thread-1136892-1.html@Autowired 用在JavaBean中的注解,通过byType形式,用来给指定的字段或方法注入所需的外部资源。和 @Resource功能相近。 @Bean spring识别出标注 @Bean 的...
2018-02-10 16:20:28
250
原创 spring spring cloud 配置信息
spring.main.banner-mode:是否开启spring boot启动时的bannerspring.output.ansi.enabled:设置支持彩色日志输出一、服务注册中心配置spring.profiles.active:选择相应开发环境的配置文件,值为profile,application-{profile}.properties spring.application.name:...
2018-02-09 10:23:57
633
原创 jdk 1.8 新特性之——stream流的学习
1、流的特点 流只能遍历一次,流中的元素向流水线一样经过一个或多个中间操作,最后执行终端操作,完成流的遍历。 流采用内部迭代。2.流的操作 类型 中间操作—— 返回一个stream,同一个stream可以进行多个中间操作。 filter:过滤操作,filter函数接收一个Lambda表达式作为参数,该表达式返回boolean; map:转换操作,map函数将stream的元素转换成另一种类型输出;...
2018-02-08 09:32:50
672
原创 postgresql数据库的一些优雅的sql操作
批量更新方法1:UPDATE acc_device_group SET uuid=tmp.uuid,group_name=tmp.group_name ,create_user=tmp.create_user,update_user=tmp.update_user,court_uuid=tmp.court_uuid,remark=tmp.remark ,delete_flag=t
2018-01-31 14:52:59
755
原创 spring boot 中 自定义注解,并通过注解反射获取类实例
/** * Copyright 2017-2025 Evergrande Group. */package com.eg.egsc.scp.accesscontrolcomponent.mq.iotmq;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.amqp.core
2018-01-10 14:29:48
17292
1
原创 netty 简单聊天室
http://www.tuicool.com/articles/mEJvYb一、处理器类handler ChannelInboundHandler接口:ChannelInboundHandler 提供了许多事件处理的接口方法。 我们常用的两个实现类: SimpleChannelInboundHandler类和ChannelInbo
2017-12-12 11:14:16
199
原创 spring cloud 网关路由信息动态配置
一、远程git仓库api-gateway-dynamic.propertieszuul.routes.api-a.path=/feign/**zuul.routes.api-a.serviceId=eureka-feign-consumer远程仓库配置了一条网关路由,网关通过配置服务器获取该信息二、网关api-gateway-dynamicpom.xml
2017-11-30 10:22:46
1522
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人