- 博客(177)
- 资源 (35)
- 收藏
- 关注
原创 Tomcat 安装教程【附图文说明】
Apache Tomcat下载、安装、配置图文教程自我心得一、Tomcat下载Tomcat官网:Tomcat官方网址,可以在此处下载Tomcat。 点击左侧Download下的对应版本。注意有zip和exe两种格式的,zip是免安装版的,exe是安装版。同时观察自己的电脑是64位系统还是32位系统。例如进入:Tomcat 9 版本下载页面,下滑,到core处选择自己需要的版本,如图所示:二、Tomcat安装首先需要检查一下JDK 是否安装,我电脑之前已经安装过JDK,所以这里就可
2020-12-05 16:20:40 11993 12
原创 MAC 电脑安装jdk
一、先下载JDK,下载链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html二、安装,双击即可自动安装成功三、验证jdk 是否安装成功但是,实际的开发环境我们,需要配置JAVA_HOME 环境变量,接下来一起操作吧四、查看你JDK安装路径,打开终端输入就可以找到Java—>home:/usr/libexec/java_home -V五、打开终端,使用“touch .ba.
2020-12-05 10:44:56 8193 2
原创 mac安装python3.8,配置环境变量
因mac自带python2.7环境,平时用的比较多的是python3.7,下面将安装及配置过程分享给大家,避免这些坑。1、安装软件包python3.7.pkg2、进入终端,配置Python3环境变量(1)open ~/.bash_profile# Setting PATH for Python 3.8PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"export PATHalias pytho.
2020-12-03 22:19:38 5376 1
原创 多线程与高并发整理总结【超全面】
我们先说一下为什么要讲多线程和高并发?原因是,你想拿到一个更高的薪水,在面试的时候呈现出了两个方向的现象:第一个上天项目经验 高并发、缓存、大流量、大数据量的架构设计第二个入地各种基础算法,各种基础的数据结构 JVM OS线程、IO等内容多线程和高并发,就是入地里面的内容。一、基本概念我们先从线程的基本概念开始,给大家复习一下。如果基础不太好,说什么是线程都不知道的,则需要花时间去补初级内容的课。1. 什么是进程?什么是线程?Program app,比如QQ.exe
2020-11-22 10:37:30 2594 1
原创 机器学习 —— 聚类算法--商业选址案例
一、聚类算法描述聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程。二、聚类算法特点聚类算法就是一种发现这种内在结构的算法,聚类算法是一种无监督学习算法,其特点如下:1、是一种无监督学习,只有数据,没标签y 2、试图通过数据间的关系发现一定的模式 3、可以作为监督学习中稀疏特征的预处理(聚类算法一般用于辅助监督学习方法,提供基础数据)三、场景实例1、基于用户位置信息的商业选址 2、生物种群固有结构认知 3、电商用户聚类四、算法 - KmeansK-means算
2020-11-16 12:23:44 3160 2
原创 MySQL 50题 精练 + 小总结
-- 学校考试成绩库。库名与应用名称保持一致DROP DATABASE IF EXISTS school_score;CREATE DATABASE school_score;-- 使用学校考试成绩库USE school_score; -- 1.学生表 -- student(s_id,s_name,s_birth,s_sex) –- 学生编号,学生姓名, 出生年月,学生性别 -- 2.课程表 -- course(c_id,c_name,t_id) –– 课程编号, 课程...
2020-11-14 14:17:08 607 2
原创 最新最全MySQL 8知识,关注这篇就够了!
一、开胃菜:认识MySQLMySQL 是一个关系型数据库管理系统 关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL 由瑞典MySQL AB 公司开发 后期被Oracle 收购,属于Oracle 旗下产品 MySQL 是最流行的关系型数据库管理系统之一 在WEB 应用方面,MySQL 是最好的关系型数据库管理系统应用软件之一。 MySQL 是一款开源、免费的数据库管理系统 MySQL 分为社区版与企业版1.1安装.
2020-11-13 17:03:54 1455 2
原创 机器学习 —— 回归算法--共享单车案例
目录一、介绍线性回归(linear least squares)【重要】二、回归模型应用场景三、Spark Mllib两大回归模型3.1 线性模型:最小二乘回归模型(LinearRegressionWithSGD)3.2 决策树模型:决策树回归(DecisionTree#trainRegressor)四、回归模型会产生的问题4.1 欠拟合(underfitting)或 高偏差4.2过拟合(overfitting)或 高方差(variance)4.3过拟合什么时候会出现..
2020-11-07 15:46:20 5032 11
原创 机器学习 —— 多分类算法--鸢尾花案例
一、需求说明通过鸢尾花的花萼和花瓣的长度和宽度,预测出鸢尾花的类别。二、目的鸢尾花的特征数据5.0,3.3,1.4,0.2 ====》多分类算法进行训练====》多分类算法模型=====》进行预测三、思路加载数据 将鸢尾花的花萼和花瓣的长度和宽度作为特征封装到 向量Vector(Array(5.0,3.3,1.4,0.2)) 将鸢尾花的字符串类别转换成标签数据Map("Iris-setosa"->0,"Iris-versicolor"->1,"Iris-virginic.
2020-11-04 09:14:10 2141 4
原创 ElasticSearch 与 Solr 对比
版本:ElasticSearch 7.6.16.x 7.x 的区别十分大,6.x API (原生API、RestFul 高级!)Lucene 是一套信息检索工具包!jar包!,不包含搜索引擎系统!包含:索引结构、读写索引的工具、排序、搜索规则...工具类。Lucene 和 ElasticSearch 关系ElasticSearch 是基于Lucene 做了一些封装和增强(我们上手是十分简单!)ElasticSearch概述ElasticSearch,简称为es,es是一个开源的高扩展
2020-11-03 16:48:32 886 2
原创 多线程与高并发深入底层横向对比
程序运行的底层原理程序是什么?QQ.exe,PowerPoint.exe 进程是什么?程序启动,进入内存,资源分配的基本单元 线程是什么?程序执行的基本单位 程序如何开始运行? CPU 读指令 - PC(存储指令地址),读数据到寄存器Register,计算,回写到内存;然后指向下一条指令 线程如何进行调度?Linux线程调度器(OS)操作系统 线程切换的概念是什么?Context Switch CPU保存现场执行新线程,恢复现场,继续执行原线程这样的一个过程计算机的组成超线程:...
2020-11-01 11:07:34 408
原创 Spark 技术调优,别告诉我你不会?
目录一、性能调优二、jvm调优三、shuffle调优(优先使用前面两点,实测有效)四、算子调优五、troubleshooting六、数据倾斜解决方案一、性能调优1.1 配更多资源: --num-executors 3 \配置executor的数量--driver-memory 100m \配置driver的内存(影响不大) --executor-memory 100m \配置每个executor的内存大小 --executor-cores 3 \...
2020-10-24 23:13:48 481 3
原创 MySQL 这些知识要搞懂才行【精简总结】
开发人员:将SQL关键字使用大写,而对所有列和表名使用小写一、了解数据库和表# 返回可用数据表列表USE testdb;# 使用数据库testdbUSE testdb;# 显示数据库中表SHOW TABLES;# 显示customers表的信息SHOW COLUMNS FROM customers;# 显示customers表的信息,简略版本DESCRIBE customers;二、检索数据# 检索单个列SELECT prod_name F
2020-10-24 16:47:01 2639 9
原创 BAT 常规算法,认识一下
一、二叉树1.1 二叉树按层遍历1、针对二叉树的宽度优先遍历 2、宽度优先遍历常使用队列结构 3、面试中,该类题目常对换行有所要示,如将行号也打印出来题目一:给定一棵二叉树的头节点head,请按照现在大家看到的这种格式打印。要求打印成:按层序遍历结果为右侧:Java 代码实现: // 层序遍历 // 时间复杂度:O(n) // 空间复杂度:O(n) public List<List<Integer>> levelOrder..
2020-10-20 20:24:28 1220 3
原创 Python 超详细安装及使用说明【已实践】
Python介绍Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型的项目的开发。Python是一种解释型脚本语言,可以应用于以下领域:Web和Internet开发 科学计算和统计 教育 桌面界面开发 软件开发 后端开发Python的安装Python下载链接:https://www.python.org/downloads/下载完成后...
2020-10-17 00:12:34 2096 7
原创 Flink —— 容错性机制- 屏障(barrier)实现原理
我们知道Flink提供了容错机制,能够在应用失败的时候重新恢复任务。这个机制主要就是通过持续产生快照的方式实现的。Flink快照主要包括两部分数据一部分是数据流的数据,另一部分是operator的状态数据。对应的快照机制的实现有主要两个部分组成,一个是屏障(Barrier),一个是状态(State)。因为Flink这里处理的数据流,数据在多个operator的DAG拓扑中持续流动,要想实现某个时刻快照可以用于系统故障恢复,必须保证这个快照,完全能够确定某一个时刻状态,这个时刻之前的数据全部处理完,之后的数据
2020-09-23 22:38:40 1179 3
原创 故障解决:spark 访问hive 库、表报错 org.apache.spark.sql.AnalysisException: Table or view not found
1、spark项目 + 外部配置文件【最优,如CDH平台,配置改变,无需重新编译、打包】2、spark项目(resources目录下存放hive-site.xml)【次之,如果配置变动需要更新配置文件,重新编译打包】3、spark项目(在代码中写死配置选项)【最差,涉及配置修改后,需要对代码修改,然后重新编译打包】...
2020-09-23 22:32:19 11447 10
原创 异步请求CloseableHttpAsyncClient的使用
1、前言项目有个需求,需要把一些没用影响业务逻辑的http请求改成异步请求,httpclient在4.0后提供新的api CloseableHttpAsyncClient可以使用,记录下使用过程。2、网络调用类型(1)传统BIO(Blocking IO)同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。(2)NIO(Not-Blocking IO)NIO
2020-09-15 21:55:29 11790 1
原创 我们的垃圾收集器 —— Our Collectors 【翻译】
官方原文链接:https://blogs.oracle.com/jonthecollector/our-collectors目录一、垃圾收集器1.1 垃圾收集器介绍1.2 垃圾收集器组合二、常见问题解答1)UseParNew和UseParallelGC都使用多个GC线程收集年轻代。哪个更快?2)为什么“ ParNew”和“ Parallel Old”不能一起使用?3)如何将“ CMS”和“ Serial”一起使用?4)蓝色框是否带有“?”错字了吗?一、垃圾...
2020-09-15 12:33:27 413 2
原创 玩转JVM的GC 和 GC 调优 —— 实战
GC 基础知识1、什么是垃圾C语言申请内存:malloc、freeC++: new、deleteJava: new、自动回收自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出现两种类型的问题:忘记回收 多次回收2、如何定位垃圾引用计数 根可达算法3、常见的垃圾回收算法标记清除:位置不连续,产生内存碎片复制算法:没有内存碎片,浪费空间标记压缩:没有内存碎片,效率偏低4、JVM内存分代模型(用于分代垃圾回收算法)部分垃圾回收器使
2020-09-15 10:45:18 456 1
原创 Flink 学习链接 —— 都是干货
Flink 学习链接 —— 都是干货麻烦路过的各位亲给这个项目点个 【star】,太不易了,写了这么多,算是对我坚持下来的一种鼓励吧!FlinkTutorial 专注大数据Flink流试处理技术从数据流向角度分析:数据源Source、转换操作Transformation、下沉Sink从窗口操作角度分析:countWindowAll、countWindow、timeWindowAll、timeWindow滑动窗口从实际项目角度分析:与kafka、mysql、redis、http、elasti
2020-09-14 20:27:50 390 5
原创 Flink —— 什么是Flink?
Flink —— 什么是Flink?Apache Flink- 有状态人数据流分布式计算引擎。什么是流处理?在自然环境中,数据的产生原本就是流式的。无论是来自 Web 服务器的事件数据,证券交易所的交易数据,还是来自工厂车间机器上的传感器数据,其数据都是流式的。但是当你分析数据时,可以围绕有界流(bounded)或无界流(unbounded)两种模型来组织处理数据,当然,选择不同的模型,程序的执行和处理方式也都会不同。批处理 是有界数据流处理的范例。在这种模式下,你可以选择在计算...
2020-09-14 09:13:54 4653 1
原创 各级存储的访问速度 —— 一览表
各级存储的访问速度 序号 存储英文名称 存储中文名称 容量 时间(纳秒) 微秒 毫秒 1 CPU寄存器 位于CPU执行单元中 几十~几百KB 0.5 1 L1cachereference 读取CPU的一级缓存 几十~几百KB 0.5 2 Branchmispredict (转移、分支预测)比如:if 5 3 ...
2020-09-13 17:00:28 3002 3
原创 机器学习 —— 二分类算法(Titanic号乘客生存预测)
目录二分类情景说明机器学习流程1-of-K(哑编码)处理特别特征数据,将其转换成向量A.性别类别(非数值类型)特征转换成特征向量B. 对Age特征的特征向量处理C. 分类算法介绍代码实现及运行二分类情景说明预测Titanic 号上的乘客生存概率预测乘客是否遇难,是一个二分类问题,所以我们可以使用二分类来分解乘客是否生存,可以看成是乘客的标签 乘客的基本信息,可以看成是乘客的特征 目标:通过乘客的特征,来预测乘客的生存状况,即预测乘客的标签(生存/遇难)..
2020-09-13 11:31:36 1117 1
原创 HashMap 技术问题点解答
Hash的理解hash的基本概念就是把任意长度的输入通过一个hash算法之后,映射成固定长度的输出那你这里提到了任意长度的输入转化成固定长度的输出,会不会有问题?肯定会有问题的。在程序中(可能)碰到两个value值经过hash算法之后,算出同样的hash值,也就是会发生hash冲突那hash冲突可以避免么?理论上是没有办法避免的,就类比“抽屉原理”,比如说一共有10个苹果,但是咱一共有9个抽屉,最终一定会有一个抽屉里的数量是大于1的,所以hash冲突没有办法避免,只能尽量避免。你那认为稍微好一些
2020-09-10 22:08:54 3243 6
原创 大数据 —— 常见问题及答案
linux + shell常用的高级命令top iotop df -h grep sed awk netstat halt ps查看进程、查看端口号、查看磁盘使用情况top ps netstat df -h常用工具sed awk cut sort写过哪些shell 脚本集群启动停止脚本(zk.sh kf.sh xcall.sh myjps.sh xsync.sh)#! /bin/bashcase $1 in"start") { for I in hadoo
2020-09-10 22:06:35 1498 1
原创 算法 —— 排序算法
目录一、常见排序算法汇总1、选择排序2、冒泡排序3、插入排序4、希尔排序5、归并排序6、快速排序7、计数排序8、基数排序二、算法思维导图【全面】下载一、常见排序算法汇总1、选择排序package com.java.z_exam.algorithm.c02_sort;public class T_0002_SelectionSort { public static void main(String[] args) { in
2020-09-08 09:37:22 291
原创 Flink —— StateBackend 状态后端
在启动 CheckPoint 机制时,状态会随着 CheckPoint 而持久化,以防止数据丢失、保障恢复时的一致性。 状态内部的存储格式、状态在 CheckPoint 时如何持久化以及持久化在哪里均取决于选择的State Backend。一、可用的 State BackendsFlink 内置了以下这些开箱即用的 state backends :MemoryStateBackend FsStateBackend RocksDBStateBackend如果不设置,默认使用 MemoryS.
2020-09-07 22:40:20 3876 5
原创 HashMap 扩容机制
HashMap在1.7 和1.8 做了比较大的改变1.7之前使用的就是数组 + 链表,它数据节点是一个Entry 节点,它的一个内部类;1.7之前它的数据插入过程是使用了头插入,头插入法虽然效率比较高,但在resize拓容过程时,反复调用一个transfer的方法,把里面的一些Entry进行一个rehash,可能会造成链表的循环,就可能在下一次Get的时候出现一个死循环的情况;1.7没有加锁,也可能在多线程并发的情况下,数据不能保证它是一个安全的,就是我push的进去的值,取出来还是我push进去的一个
2020-09-07 12:59:34 367 4
原创 Java方面技术点小整理
Kafka用过么?用过用在什么场景?比如一个场景是实时行情异动、金融风控。因为我是做实时行情异动这块,我们将实时行情写入到kafka集群中,通过Spark Streaming/Flink 是消费Kafka topic中的数据。分析的结果数据可以写入到MySQL/HBase或者再写回Kafka中供其它应用继续分析。Kafka的消息是有序的吗?它是全局有序的么?kafka是有序的,但它的有序是局限的。比如你发的消息,消费消息的时候一个consumer只能一个partition这样的消息,一个parti
2020-09-07 11:27:49 1348
原创 机器学习 —— 深度技术博客链接
Spark 机器学习概述【理清什么是机器学习,它能做什么】 机器学习 —— 预测评价指标RMSE、MSE、MAE、MAPE、SMAPE 机器学习 —— 基于Spark ML 的文本分类实现语境分类【实用】 机器学习 —— 推荐系统【含示例源码】文章最后,给大家推荐一些受欢迎的技术博客链接:JAVA相关的深度技术博客链接 Flinak 相关技术博客链接 Spark核心技术链接 设计模式 —— 深度技术博客链接 机器学习 —— 深度技术博客链接 Hadoop相关技术博客链接..
2020-09-05 12:21:12 692
原创 设计模式 —— 深度技术博客链接
设计模式 —— 概述 及 七大设计原则【含示例&小总结】 设计模式 —— UML 类图 设计模式之 —— 单例模式 设计模式之 —— 策略模式 设计模式 —— 工厂模式(简单工厂、工厂方法、抽象工厂) 设计模式 —— 装饰者模式 设计模式 —— 代理模式 设计模式 —— 观察者模式 文章最后,给大家推荐一些受欢迎的技术博客链接:JAVA相关的深度技术博客链接 Flinak 相关技术博客链接...
2020-09-05 12:09:01 903 1
原创 设计模式 —— 观察者模式
目录一、观察者模式项目需求1.1 天气预报设计方案1-普通方案1.2 普通方案问题分析二、观察者模式原理2.1 观察者模式解决天气预报需求2.2观察者模式的好处三、观察者模式在Jdk应用的源码分析一、观察者模式项目需求天气预报项目需求,具体要求如下:气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方) 需要设计开放型API,便于其他第三方也能接入气象站获取数据 提供温度、气压和湿度的接口 测量数据更新时...
2020-09-05 11:32:22 505 3
原创 设计模式 —— 代理模式
一、代理模式的基本介绍代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象 代理模式有不同的形式,主要有三种静态代理、动态代理(JDK代理、接口代理)和Cglib代理(可以在内存动态的创建对象,而不需要实现接口,他是属于动态代理的范畴)。...
2020-09-03 23:51:25 427
原创 Flink实战 —— 读取Kafka数据并与MySQL数据关联【附源码】
需要导入mysql驱动 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency>mysql建立表及插入数据D
2020-09-02 23:03:24 2713 4
原创 设计模式 —— 装饰者模式
目录一、星巴克咖啡订单项目需求二、方案1-解决星巴克咖啡订单项目(较差)三、方案2-解决星巴克咖啡订单(好点)四、装饰者模式定义4.1 装饰者模式原理4.2 装饰者模式解决星巴克咖啡订单五、装饰者模式在 JDK 应用的源码分析装饰者模式定义:动态给一个对象添加一些额外的职责,就像在墙上刷油漆,使用Decorator 模式相比用生成子类方式达到功能的扩充显得更为灵活。初计初衷:通常可以使用继承来实现功能的扩展,如果这些需要扩展的功能的种类很繁多,那么势必...
2020-09-02 12:02:20 6345 2
原创 机器学习 —— 推荐系统【含示例源码】
目录一、推荐系统概述二、推荐系统的组成三、推荐方法四、推荐系统产品五、Spark MLlib协同过滤推荐算法ALS六、矩阵分解七、基于MoiveLens电影评分数据集推荐案例八、模型评估九、Spark mllib基于MoiveLens电影评分数据集推荐案例代码9.1 Spark mllib Java版本9.2Spark mllib Scala版本一、推荐系统概述推荐系统:通过探寻不同物品/产品(Item、Product)之间或者不同用户之间喜好的联系,..
2020-09-01 23:36:34 1597 1
原创 机器学习 —— 预测评价指标RMSE、MSE、MAE、MAPE、SMAPE
假设:预测值:yˆ={y1ˆ,y2ˆ,...,ynˆ}真实值:y={y1,y2,...,yn}MSE均方误差(Mean Square Error)MSE=1n∑ni=1(yˆi−yi)2MSE=\frac{1}{n} \sum_{i=1}^{n} (\hat{y}_i - y_i)^2MSE=n1i=1∑n(y^i−yi)2范围[0,+∞),当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。RMSE均方根误差(Root Mean Square Error)
2020-09-01 12:24:10 8087
原创 Spark 机器学习概述【理清什么是机器学习,它能做什么】
一、什么是人工智能人工智能(Artificial Intelligence),英文缩写为AI,它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器(让机器实现原来只有人类才能完成的任务其核心是算法),该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应该领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智能的
2020-09-01 09:53:37 659 1
原创 设计模式 —— 工厂模式(简单工厂、工厂方法、抽象工厂)
一、简单工厂模式看一个披萨的项目:要便于披萨种类的扩展,要便于维护披萨的种类很多(比如GreekPizz、CheesePizz等) 披萨的制作有prepare,bake,cut, box 完成披萨店订购功能。1.1 使用传统的方式来完成思路分析(类图)编写OrderPizza.java去订购需要的各种Pizza,传统方式代码如下:public class OrderPizza { // 构造器 public OrderPi...
2020-08-31 10:16:46 683 1
Java集合思维导图.xmind.zip
2020-09-13
Spark 机器学习.xmind.zip
2020-09-13
Titanic_SparkMl_Train.csv
2020-09-13
Synchronized_思维导图(全面).xmind.zip
2020-08-22
Flink_思维导图(干货).xmind.zip
2020-07-18
RPC研究,从浅到深,含研究笔记:超级全面,包懂
2020-07-18
HDFS文件系统JAVA api访问接口(基于hadoop大数据平台)
2019-06-11
图解Spark核心技术与案例实战
2018-11-15
C#版使用Halcon图像显示,PhotoDemo
2018-10-20
MySQL必知必会
2017-06-29
Apache Druid 3台集群搭建,可用配置 druid_conf.zip
2020-12-20
logback-core 和logback-access 1.2.3.zip
2020-12-06
MySQL 精简50题练习 school_score.sql
2020-11-14
Java后端开发学习路线.xmind
2020-10-24
大数据技术之高频面试题.pdf
2020-09-22
ElasticSearch 思维导图.xmind.zip
2020-09-20
hbase-思维导图.xmind.zip
2020-09-20
MySQL_思维导图(全面).xmind.zip
2020-09-13
Hbase总结.docx
2020-09-13
Kafka总结.docx
2020-09-13
Flink总结.docx
2020-09-13
TCP&SOCKET&三次握手全解.xmind.zip
2020-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人