- 博客(99)
- 收藏
- 关注
原创 mybatis连接池,事务,隔离级别,迟加载,注解开发,缓存,分页
一.连接池1.介绍mybatis使用的是自己的连接池技术,可以在mybatis-config.xml中进行配置如图:2.mybaits连接池的分类UNPOOLED 不使用连接池的数据源POOLED 使用连接池的数据源JNDI 使用JNDI实现的数据库连接池3.UNPOOLED分析UNPOOLED 不使用连接池的数据源,当 dateSource 的type属性被配置成了UNPOOLED,MyBatis 首先会实例化一个UnpooledDataSourceFactory工厂实例,
2021-12-09 22:37:00 332
原创 动态SQL,模糊查询,关联查询
一.#{}和${}的区别相同点:这两个都是占位符,用来指定传入sql的参数 不同点: #{}这个是预编译的,不会发生sql注入,如果需要使用拼接的话可以使用sql的内置函数contact() ${}这个是将其中的变量通过字符串拼接的方式插入到sql语句中的,容易发生sql注入,尽量避免使用 二.参数1.多个参数当我涉及到多个参数传参的时候,这个时候,我们直接使用变量名会发现控制台有错误提示Parameter ‘XXX’ not found. Available parameter.
2021-12-09 22:18:37 706
原创 mybatis的初步使用
一.概述mybatis是数据持久层的一个框架,可以很方便的实现数据持久化的任务.1.传统jdbc的缺陷频繁的创建和销毁数据库连接这种宝贵的资源,浪费系统性能 sql语句存在硬编码,不利于维护与拓展 处理结果集时存在硬编码,不利于系统维护2.什么是mybatismybatis解决了传统jdbc的缺陷,使用xml或者注解的方式来持久化数据3.mybatis与hibernate的区别**mybatis:**入门简答,轻量(半自动轻机枪)**hibernate:**很智能,但是学习成
2021-12-09 22:13:14 283
原创 JDBC
1、JDBC是什么 Java Database Connectivity (java语言连接数据库)2、JDBC本质是什么 是sun公司制定的一套接口 java.sql.* ;(这个软件包下有许多的接口) 接口都有调用者和实现者 面向接口调用,面向接口写实现类,这都属于面向接口编程 为什么要面向接口编程? 解耦合,降低程序的耦合度,提高程序的扩展力 多态机制就是典型的面向抽象编程(不要面向具体编程) 思考:为什么要制定JDBC接口 因为每隔数据
2021-12-09 22:07:04 225
原创 Servlet
一、概述1、背景动态Web资源的开发越来越重要常见的技术有:ASP,PHP,JSP,Servlet2、什么是ServletServlet是使用Java语言编写的运行在服务器端的程序。Servlet主要用于处理客户端传来的Http请求,并返回一个响应,它能够处理的请求有**doGet()和doPost()**等方法。3、servlet容器Servlet由Servlet容器提供,所谓的Servlet容器是指提供了Servlet功能的服务器(这里指Tomcat),Servlet容器将S
2021-12-09 22:00:51 321
原创 maven进阶
一.maven的依赖配置<project> ... <dependencies> <denpendcy> <groupId></groupId> <artifactId></artifactId> <version></version> <type></type> <scope><...
2021-12-09 21:26:47 142
原创 linux 去掉前n行或者去掉后n行
问题描述使用last命令查看登录用户,只想看一下ip所以输入命令last | awk '{print $3}'但是结果如下:27.128.101.17527.128.101.17527.128.101.175121.28.97.194121.28.97.194121.28.97.194121.28.97.194bootbootWed想去掉最后几行问题解决去掉后num行head -n -num去掉前num行tail -n +num
2021-12-09 21:19:09 1571
原创 用户,用户组与权限
一.用户与用户组1.用户的分类root用户:系统唯一,真实,可登录系统,可操作系统任何文件的用户,拥有最高权限虚拟用户:这类用户被称为伪用户,不具有登录能力,但是系统不可缺少这类用户,例如bin,daemon,ssh等,一般是系统创建,也可手动创建普通用户:具有登录能力,但是只能操作自己家目录中的内容,权限有限.2.用户组具有相同特征的用户集合体,用户和用户组的关系:一对一,一对多,多对一3.命令# 创建用户useradd 用户名# 给用户设置密码passwd 用户名#
2021-12-08 21:21:39 3744
原创 ssh的密码登录和公钥登录
一.简述sshssh是加密的远程登录和远程执行命令的工具,它不仅在密码进行加密,对登录后执行的命令也进行了加密,所以比较安全,在这之前使用的是telent和R系列的命令,这些是明文传输,很不安全.一般的linux发行版本都带了ssh,不要手动安装.二.密码登录1.工作原理1.客户端向服务端发起登录请求,服务端返回公钥2.客户端用公钥加密自己的认证信息,发送到服务端3.服务端用私钥解密客户端发来的认证信息,匹配则登录成功,否则失败2.登录命令ssh 用户名@主机ip或者ho.
2021-12-08 21:18:42 3543
原创 linux高级命令
一.grep作用:一种强大的文本搜索工具,可以使用正则表达式语法:grep [参数] '匹配关键字' fileName参数:-a --text # 不要忽略二进制数据。-A <显示行数> --after-context=<显示行数> # 除了显示符合范本样式的那一行之外,并显示该行之后的内容。-b --byte-offset # 在显示符合范本样式的那一行之外,并显示该行之前的内容。-B<...
2021-12-08 21:16:28 77
原创 linux的目录结构及其常用命令
一.目录结构1.目录结构2.常用目录结构说明二.常用命令1.关机haltshutdown -h now2.重启rebootshutdown -r now3.查看当前用户whoami4.创建用户useradd 用户名5.给用户配置密码如果不指定用户名则默认修改 root 用户的密码。注意:普通用户只能修改自己的密码。passwd 用户名6.切换用户su 用户名7.创建一个目录mkdir 目录名8.查看当前路径pw
2021-12-08 21:11:13 292
原创 虚拟机的使用与配置
一.虚拟机的三种模式1.桥接模式这种模式下,虚拟机相当于一台真正的主机,与宿主机没有任何关系2.NAT模式NAT就是网络地址转换,使用该该模式的话,虚拟机的网段和宿主机是不在一个网段上的虚拟机通过系统上的NAT服务,将本地的包进行地址转换后发送到真实的网卡上,真实网卡上的数据包也会通过该服务进行地址转换,然后将包发送到虚拟机中,DHCP为虚拟机分配ip地址3.主机模式这种方式下,虚拟机直接连接到宿主机的网卡上,但是系统给虚拟机提供任何路由服务,虚拟机只能和宿主机进行通信,但是不能过
2021-12-08 21:06:33 199
原创 数据库实验之单表操作
一、需求使用SQL语句完成如下工作:创建一个表;【成绩表】 有如下字段及要求: 序号,int类型,自增;主键; 学号,char(10); 课程号:char(10); 成绩:int; 绩点:dec(3,1); 复制表结构为【成绩表_bak】 添加如下内容到【成绩表】中: (1,101,201,80,0) (2,101,202,75,0) (3,101,203,84,0) (4,102,201,89,0) (5,102,202,90,0) (6,102,
2021-12-08 21:03:22 748
原创 数据库实验之多表查询与外键
一、需求利用前2次实验中的【学生表】和【成绩表】进行如下操作;【学生表】结构如下:序号,int类型,自增;主键;学号,char(10);唯一索引;姓名:varchar(20);性别:枚举类型,取值为男或女;【学生表】数据如下:(1,101,张三,男)(2,102,李四,女)(3,103,王五,男)【成绩表】结构如下:序号,int类型,自增;主键;学号,char(10);课程号:char(10);成绩:int;绩点:dec(3,1);【成绩表】数据如下:(1,101,20
2021-12-08 20:59:12 1004
原创 mysql学习-链接查询
一.行转列1.多行转一行多列原始数据是这样的但是想要的数据是这样的2.实现方式SELECT NAME , max( CASE course WHEN 'java' THEN score END ) java, max( CASE course WHEN 'mysql' THEN score END ) mysqlFROM studentGROUP BYNAME3.多行转一行一列要实现以下效果相关函数concat(...
2021-12-08 20:53:27 267
原创 mysql学习-mysql进阶
一.DDL操作1.有关表的一些操作更改表名alter table 表名 rename 新表名;更改字段名alter table 表名 change 列名 新列名 数据类型;添加字段alter table 表名add 列名类型;删除字段alter table 表名 drop 列名;更改字段类型(尽量不要更改)alter table 表名 modify 列名 新数据类型;查看建表语句show create table 表名;二.约束三.条件判断1.a
2021-12-08 20:50:16 109
原创 mysql学习-mysql初步
一.数据库概述1.数据库的分类关系型数据库(SQL)数据库里的数据存在明显的关系关联性。mysql,Oracle,SQLite非关系型数据库(NOSQL)其中的数据并不存在明晰、紧密的关系关联性,更多是松散的关联关系。Redis,mongoDB,Hbase非关系型数据库产生的背景:大数据量高吞吐量低延迟2.数据库对象2.1表表是一种结构化的文件,里面有列,行,文件,类似Excel表2.2视图可以理解为是一张虚表(在物理磁盘中不真实存在).视图是基于select语
2021-12-08 20:42:27 101
原创 Hbase之经典面试题
一.hbase架构设计之元数据管理之root表和meta表说明0.98版本之前 各个表的作用 root表记录meta表的region信息 meta表记录用户表的region信息 工作流程 示意图 zk中存储着root的region信息(root表仅一份) root中存储着meta的region信息 meta中存储着用户的region信息 用户访问数据的流程 从zk获取root的region,然后获取meta的region,最后获取到用户的region
2021-12-07 10:43:50 122
原创 Hbase之java操作
一.pom配置<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.1.2</version> <!-- <scope>provided</scope> --></depen...
2021-12-07 10:42:09 113
原创 Hbase之shell操作
一.系统操作status : 查看hbase集群状态 version : 查看hbase版本 whoami : 查看当前操作用户二.DDL操作创建表 模板 create ‘表名’,‘列族’,‘列族…’ 查看所有表 list 禁用表 disable ‘表名’ 启用表 enable ‘表名’ 查看表的状态 is_disabled is_enabled 查看表描述 describe ‘表名’ 加入一个新列族 alter ‘表名’,‘列族
2021-12-07 10:40:18 292
原创 Hbase架构设计
一.架构设计二.核心概念Client 发起读写请求的角色,面向hbase client 编程 首先hbase查询meta表,找到读或写的数据的region区域位置信息 然后向region对应的HregionServer上发送读写请求 Zookeeper 存储HBase元数据 负责HMaster的选择和主备切换 负责对HRegionServer进行监控 对RootRegion的管理,即对meta表所在数据存储的region的管理 Region 管理,普通region
2021-12-07 10:36:27 138
原创 Hbase初识
一.概述1.产生原因hadoop的mr/hdfs/hive等只能做数据的顺序访问,不能随机访问很多场景需要数据的随机访问,例如身份证的识别,手机号的识别,健康码等2.简述全称 : hadoop habase 它是一个以hdfs为基础,面向列的分布式数据库,可以提供海量数据的随机实时读写 完全开源,参考了谷歌的bigtable数据库设计3.应用场景高并发,简单条件,随机查询 不擅长join类操作 半结构化,非结构化的数据存储 数据采集结果存储,海量数据查询等项目开发中经常使用
2021-12-07 10:33:01 337
原创 分布式资源管理与任务调度-Yarn
一.简介1.是什么Yarn(Yet Another Resource Negotiator,另一种资源协调者)一种新的hadoop资源管理器,一个通用的资源管理系统2.产生背景hadoop1.x版本中JobTracker,TaskTracker的MRv1模型有很多局限性,如下:JobTracker出现单点故障,整个集群瘫痪JobTracker负载过重仅支持MR计算框架资源管理和任务调度没有解耦3.Yarn的特点资源管理与任务调度解耦,一个集群的资源共享上层各个计算框架,
2021-12-07 10:26:38 347
原创 MapReduce进阶
一.HDFS数据格式1.文件格式2.压缩格式3.设置mr的输出格式例子:设置输出格式为gzipshell命令启动时要携带对应的参数:# 命令太长时 可以用 \ 新开一行yarn jar aaa.jar com.aaa.main.Wordcount \-Dmapred.output.compress=true \-Dmapred.output.compression.codec=org.apache.hadoop.io.compressGzipCodec \输入路径 输出
2021-12-07 10:22:08 102
原创 分布式计算框架MapReduce
一.介绍产生背景: web2.0时代到来,大量的数据需要处理,单机处理已经不能满足需求,分布式存储与计算进入历史舞台是什么:是一个面向大数据处理的计算框架基本特点:提供可靠的分布式计算,封装了细节开发流程简单,跨语言二.运行流程premap阶段首先根据输入的文件,进行切片,一个block块就是一片其中的每一片都会分配给一个map任务一个计算节点可以并行执行多个map任务分片完成后要按照回车符号进行kv格式化,k是字节偏移量,v是内容map阶段数据处理 Mapp...
2021-12-07 10:17:40 431
原创 分布式存储-HDFS
一.特点高容错和高可用性 流式数据访问 弹性存储,支持大规模数据集 简答一致性模型(一次写,多次读) 移动计算而非移动数据 协议和接口多样 多样的数据管理功能二.架构设计2.1核心组件NameNode(NN) 元数据管理者,管理NameSpace(文件系统命名空间)记录文件是如何切分并存储在那些节点上的一些信息 NameSpace上任何属性的更改都由NameNode记录,维护整个系统的文件和目录. DataNode(DN) DN是文件系统的工作节点,根据客户端或者NameN
2021-12-07 10:13:22 1724
原创 认识Hadoop
一.起源起源于搜索引擎 08年成为apache的顶级项目 09-12年 0.x-1.x快速发展,但是超大规模集群和HA等成为瓶颈 13-17年 2.x快速发展,解决了超大集群和HA瓶颈 17年至今 3.x快速发展,主要在提升执行效率(锦上添花)二.架构2.1核心组件HDFS(存储),MapReduce(计算),yarn(任务调度)2.2其他常用组件HBase,Hive,Zookeeper,Streaming2.3架构2.4组件介绍HDFS 分布式文件存储系统,.
2021-12-07 10:06:03 61
原创 centos redis配置
一.配置后台启动vim 编辑 redis.conf将 daemonize no 修改为 yes使用配置文件启动 redis-server redis.conf效果如下:二.配置可远程访问vim 编辑 redis.conf找到bind 127.0.0.1 -::1修改成 bind 0.0.0.0 -::1 或者注释掉上面的一行都可如果只想某些ip可以访问 ,那就bind 对应的ip即可将protected-mode 修改为no(redis3.2之后版本需要改这里)三.配置密码登
2021-12-05 00:55:57 1638
原创 kafka初识
一.概述定义 kafka是一种高吞吐量的分布式,支持分区,多副本,基于zookeeper协调的消息队列. 新版本变化 从0.10及之后,kafka定位于分布式事件流处理平台,不再是简单的是消息系统. 学习使用的版本 2.0.0 在0.10之前是没有kafka Streams的 1.x之后不断的优化了kafka的bug修复能力和kafka Stream编程 二.特点稳定性高 数据类似数组的顺序存储,时间复杂度是o(1),在面对大量数据时稳定性很高 高吞吐,低延迟
2021-12-05 00:52:54 74
原创 spark sql 总结
一.概述1.前世今生大量数据需要处理 ➡️ MapReduce出现 sql on mr ➡️ Hive mr效率太低 ➡️ Tez Tez效率低 ➡️ Spark sql on spark ➡️ Shark(太多的的借鉴了Hive制约了它,然后被推翻了,现在已经被弃用) sql on spark ➡️ SparkSql2.简介Spark SQL是Spark处理数据的一个模块 专门用来处理结构化数据的模块,像json,parquet,avro,csv,普通表格数据等均可。 与基础R
2021-12-05 00:48:54 652
原创 spark 常用算子
一.概述算子 英文翻译为:Operator(简称op) 狭义:指从一个函数空间到另一个函数空间(或它自身)的映射。 广义:指从一个空间到另一个空间的映射 通俗理解:指事物(数据或函数)从一个状态到另外一个状态的过程抽象。 实质就是映射,就是关系,就是变换。 算子的重要作用 算子越少,灵活性越低,则实现相同功能的编程复杂度越高,算子越多则反之。 算子越少,表现力越差,面对复杂场景则易用性较差。算子越多的则反之。 MapReduce 与 Spark算子比较 MapRed
2021-12-05 00:42:15 452
原创 spark core 总结
一.Spark 架构设计架构设计图二.相关术语名词解释RDD (Resilient Distributed DataSet) 弹性分布式数据集,是对数据集在spark存储和计算过程中的一种抽象。 是一组只读、可分区的的分布式数据集合。 一个RDD 包含多个分区Partition(类似于MapReduce中的InputSplit),分区是依照一定的规则的,将具有相同规则的属性的数据记录放在一起。 横向上可切分并行计算,以分区Partition为切分后的最小存储和计算单元。 .
2021-12-05 00:33:25 391
原创 spark 初识
一.概述大数据领域分类 离线处理 实时处理 大数据开发瓶颈 IO 绝大多数的瓶颈都卡在这里 计算 一般涉及到深度学习,人工智能等领域会遇到计算瓶颈,一般放在GPU上去跑 spark mapreduce遇到的瓶颈 操作类型有限,仅支持map和reduce两种操作 编程复杂较高,学习成本高 处理效率低 map中间结果xie磁盘,reduce结果xiehdfs,多个mr之间通过hdfs交换数据 任务调度和启动开销比较大
2021-12-05 00:24:34 133
原创 scala之高级使用总结
一.匹配模式概述 类比于 java 中的 switch…case,但比其要强大、灵活很多。 旨在解决符合一定模式(值也是模式的一种)情况下的匹配与处理问题。 使用说明 一个模式匹配包含了一系列备选项,每个都开始于关键字 case。 每个备选项都包含了一个模式及一到多个表达式。箭头符号**=>**隔 开了模式和表达式。 选择器 match {备选项},match 表达式通过以代码编写的先后次序尝试每个模式来完成计算,只要发现有一个匹配的 case,剩下的 case 不会继续匹配。
2021-12-05 00:21:11 343
原创 scala之集合总结
一.概述该集合与java中的类似,只不过scala按照其语法进行了重新实现分为可变集合和不可变集合常用的集合列表二.List概述存储同一类型的顺序存储结构不可变,一旦定义了就不能再改变可嵌套定义如果想使用可变的话,需要手动导入包 scala.collection.mutable.ListBuffer使用- 定义list //整形list var nums:List[Int] = List(1,2...
2021-12-05 00:17:21 585
原创 Scala之基础总结
1.基础概念基本概念 类 : 同一类型对象的抽象,例如人,星球,车等等 对象 : 类的具体实例,包含属性和方法,例如某个人,某个星球,某量车等 属性 : 用来描述对象的某些特征,例如人的年龄,姓名等 方法 : 用来描述对象的某些功能,例如人会吃饭,学习等等 文件以.scala结尾 主程序入口 : def main(args: Array[String]): Unit{ } 标识符 兼容java标识符命名规范 类名大驼峰,变量名小驼峰 新增了关键字 yield,所以使
2021-12-05 00:10:50 164
原创 Scala之函数的高级特性
1.传名调用概述当正真用到该函数的返回值的时候才会调该函数实例普通方式调用代码 def main(args: Array[String]): Unit = { f2(f1()) } def f1(): Int ={ println("f1") return 1 } def f2(a:Int): Unit ={ println("f2") println(a) } - 输出结果输出结果:f1f21 ...
2021-12-05 00:01:34 113
原创 scala初识
1.scala概述作者:联邦理工学院(EPFL)的 Martin Odersky,之前曾经开发过java的编译器 语言介绍: 多范式,集成了面向对象编程和函数式编程的各种特点 运行在java虚拟机上, 编译后是java的字节码文件,兼容java程序,可以调用现有的java类库 特点: 纯面向对象 函数式编程 静态类型:编译时检查,像python,ruby,js等是动态语言 拓展性: 提供了独特的语言机制,可以以库的形式无缝添加新的语言 并发性: 使用Actor作为并发
2021-12-04 23:54:53 84
原创 tomcat处理高并发的一些探索
一、tomcat的三个重要配置1、maxConnections:最大连接数解释: 在同一时间下,tomcat能够接收的最大连接数。默认值:java的阻塞式BIO:默认值是maxthreads的值在BIO使用定制的Executor执行器:默认值是执行器中的maxthreads值java新的NIO模式:默认值10000注意: 如果设置为-1,则禁用maxConnections,代表不限制tomcat的连接数2、accept-count:最大等待数解释: 当所有的请求处理线程都
2021-12-04 23:51:18 1376
原创 大数据技术之flink架构设计与运行流程
一.架构设计架构设计图 各层及相关术语说明 物理层 解决flink的部署模式的问题 支持多种部署模式:本地,集群,云及k8s 用户可以根据不同的场景选择不同的部署模式 核心层 是flink的核心实现层,负责为上层的接口提供服务 Runtime flink的核心计算 Optimizer 负责任务的优化 Stream Buider 负责对任务进行DAG优化 API层 面向用户,负责更好的用户开发体
2021-12-04 23:50:17 313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人