自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(297)
  • 资源 (21)
  • 收藏
  • 关注

原创 Roaring Bitmap 原理及实践

Bitmap/Bitset问:1 亿个设备 id(imeimd5, 长度 32 字符串, 512 bit)需要多少存储空间?答:1 亿 * 64 Byte = 64 亿 Byte = 6.4 G但是,如果一个设备 id 使用 1 bit 存储,需要存储空间是 6.4G / 512 = 12.5 Mset = {1, 2, 15}package roaringbitmap;public class Test { public static void main(String[] args

2021-09-14 16:59:00 1639

原创 流畅的Python笔记

比如,要存放 1000 万个浮点数的话,数组(array)的效率要高得多,因为数组在背后存的并不是 float 对象,而是数字的机器翻译,也就是字节表述。构造方法或 [:] 做的是浅复制(即复制了最外层容器,副本中的元素是源容器中元素的引用)。综上,闭包是一种函数,它会保留定义函数时存在的自由变量的绑定,这样调用函数时,虽然定义作用域不可用了,但是仍能使用那些绑定。注意,一般来说,深复制不是件简单的事。其实,闭包指延伸了作用域的函数,其中包含函数定义体中引用、但是不在定义体中定义的非全局变量。

2024-02-21 00:12:36 828

原创 23种设计模式Python版

目录创建型模式简单工厂模式工厂方法模式抽象工厂模式单例模式原型模式建造者模式结构型模式适配器模式桥接模式组合模式装饰器模式外观模式享元模式代理模式行为型模式职责链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模板方法模式访问者模式Reference创建型模式简单工厂模式实现from abc import abstractmethod, ABCMetaclass Product(metaclass = ABCMeta): def __init__(se

2024-01-01 20:33:54 1257

原创 go快速入门

go 入门

2023-02-14 00:54:38 286 1

原创 k8s快速入门

k8s入门

2023-02-12 17:39:24 458

原创 Spark高并发写Redis方案

Spark高并发写Redis解决方案

2022-09-27 14:50:17 1252

原创 HyperLogLog算法流程小结

HyperLogLog介绍给定一批设备id集,通过一定流程提取这批id集的特征,用很少的一批数字表示(提前存下来),把这批数字带入特定公式,即可快速预估出这批id集的数量(存在较小误差)。可用在用户画像项目中的标签圈选人群数量预估上(支持多标签交集并集预估,速度1s以下。由于各个标签组合取值枚举海量,不可能提前求出所有情况的数量。RoaringBitmap计算速度在5s左右,用户体验差)。此算法流程简单,但理论证明复杂,如无必要,可只关注流程。HyperLogLog流程原理101010101..

2022-02-09 13:09:08 417

原创 Maven

为啥使用 Mavenjar 包管理(添加、获取、自动处理 jar 包依赖关系及冲突)手动 jar 包管理很麻烦,需要自行到网上下载 jar 包,添加到项目的 lib 目录生效(Maven 只需要添加到 pom 即可);如果一个 jar 包又依赖很多其他 jar 包,又得手动找很多个(Maven 能自动下载);如果项目 A 依赖 B,B 依赖 C,且 B 和 C 依赖同一个 xxx.jar,但版本不同,那么项目 A 依赖哪个版本呢?冲突(Maven 会自动处理冲突,最短路径者优先);如果项目 A 依赖

2021-10-17 21:36:08 125

原创 Java 零碎补充

cmd 命令行编译乱码问题public class Hello { public static void main(String[] args) { System.out.println("你好"); }}// 编译时指定编码方式,避免乱码javac -encoding utf8 Hello.java在 .java 文件所在目录,输入 cmd,即可进入当前目录,方便快捷!文档注释javadoc -encoding utf8 -version -author -d mydir H

2021-10-16 16:12:13 117

原创 设计模式——单例模式

单例模式,简言之,一个类只有一个实例懒汉(线程不安全)存在线程安全问题,多线程并发调用 getInstance 可能会创建多个实例。class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if(instance == null) { inst

2021-10-15 16:52:06 94

原创 Flink 快速入门

Flink 简介Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any

2021-08-06 13:18:50 294

原创 《Hive编程指南》阅读笔记

首先搭建Hive编程环境,点我查看!第 2 章 基础操作2.7 命令行界面2.7.1 CLI 选项hive --help// 查看 cli 服务的使用帮助hive --service cli --help2.7.2 变量和属性// 显示以上所有命名空间中的变量和属性set;// 显示以上所有命名空间中的变量和属性,以及Hadoop中定义的所有属性set -v; // 新建自定义属性 set foo = bar;// 查看自定义属性,等价于 set hiveconf:fo

2021-05-06 12:09:35 268

原创 Kafka 快速入门

Kafka 概述Kafka 架构搭建 Kafka 伪分布式环境本文不使用 Kafka 自带的 Zookeeper,而是使用外部的 Zookeeper,所以得先安装好 Zookeeper。Zookeeper 伪分布式安装教程链接。官网下载 Scala 2.11 - kafka_2.11-0.11.0.0.tgz (asc, md5) 。开始搭建,类似搭建 Zookeeper 伪分布式环境。// 在 Kafka 的 config 中先拷贝三份 server 的配置文件cp serv

2021-03-27 23:31:51 147

原创 Hbase 快速入门

MySQL存储数据是以行为单位的,查询某条数据的某一列,就会把整行拿到,如果列比较多,就比较慢,不想要的列也会查出来!宽表垂直拆分,高表水平拆分(如日志文件按日期拆分)。增加列也可使用JSON方式动态增加。但MySQL的问题是存储大小受限(例如InnoDB最大64T)。MySQL是面向行的,适合查询,但不利于统计分析,比如要求某列的平均值,会把不需要的列都查出来,效率变低了。而HBase是面向列的存储,适合统计分析。HBase 数据模型The following represents the same

2021-03-25 23:42:16 179

原创 ZooKeeper 快速入门

Zookeeper 概述ZooKeeper is a distributed, open-source coordination service for distributed applications(文件系统+通知机制). 例如,Zookeeper 存储服务器访问地址信息,然后接受客户端(观察者)注册,客户端要通过这些服务器地址访问服务器,一旦这些数据发生变化(比如某服务器宕机),Zookeeper 就通知已经在 Zookeeper 上注册的那些观察者做出相应的反应(不再访问该服务器),其实这就是观察

2020-11-08 18:48:30 262

原创 三阶魔方复原简易方法笔记

逐层完成复原。一个公式,右面上转,上面左转,右面下转,上面右转(上顺下逆)。一个对称公式,左面上转,上面右转,左面下转,上面左转(上逆下顺)。做出底面十字。以某一面(这里选白色面)为基准,做出十字,中间在十字上的小正方体面都做成白色。然后转动上面,保证至少有两个面从十字出发的棱面和其下面那个面颜色一致,之后让这其中一个面正对着自己,使用公式,就可做到从十字出发的四个面都能保证棱面和其下面的面颜色一致了。做出底面全白。以白色面为底面,寻找白色面方块,如果白色面方块在上层,就转动上层面,调整该白色面方块到

2020-10-05 01:14:55 1728 2

原创 Spark 快速入门(2)

安装下载 Spark,解压即可用!Windows 环境演示。测试在 Spark 的 bin 目录下执行下面命令,计算 100 次,求 Pi 的值。spark-submit --class org.apache.spark.examples.SparkPi --executor-memory 1G --total-executor-cores 2 ../examples/jars/spark-examples_2.11-2.4.6.jar 100WordCount 示例启动 spark-s

2020-08-21 00:02:12 334

原创 Scala 快速入门(2)

特别说明,本文主要参考 尚硅谷大数据之韩顺平Scala视频及对应资料,本文是笔者对应的学习笔记。1. Scala 概述Scala 有些类是对 Java 类的封装,所以 Scala 依赖 JDK,使用 Scala,需要先装 JDK。Scala 编译成 Java 字节码,运行在 JVM 之上。可去官网下载对应操作系统及对应版本的 JDK 和 Scala,安装/解压,并配置环境变量。一般在 Windows 开发,在 Linux 部署。一般使用 IDEA 开发(需要安装 Scala 插件)。第一个 Scal

2020-08-14 16:02:01 430

原创 Spark 快速入门(1)

大数据技术概述大数据时代大数据时代技术支撑(存储,计算,网络)存储,存储设备容量越来越大,价格越来越便宜计算,CPU处理能力不断提升(摩尔定律),多核网络,网络带宽提高,分布式处理数据产生方式的变革促使大数据时代的来临,从运营式(沃尔玛大型超市购物系统),到用户原创(微博、微信),再到感知式(物联网)。大数据概念Volume,大量Variety,多样(文件,音视频……)Velocity,快速(1秒定律,数据价值通常在诞生1秒内有效,比如在购物网站上实时点击流信息计算,构建用户画像

2020-08-06 20:34:31 995

原创 Scala 快速入门(1)

Scalability is influenced by many factors, ranging from syntax details to component abstraction constructs. If we were forced to name just one aspect of Scala that helps scalability, though, we’d pick its combination of object-oriented and functional progr

2020-07-19 23:57:43 428

原创 Windows10 + VirtualBox 从零搭建 Hadoop/Hive 环境及 Hive 入门

1. 安装 VirtualBox官网下载最新版本 VirtualBox 并安装,此过程简单,可结合百度。笔者使用 VirtualBox-6.1.10-138449-Win.exe。2. 安装 Ubuntu官网下载最新版本 Ubuntu 并安装到 VirtualBox 中,此过程简单,可结合百度。笔者使用 ubuntu-20.04-desktop-amd64.iso。最好开辟的硬盘空间大点,最起码 20G 吧,不然后续如果不够用,再扩容就比较麻烦了!!笔者在当前用户目录下建立了一个 env 文件夹,专门

2020-07-06 13:17:05 2421 2

原创 正则表达式基础

使用工具 RegexBuddy。参考正则表达式的百度词条。参考常用正则表达式(菜鸟教程)。参考 Java正则表达式使用示例(菜鸟教程)和官方API java.util.regex 包。易忽略的正则知识点特殊符号(除了 ^ 和 -)包含在 [] 中,将失去其特殊含义,就表示其自身。如 [\d.-+] 匹配数字、小数点、- 和 +...

2020-06-29 17:42:50 228

原创 Java---多线程入门

线程创建Threadpackage thread;class MyThread extends Thread { @Override public void run() { for(int i = 0; i < 10; i++) { System.out.println("MyThread is running..."); } }}public class StartThread01 { public

2020-06-28 23:18:07 192

原创 Java---I/O入门

Java I/O 对文件操作,其实是通过操作系统进行操作的。File统计文件数量及大小package file;import java.io.File;// 统计某路径(文件夹)下文件数、文件夹数及所占空间大小(Byte)public class DirCount { private String path; private File file; private long len; private long dirCount = -1; // 去掉文件夹

2020-06-27 13:11:44 162

原创 Java编程思想第四版阅读笔记(15章 泛型)

简单泛型package generics;class Automobile {}public class Holder1 { private Automobile a; // Holder1 只能持有 Automobile 这一种类型的对象 public Holder1 (Automobile a) { this.a = a; } public Automobile get() { return a; }}packa

2020-06-26 10:02:54 300

原创 Java编程思想第四版阅读笔记(1章-14章)

构造器初始化初始化顺序先根据成员变量定义顺序初始化成员变量,再调用构造函数。package constructorInitialization;class Window{ Window(int marker){ System.out.println("Window(" + marker +")"); }}class House{ Window w1 = new Window(1); House(){ System.out.pri

2020-06-12 13:38:34 295

原创 Mybatis基础

Mybatis入门Mybatis 第一个例子工程源码Mybatis CRUD参考资料[1] HOW2J.CN

2020-05-13 16:23:21 637

原创 Spring MVC入门

Spring MVC 第一个例子工程代码配置视图解析器改成注解方式Spring MVC 第二个例子工程代码中文问题Spring MVC Session工程代码拦截器工程代码参考资料[1] HOW2J.CN...

2020-05-08 16:39:35 118

原创 J2EE基础

ServletServlet 第一个例子工程源码(Tomcat 需要手动设置下,见本节后续配置)一切配置完,启动 Tomcat,在浏览器输入 http://127.0.0.1/j2ee/hello,出现下面画面。指定项目输出到classes目录把项目的class文件输出由原来的 j2ee/bin 设置到 j2ee/web/WEB-INF/classes下,步骤:项目右键->pr...

2020-05-07 11:12:47 191

原创 Spring入门

Spring IOC/DI配置文件方式Category.javapackage com.how2java.pojo;public class Category { private int id; private String name; public int getId() { return id; } public void setId(int id) { th...

2020-05-06 11:46:26 175

原创 Vue.js入门

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。介绍开发环境下载开发工具 HBuilderX,点击...

2020-05-05 16:53:24 582

原创 Javascript入门

# 参考资料[1] https://www.w3school.com.cn/js/index.asp

2020-05-03 17:17:04 280

原创 《剑指Offer》刷题记

正则表达式匹配时间限制:1秒 空间限制:32768K 热度指数:130667本题知识点: 字符串题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配...

2020-05-01 11:34:42 560

原创 HTML&CSS入门

HTML 基础HTML(Hyper Text Markup Language),超文本标记语言。学习环境:Windows 10, Notepad++。HTML 元素HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。// 下面一行代码就是一个元素,包括开始标签<p>和结束标签</p>,以及元素内容This is a para...

2020-04-30 22:04:35 140

原创 计算机网络基础--网络层

网络层服务路由+转发数据报网络和虚电路网络数据报(datagram)网络与虚电路(virtual-circuit)网络是典型两类分组交换网络,数据报网络提供网络层无连接服务,虚电路网络提供网络层连接服务,类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务(主机到主机服务,网络核心实现)。虚电路网络数据报网络Internet采用数据包网络。IP协议In...

2020-04-24 20:51:07 241

原创 计算机网络基础--传输层

网络层:提供主机之间的逻辑通信机制传输层:提供应用进程之间的逻辑通信机制Internet 传输层协议可靠、按序的交付服务(TCP) 拥塞控制 流量控制 连接建立不可靠的交付服务(UDP) 基于“尽力而为(Best-effort)”的网络层,没有做(可靠性方面的)扩展两种服务均不保证 延迟 带宽多路复用/分用多路分用原理主机接收到IP数据报(datagra...

2020-04-24 11:06:25 277

原创 计算机网络基础--应用层

网络应用的体系结构客户机/服务器结构(Client-Server, C/S)服务器 7*24小时提供服务 可永久性访问的地址/域名 利用大量服务器实现可扩展性客户机 与服务器通信,使用服务器提供的服务 间歇性接入网络 可能使用动态IP地址 不会与其他客户机直接通信点对点结构(Peer-to-peer, P2P)没有永远在线的服务器任意端系统/节点之间可以...

2020-04-21 16:11:18 363

原创 计算机网络基础--概述

计算机网络初探计算机网络是通信技术和计算机技术结合的产物。计算机网络是一种通信网络,是互连的(互联互通)、自治的(无主从关系)计算机集合。协议硬件(主机、路由器、通信链路等)是计算机网络的基础,同时计算机网络中的数据交换必须遵循一些规则(硬件+协议)。这就很类似交通系统不仅需要车辆和道路这些基础设施(计算机网络中的硬件),同时需要很多交通规则来保障系统良好运行(计算机网络中的协议)。...

2020-04-19 12:14:15 542

原创 哈工大李治军操作系统--设备驱动与文件系统

文件到磁盘块文件系统参考资料[1] 中国大学MOOC《操作系统》李治军 哈尔滨工业大学[2] 《Linux内核完全注释》赵炯[3] BIOS中断大全[4] 汇编语言最全指令表[5] 《x86汇编语言:从实模式到保护模式》李忠 著[6] https://blog.csdn.net/ccnuacmhdu/article/details/104946213...

2020-04-17 16:41:00 463

原创 哈工大李治军操作系统--内存管理

参考资料[1] 中国大学MOOC《操作系统》李治军 哈尔滨工业大学[2] 《Linux内核完全注释》赵炯[3] BIOS中断大全[4] 汇编语言最全指令表[5] 《x86汇编语言:从实模式到保护模式》李忠 著[6] https://blog.csdn.net/ccnuacmhdu/article/details/104946213...

2020-04-17 15:12:38 735

mybatis 多对多

mybatis 多对多

2020-05-13

mybatis 一对多反过来

mybatis 一对多反过来

2020-05-12

mybatis 一对多

mybatis 一对多

2020-05-12

mybatis CRUD

mybatis CRUD mybatis CRUD mybatis CRUD mybatis CRUD mybatis CRUD

2020-05-11

mybatis第一个例子

mybatis第一个例子

2020-05-08

springmvc 拦截器

springmvc 拦截器

2020-05-08

springmvc session

springmvc session

2020-05-08

springmvc 第二个例子(接收表单参数+重定向)

springmvc 第二个例子(接收表单参数+重定向)

2020-05-08

Spring MVC 第一个例子

Spring MVC 第一个例子

2020-05-07

Servlet 获得参数

Servlet 获得参数

2020-05-06

servlet第一个例子(工程+tomcat)

servlet第一个例子(工程+tomcat)

2020-05-06

j2ee.zip servlet第一个例子

servlet第一个例子

2020-05-06

spring.zip

Spring入门工程源码

2020-05-06

MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip

MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip

2020-01-18

MySQL5.5服务端+MySQL-Front客户端.zip

MySQL5.5服务端+MySQL-Front客户端

2020-01-18

Python+Opencv图像处理图片

Python+Opencv图像处理图片

2020-01-07

WINDOWS10汇编环境工具.zip

WINDOWS10汇编开发环境工具包(DOSBox+MASM)

2019-09-15

spring-framework-4.3.0.RELEASE(源码已经成功编译)

spring-framework-4.3.0.RELEASE 已经成功编译 参照文章:https://mp.csdn.net/mdeditor/89521580

2019-04-26

人机对战五子棋

人机对战五子棋。利用Java swing实现,里面有详细说明和源代码,并有可以在无JDK的电脑上使用的安装包。

2018-11-12

基于PageRank算法对不同品牌牙膏市场占有率的预测研究

基于PageRank算法对不同品牌牙膏市场占有率的预测研究,本文简单使用了PageRank算法对某一产品(本文以牙膏为例)的市场占有率进行预测。本论文可以作为课程期末论文使用。PageRank算法本身是谷歌搜索引擎使用的算法,通过本文,可以学到基本的PageRank算法思想。

2018-11-03

Java实现具有界面的人机对战五子棋(很强)

使用Java开发的人机对战五子棋,具有界面效果,总代码量500多行。界面使用awt,swing简单技术,机器落子算法是评分法,对572个五元组评分,思路简单,效果很好,机器胜率非常高。 笔者不仅打包了jar,而且打包的.exe可以直接点击运行

2018-10-20

空空如也

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

TA关注的人

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