- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 scala利用akka框架封装数据库操作api微服项目
原作:https://blog.csdn.net/weixin_42003671/article/details/97630151原作很详细了但是基本都是test阶段的东西,也踩了很多坑才走出来这边尽力写出自己遇到的问题先贴代码**数据库操作代码:**import java.sql.{Connection, DriverManager, ResultSet}import java.util.Propertiesimport scala.collection.mutableimport c
2021-07-05 17:37:16 405 1
原创 Spark原理简述
1.1 spark 运行原理底层详细细节介绍:我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程。根据你使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。而Driver进程要做的第一件事情,就是向集群管理器(可以是Spark Standalone集群,也可以是其他的资源管理集群,美团•大众点评使用的是YARN作为资源管理集群)申请运行Spark作业需要使用的资源,这里的资源指的就是Execu
2020-09-22 19:25:35 335
原创 scala学习记录(4)
继承知识点继承类 extends重写方法时必须用override只有主构造器可以调用超类的主构造器重写字段抽象类、字段扩展类使用extends关键字class Employee extends Person {...}在子类中定义需要的新字段和方法,或者重写超类的方法可将类声明为final,这样就不有被扩展可将单个方法或字段声明为final,确保不能被重写在上一节中,类有一个主构造器和任意多的辅助构造器,而每个辅助构造器都必须先调用先前定义的辅助构造器或主构造器
2020-09-15 19:00:41 188
原创 scala学习记录(3)
类定义知识点每个类都有一个主构造器,这个构造器和类的定义“交织”在一起,它的参数直接成为类的字段,主构造器执行类体中所有的语句类中的字段自动带getter和setter方法用@BeanProperty注解生成JavaBean的getXxx/setXxx方法辅助构造器是可选的,它们都叫做this类定义定义及使用scala> class Counter { | private var value = 0 | def increment() {value +
2020-09-15 18:59:02 220
原创 scala学习记录2
常用数组操作知识点长度固定使用Array,长度有变化使用ArrayBuffer提供初始值时不要使用new用()来访问元素for(elem <- arr)遍历元素for(elem <- arr if ...) yield ...将原数组转为新数组定长数组10个整数的数组,所有元素初始为0scala> val nums = new Array[Int](10)nums: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0,
2020-09-15 18:56:26 96
原创 scala Array函数
Array数组是一种可变的、可索引的数据集合。在 Scala 中用 Array[T] 的形式来表示 Java 中的数组形式 T[]。示例:val arr = Array(1, 2, 3, 4) // 声明一个数组对象val first = arr(0) // 读取第一个元素arr(3) = 100 // 替换第四个元素为 100val newarr = arr.map(_ * 2) // 所有元素乘 2println(newarr.mkString(",")) // 打印数组,结果为:2,4,
2020-09-13 14:04:59 203
原创 scala学习记录(1)
Scala特性面向对象特性Scala是一种纯面向对象的语言,每个值都是对象。函数式编程Scala也是一种函数式语言,其函数也能当成值来使用。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。Scala的case class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。可以利用Scala的模式匹配,编写类似正则表达式的代码处理数据。并发性Scala使用Actor作为其并发模型,Actor是类似线程的实体,通过“邮箱”发收消息。Actor可
2020-09-06 21:22:09 203
原创 hadoop基础知识(2)
Yarn什么是yarn?在古老的 Hadoop1.0 中,MapReduce 的 JobTracker 负责了太多的工作,包括资源调度,管理众多的 TaskTracker 等工作。这自然是不合理的,于是 Hadoop 在 1.0 到 2.0 的升级过程中,便将 JobTracker 的资源调度工作独立了出来,而这一改动,直接让 Hadoop 成为大数据中最稳固的那一块基石。而这个独立出来的资源管理框架,就是 Yarn 。为什么用yarn?防止集群累垮三个主要组件ResourceManager;A
2020-09-05 16:08:52 121
原创 hbase自我小结
HBase 是一个分布式的、多版本、面向列的开源 KV 数据库。运行在 HDFS 的基础上,支持 PB 级别、百万列的数据存储。作为性能如此强大的 KV 数据库,HBase的存储结构究竟是怎样的呢?面向列的存储结构究竟有什么样的不同之处呢?接下来会详细讲解这部分HBase的存储结构为了清晰地表述这个,我们把HBase的存储结构分为逻辑结构和物理结构两个部分。逻辑存储结构通过下图直观地展示 HBase 的逻辑存储结构:在本图中,列簇(Column Family)对应的值就是 info 和 area
2020-09-01 17:26:59 190
原创 hive基本介绍和基础
(一)Hive简介1、Hive基本概念Hive基于hadoop的一个数据仓库工具:hive本身不提供数据存储功能,使用HDFS做数据存储;hive也是分布式计算框架,hive的核心工作就是把SQL语句翻译成MR程序;hive不提供资源调度,也是默认由Hadoop当中yarn集群来调度;可以将结构的数据映射为一张数据库表,并提供HQL(Hive SQL)查询功能。(二)数据仓库与数据库的区别数据库只存在当前值(近几年),数据仓库存放历史值(5-10年都可以);数据库内数据是动态变化的,只.
2020-08-26 18:56:03 328
原创 Hive窗口函数
窗口函数的执行会被安排在整个SQL处理的最后一步,但会先于order by 子句执行;窗口函数的作用域位于over子句中,对每一组返回多个值。一、统计计算窗口函数1、sum(…)over(…)类似SQL的聚合函数,能实现累计计算的功能。--2018年每月的支付总额和当年累积支付总额--SELECT a.month, a.pay_amount, sum(a.pay_amount) over(order by a.month)FROM (SELECT mont
2020-08-26 18:55:00 160
原创 HDFS文件的写入与读取
首先我们要知道HDFS 4个组成部分1:client(客户端)2:Namenode(主节点)3:Datanode(从节点)4:secondaynode(辅助节点)1:client(客户端)作用a.文件切片b.Namenode交互:获取文件位置信息c.Datanode交互:读取写入信息d.提供命令,管理访问HDFS2:Namenode(主节点)a.管理HDFS 名称控件b.管理切片映射信息c.配置副本策略(即存几个副本)d.处理客户端读写请求3:Datanode(从节点)a.
2020-08-19 18:40:28 237
原创 hadoop 单词出现次数统计实例 java 代码WorldCount
WorldCount.classpackage com.hadoop.test;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.ha
2020-08-18 18:51:45 715
原创 hadoop基础知识(1)
1. Hadoop概述Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上,形成分布式系统;MapReduce分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。所以用
2020-08-18 18:44:15 374
原创 我该如何掌握ElaticSearch(2)
查询空搜索最基本的搜索API表单是空搜索(empty search),它没有指定任何的查询条件,只返回集群索引中的所有文档:GET /_search响应内容(为了编辑简洁)类似于这样{ "hits" : { "total" : 14, "hits" : [ { "_index": "us", "_type": "tweet", "_id": "7",
2020-08-12 18:50:03 134
原创 我该怎么掌握ElasticSearch(1)
Elasticsearch的核心概念近实时近实时,两个意思,从写入数据到数据可以被搜索到有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级。Cluster(集群)集群包含多个节点,每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的,对于中小型应用来说,刚开始一个集群就一个节点很正常Node(节点)集群中的一个节点,节点也有一个名称(默认是随机分配的),节点名称很重要(在执行运维管理操作的时候),默认节点会去加入一个名称为“elasticsearch
2020-08-12 18:39:23 157
原创 SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
1、基本概念1.1、SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从
2020-08-09 14:10:11 275
原创 我该如何掌握shell编程(1)
谁需要学习shell编程1、liunx运维工程师:编写shell程序进行服务集群管理2、python和javaee程序员:编写Shell脚本程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。3、大数据程序员:编写Shell程序来管理集群Shell 是什么?Shell 是一个命令解释权,它为用户提供了一个向 Linux 内核发送请求以便运行程序界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。Shell 编程快速入门进入Linux 终端,编写一个 Shell
2020-08-07 15:05:40 166
原创 回调函数
首先将编程分为两大类1、系统编程 简单来说,就是编写库;系统程序员会给自己写的库留下一些接口,即API,以供应用程序员使用。所以在抽象层的图示里,库位于应用的底下。2、应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。当程序跑起来时,一般情况下,应用程序会时常通过API调用库里所预先备好的函数。但是有些库函数却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数...
2020-07-28 19:32:17 120
原创 js、jQuery、ajax、json四个之间的区别
1. JavaScriptJavaScript(简称js)JavaScriptJavaScript是一种主要运行于浏览器中的弱类型的动态脚本语言,可以用来实现网页上的一些高级功能,如数据验证处理、页面动态效果、定时任务、与用户交互、发送/接收服务器端数据等等。动态语言指的是程序运行时可以改变结构,主要体现在:① js中的变量在声明的时候不需要指定类型,其实际类型由程序运行中的赋值决定,在运行过程中变量的类型也可以改变。注:这一点是动态语言的特征,并不是弱类型语言的特征,之前的回答有误。② 函数可变。
2020-07-28 19:07:59 493
原创 java线程详解二
4.容器类这里就讨论比较常用的两个:BlockingQueueConcurrentHashMapBlockingQueue阻塞队列。该类是java.util.concurrent包下的重要类,通过对Queue的学习可以得知,这个queue是单向队列,可以在队列头添加元素和在队尾删除或取出元素。类似于一个管道,特别适用于先进先出策略的一些应用场景。普通的queue接口主要实现有PriorityQueue(优先队列),有兴趣可以研究BlockingQueue在队列的基础上添加了多线程协作的功能:除
2020-07-22 20:05:22 193
原创 java线程详解一
基本概念用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些概念不够明确,如同步、并发等等,让我们先建立一个数据字典,以免产生误会。多线程:指的是这个程序(一个进程)运行时产生了不止一个线程并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发
2020-07-22 20:00:33 227
原创 Servlet简述
一、什么是Servlet?Servlet就是一个普通的类,只不过这个类能够接受和处理请求,并且做出响应。提到Servlet就绕不开Servlet容器,那么什么又是Servlet容器呢?通俗的讲就是实现Servlet标准管理辅助Servlet类工作的工具。Servlet和Servlet容器在我看来就是子弹和枪的关系,通过对标准化接口的实现互相配合,彼此依存又独立发展。在大部分的情况下我们又称Servlet容器为服务器,常用的有Tomcat等。二、准备阶段为了迎接HTTP的到来,首先我们需要有一个Se
2020-07-16 19:08:22 278
原创 JavaWeb学习心得
一、ServletServlet是javaWEB的核心,简单的说就是用Java编写的服务器端程序。用户进行一个动态请求(静态请求就是直接请求HTML )时,实际上是请求—个servletWEB容器将Servlet加载到内存通过init方法进行初始化Service()方法根据请求方法调用对应的处理方法doPost()或doGet(),还有一些其他的请求方法doPut() doOptions()…但这些方法不常用,并且从安全的角度都是建议屏蔽的。当Server不再需要Servlet时(一般当Server关闭时
2020-07-15 20:08:40 2448
转载 maven阿里库
之前看了论坛上基本就是很短的一段 下载也是非常慢 找到了一串比较长的 体验过后也非常快分享下```css```css```css```css```css```css```bash<?xml version="1.0" encoding="UTF-8"?>-<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/se
2020-07-07 10:57:49 637
原创 mysql高级部分学习
一、mysql的架构介绍1.mysql采用的是分层设计模式,结合可插拔技术开发的。2.mysql层次结构为:连接层>服务层>引擎层>存储层。3.插件式的存储引擎架构将查询处理和其他系统任务以及数据的提取相分离。4.mysql最常用的两种搜索引擎是:MyISAM 和 InnoDB(默认)。5.MyISAM 和 InnoDB的区别以及选择:两种类型最主要的差别就是InnoDB 支持事务处理与外键和行级锁.而MyISAM不支持.读多写少用MyISAM,读少写多用InnoDB二、索引
2020-07-06 20:02:16 171
原创 mysql数据库的常用操作命令
1、显示数据库 mysql> show databases; ±---------+| Database |±---------+| mysql || test |±---------+2 rows in set (0.04sec) Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。2、显示数据库中的表mysql> use mysql;(打开库,
2020-07-05 17:07:28 144
原创 linux安装mysql常见注意事项
一、下载MySql浏览器打开 http://www.mysql.com/downloads/mysql/#downloads 下载我下载的版本是Red Hat 5 版本的 http://www.mysql.com/downloads/mirror.php?id=407552上传至服务器,或在服务器上直接 wget 下载方式下载。二、解压tar文件执行命令:`tar -xvf MySQL-5.5.23-1.rhel5.x86_64.tar三、安装MySql服务端(这些rpm文件根据我们需要安装)我这
2020-07-05 16:59:47 346
原创 JavaScript笔记整理2
1.数据类型1.数据类型的作用规定了数据在内存中所占的空间。bit:位 byte:字节 kb:千字节 8bit=1byte 1024byte=1kb 1024kb=1MB 1024MB=1G 1024G=1T2.数据类型的详解1.原始类型(基本类型)1.Number类型数字类型 作用:可以表示32位(4byte)的整数,也可以表示64位(8byte)浮点数(俗称小数) 整数:1.十进制 由0-9是个数字组成,逢十进一 12
2020-06-28 13:27:52 102
原创 javascript笔记整理
1.javascript1.什么是javascript?javascrip,简称js,是运行在js解释器/引擎中的脚本语言。js的运行环境:1.独立安装的js解释器(node)2.嵌入在浏览器内核中的js解释器2.js的发展史1.1992年Nombas公司为自己的软件开发了一款脚本语言ScriptEase 2.1995年Netscape(网景)开发了脚本语言-livescript-javascript (与java没有任何关系)3.1996年Micriosoft(克隆版本JScript
2020-06-28 13:21:08 124
原创 css基础知识整理
1 什么是CSS?CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。2 CSS语法CSS基础语法CSS规则由两个主要部分构成:选择器以及一条或多条声明。每条声明由一个属性和一个值组成。属性(property)是设置的样式属性,每个属性有一个值,
2020-06-21 20:47:12 211
原创 HTML基础知识点整理归纳
一、 HTML的基本结构<head> <title>网页的标题</title> <meta charset="utf-8"/></head><body> 写网页的主体</body>注意:写完代码记得将格式保存为.html(推荐) htm xhtml HTML的基本结构详解1.<html>内容</html>解释:HTML文档的文档标记,也称为HTML开始标记
2020-06-21 20:42:19 6213
原创 LinkedList部分源码分析(jdk1.8,保证你能看懂)
在分析LinedList之前先对链表做一个简单的介绍 毕竟链表不像数组一样使用的多 所以很多人不熟悉也在所难免。链表是一种基本的线性数据结构 其和数组同为线性 但是数组是内存的物理存储上呈线性 逻辑上也是线性 而链表只是在逻辑上呈线性。在链表的每一个存储单元中不仅存储有当前的元素 还有下一个存储单元的地址 这样的可以通过地址将所有的存储单元连接在一起。每次查找的时候 通过第一个存储单元就可以顺藤摸瓜的找到需要的元素。执行删除操作只需要断开相关元素的指向就可以了。LinkedList中使
2020-06-13 16:26:04 97
原创 HashMap源码分析(jdk1.8,保证你能看懂)
近两天有与一直在学习集合中的数据结构这一块 所以连连看的研究先放一边 总结一下我这些天研究的数据结构之一HashMapHashMap最早是在jdk1.2中开始出现的 一直到jdk1.7一直没有太大的变化 但是到了jdk1.8突然进行了一个很大的改动 其中一个最显著的改动就是之前jdk1.7的存储结构是数组+链表 到了jdk1.8变成了数组+链表+红黑树另外 HashMap是非线程安全的 也就是说在多个线程同时对HashMap中的某个元素进行增删改操作的时候 是不能保证数据的一致性的下面
2020-06-13 16:16:29 168
原创 学习Java第14天,关于连连看的java秒杀外挂的研究(8)
今天我继续来研究BMP下面的代码这里基础的东西我不再赘述 主要研究的是三个颜色框内自己存在疑惑的代码首先是ByteArrayOutputStream 百度知道 这是缓冲输入流 作用是为另一个输入流添加一些功能具体如下这里我日常提出为什么要新建一个缓冲输入流的对象呢 文中接下来的解释给我了答案 作者为了提高效率或者说为了更快的实现“秒杀”而新建 那我是不是删除这段代码速度变慢了会不会更像人在操作呢? 我将在全部研究完毕再来测试接下来的蓝色框是trycatch 这是前两天才学习的知识点
2020-06-04 20:07:17 234
原创 学习Java第14天,关于连连看的java秒杀外挂的研究(7)
这张图片取自BMP 前面已经讨论研究过的不再赘述 这里着重研究红框内的内容前面两public int getWidth() {return width;}public int getHeight() { return height;}是最近一直在背的ArrayList中get的方法 这里顺带复习 他们的返回值是此列表中指定位置的元素public static int b2i(byte[] b, int s) { }这段代码定义了一个b的字节整数 和一个整数s 从前面代码研究我猜
2020-06-02 19:11:37 266
原创 学习Java第14天,关于连连看的java秒杀外挂的研究(6)
上一篇研究了kuangkuai.java这个文件 了解了他是通过封装的方法获取方块的数据 接下来来看调用这个fangkuai这个方法的FKset红框被我标注的是调用了老师这周末要求我们能够背诵默写的ArrayList的一种方法 具体是什么方法我门接下来具体看private List list这个可以看出来 这是写的一个一个接口 把之前我们研究的fangkuai这片代码作为方法直接调用了 new了一个新的fangkuai 作用应该是用来保存不同种类的方块 如果是同一种 就不重复保存了这
2020-05-31 11:51:10 236
原创 学习Java第七天,关于连连看的java秒杀外挂的研究(5)
这两天学了面向对象 并在今天练习了封装 回来再看这个外挂代码恍然大悟 原来写这个代码的dalao用了封装这个操作这两张图片中用橙色圈起来的 根据这两天所学知识 作者定义了类之后 使用了FKset BMP等方法 而在上一篇我也写到有同样名字的文件存在 那么我现在用所学知识就是方法的封装那么先看FKset 看能否解答我之前提出的一些问题这段代码出现了两个这两天所学的新语法 private和this 由于是刚学习 所以也在这里复习一下private的基本概念是一个私有的 一种访
2020-05-26 21:42:08 326
原创 学习Java第七天,关于连连看的java秒杀外挂的研究(4)
由于开学返工 最近并没有学习太多java稚时 所以这周两篇都会是对前面1、2惊醒纠错和解答2中出现的bmp并不是生成bmp文件 我漏看了一个. 所以应该是bmp后缀文件![在这里插入图片描述](https://img-blog.csdnimg.cn/20200523145053480.png?x-oss ;-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B
2020-05-23 15:02:19 284
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人