- 博客(112)
- 资源 (1)
- 收藏
- 关注
转载 SLA服务可用性4个9是什么意思?怎么达到?
SLA:服务等级协议(简称:SLA,全称:service level agreement)。是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。SLA的定义来源百度,这到底是什么意思呢?我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9、4个9,即99.9%、99.99%,甚至还有5个9,即99.999%。这么多9代表什么意思呢?首先,SLA的概念,对互联网公司来说就是网站服务可用性的一个保证。9越多代表全
2021-02-09 20:47:56
833
原创 Java代码模拟Scala object
1. object 在底层会生成两个类 TestScala , TestScala$2. TestScala 中有个 main 函数,调用 TestScala$ 类的一个静态对象 MODULES$object TestScala { def main(args: Array[String]): Unit = { println("hello,scala...") }}用java代码模拟://我们可以理解scala 在运行时,做了一个包装.public class T.
2020-07-01 14:50:28
250
原创 双重检测锁的单例模式之volatile
DCL(双重检测锁) 机制不一定线程安全,原因是有指令重排的存在,加入volatile可以禁止指令重排。原因在于创建一个对象并不是原子操作,单线程的指令重排没有问题,但是多线程时,某一个线程在执行到第一次检测,读取到的instance不为null时,instance的引用对象可能没有完成初始化。public class SingletonTest { // 禁止指令重排 private static volatile SingletonTest instance = null;
2020-06-01 14:24:00
1197
原创 mac安装gradle
官网下载zip包https://gradle.org/我下载的是5.4.1版本解压解压到本地电脑一个路径下,如:~/program/gradle-5.4.1配置环境变量vim ~/.bash_profile增加如下:export GRADLE_HOME=你的解压目录export PATH=$PATH:$GRADLE_HOME/bin验证gradle -v如下:配置本地仓库路径在环境变量增加vim ~/.bash_profile增加如下:
2020-05-26 17:00:14
468
原创 linux proc
查看/proc下的文件ls /proc查看某个进程的完整命令行信息。如果这个进程是zombie进程,则这个文件没有任何内容。cat /proc/$pid/cmdline查看进程的环境变量strings /proc/$pid/environ实际运行程序的符号链接ls -lt /proc/$pid/exe进程打开文件情况,数字为文件描述符ls -...
2019-12-18 12:50:41
210
原创 grep
-i 忽略大小写-n 显示行号--color 高亮显示关键字-v 反向匹配-A2 匹配行的之后2行-B3 匹配行的之前3行-C3 匹配行的之前和之后各3行-q 静默模式,echo $? 查看有没有匹配到-e 多个选项匹配,or的关系...
2019-10-14 15:05:58
179
原创 awk
目录格式options内置变量Pattern(模式也叫过滤条件)BEGIN模式: 类似表格表头END模式: 类似表格表尾关系运算模式正则模式行范围模式格式awk options 'Pattern{Action}' fileoptions -v 设置变量 -F 指定输入字段分隔符例子:awk -v x1="xx...
2019-10-14 14:37:35
165
转载 mysql数据库实现nextval函数
在oracle中使用序列(Sequence)来处理主键字段,现在想要在Mysql中也实现类似的效果。1、新建序列表drop table if exists sequence; create table sequence ( seq_name VARCHAR(50) NOT NULL, -- 序列名称 current_val INT ...
2019-09-29 13:27:25
9544
1
转载 spark小记——32个常用算子总结
Transformation1.mapmap的输入变换函数应用于RDD中所有元素,而mapPartitions应用于所有分区。区别于mapPartitions主要在于调用粒度不同。如parallelize(1 to 10, 3),map函数执行10次,而mapPartitions函数执行3次。2.filter(function)过滤操作,满足filter内function函数为tr...
2019-09-06 10:59:28
221
原创 spark小记——scala的Map类型转sparksql的dataframe
源码:package com.ydj.sqlimport org.apache.spark.sql.SparkSessionimport scala.collection.mutable.ArrayBuffer/** * @Auther: yuandejin * @Date: 2019-09-04 13:43 * @Description: */object ...
2019-09-04 13:52:10
2883
原创 logback.xml配置示例
<?xml version="1.0" encoding="UTF-8"?><configuration debug="false"> <!-- 使用方式说明: 1. 可以修改日志格式:调整property标签 2. 可以修改root的日志级别 3. 如果想将特定的包或者类的日志打印到具体的日志文件...
2019-09-04 13:40:38
269
转载 日志框架logback
简介logback和log4j是一个人写的 springboot默认使用的日志框架是logback。 三个模块组成 logback-core logback-classic logback-access 其他的关于性能,关于内存占用,关于测试,关于文档详见源码及官网说明logback-core 是其它模块的基础设施,其它模块基于它构建,显然,logback-core 提供...
2019-09-04 10:16:38
271
原创 centos下编译安装kafka-manager
kafka-manager项目地址:https://github.com/yahoo/kafka-managerReleases版本下载:https://github.com/yahoo/kafka-manager/releases编译步骤:1.安装maven:yum -y install maven2.安装sbt:curl https://bintray.com/sbt/r...
2019-07-22 14:47:35
338
原创 大文件切割上传再合并
切割命令:split -b 100m imgDir.tar.gz img_split合并命令:cat img_split* >> imgDir.tar.gz
2019-07-18 22:51:30
415
转载 linux下开发jni
什么是JNI JNI是Java native interface的简写,可以译作Java原生接口。Java可以通过JNI调用C/C++的库,这对于那些对性能要求比较高的Java程序无疑是一个福音。 使用JNI也是有代价。大家都知道JAVA程序是运行在JVM之上的,可以做到平台无关。但是如果Java程序通过JNI调用了原生的代码(比如 c/c++等),则Java程序就丧失了平...
2019-06-30 19:52:35
256
转载 python切片操作
在利用python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器。理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值。切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以察觉。本文通过详细例子总结归纳了切片操作的各种情况。若有错误和不足之处请大牛指正!...
2019-06-27 11:29:27
237
原创 spi介绍
目录SPI 简介简单示例具体定义的接口和实现类SPI 简介SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个例子来说, 有个接口,想运行时动态的给它添加实现,你只需要添加一个实现,而后,把新加的实现,描述给JDK就行(通过改一...
2019-05-21 14:03:55
1320
转载 NPM小结
NPM小结nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台。前端的可能性,从此更加具有想象空间。随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具...
2019-05-20 23:18:14
222
转载 iterm2 vim 开启滚轮
在iterm2的preferences -> Advanced -> Mouse-> 中的鼠标滚动设置中。具体的方法如下图所示,配置上下滑动触摸板时,向终端发送的字符,分别设定为 \j 和 \k 就好了。原理也很简单,vim就是通过j,k来上下滚动的。...
2019-04-28 14:06:32
3957
1
原创 mac中iTerm2 保存ssh用户名密码
使用 ssh 连接某个服务器不需要再每一次都重新输入用户名,密码在服务器上存公钥太麻烦了,这里用的方法是脚本+profile脚本先写一个登录用的脚本#!/usr/bin/expectset timeout 30spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]expect { "...
2019-04-27 14:12:09
2973
原创 怎么快速了解一个mysql数据库表结构和字段
目录库的表及注释表的字段及注释库所有表所有字段及注释库的表及注释查看某个数据库所有表及注释:SELECT TABLE_NAME, TABLE_COMMENTFROM INFORMATION_SCHEMA. TABLESWHERE table_schema = 'dbName';表的字段及注释查看某张表的字段及注释:SELECT tabl...
2019-04-23 18:55:44
2235
转载 IntelliJ远程调试教程
概述对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。以Thrift入门教程这篇文章中使用的程序作为例子。这个程序由Thrift服务端和客户端组成。描述一下远程调试需要解决的问题:服...
2019-04-09 18:57:11
131
转载 java启动参数
java启动参数共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用; 标准参数中比较有用的: verbose-verb...
2019-04-04 14:52:15
993
转载 HTTP
HTTP协议简介HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。(暂不介绍HTTP2)协议协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。 无状态 无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。 客户端/服务端模型五层网络模型...
2019-04-01 11:29:53
223
转载 java并发---双重检查锁定与延迟初始化
双重检查锁定的由来例子1public class UnsafeLazyInitialization { private static Instance instance; public static Instance getInstance() { if (instance == null) // 1:A线程执行 ...
2019-03-30 10:00:15
156
转载 对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解
目录通过 CompositeByteBuf 实现零拷贝通过 wrap 操作实现零拷贝通过 slice 操作实现零拷贝通过 FileRegion 实现零拷贝此文章已同步发布在我的segmentfault专栏.根据 Wiki 对 Zero-copy 的定义:"Zero-copy" describes computer operations in which the CPU doe...
2019-03-29 11:55:37
174
转载 字节流读取数据两种方式比较
字节流读取数据两种方式比较█一次读取一个字节█一次读取一个字节数组 ☞每次可以读取多个数据,提高了操作效率 public class CopyDemo { //第一步:将1.txt中的内容读入到内存 FileInputStream //第二步:将内存中读入的数据读入到2.txt FileOutputStream...
2019-03-29 10:52:22
1544
转载 java io流关闭
问题:(1)JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方吗?(2)如果按顺序关闭流,是从内层流到外层流关闭还是从外层到内存关闭?问题(1)解释:如下例子代码: FileInputStream is = new FileInputStream("."); BufferedInputStream bis = ne...
2019-03-29 10:49:53
147
原创 free -m
第一部分(Mem):total物理内存总量: 258314used已用物理内存量: 20137free 空闲物理内存量: 238177shared 当前已经废弃不用,是1buffers Buffer 读写缓冲内存...
2019-03-11 23:20:40
308
原创 查看cpu信息
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu core...
2019-03-11 23:02:55
146
转载 HiveSQL解析原理
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的 咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过...
2019-03-02 23:49:31
807
转载 Hive分析窗口函数(四) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
GROUPING SETS,GROUPING__ID,CUBE,ROLLUP这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。数据准备:CREATE EXTERNAL TABLE lxw1234 (month STRING,day STRING, cookieid STRING ) ROW FORMAT DELI...
2019-02-26 17:27:54
400
转载 Hive分析窗口函数(三) LAG,LEAD,FIRST_VALUE,LAST_VALUE
LAG,LEAD,FIRST_VALUE,LAST_VALUE 注意: 这几个函数不支持WINDOW子句数据准备:CREATE EXTERNAL TABLE lxw1234 (cookieid string,createtime string, --页面访问时间url STRING --被访问页面) ROW FORMAT DELIMITED FIELDS TE...
2019-02-26 17:20:02
975
转载 Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK注意: 序列函数不支持WINDOW子句。数据准备: CREATE EXTERNAL TABLE lxw1234 ( cookieid string, createtime string, --day pv INT ) ROW FORMAT DELIMITED...
2019-02-26 17:11:36
161
转载 Hive分析窗口函数(一) SUM,AVG,MIN,MAX
Hive中提供了越来越多的分析函数,用于完成负责的统计分析。今天先看几个基础的,SUM、AVG、MIN、MAX。用于实现分组内所有和连续累积的统计。数据准备: CREATE EXTERNAL TABLE lxw1234 ( cookieid string, createtime string, --day pv INT ) ROW FORMAT ...
2019-02-26 16:43:41
484
原创 数据库事务的四大特性以及事务的隔离级别
数据库中事务的四大特性(ACID) 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另...
2019-02-24 22:10:07
153
转载 线性代数简介
线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了解机器学习具体算法,就不可避免需要精通这些线性代数的概念。这篇文章中,我们将向你介绍一些机器学习中涉及的关键线性代数知识。线性代数是一种连续形式的数学,被广泛应用于理工类学科中;因为它可以帮助我们对自然现象建模,然...
2019-02-21 18:33:23
776
原创 spark调优参数
参数 1.num-executors 2.executor-memory 3.executor-cores 4.driver-memory 5.spark.default.parallelism 6.spark.storage.memoryFraction 7.spark.shuffle.memoryFraction 8.total-executor...
2019-02-19 11:13:36
166
eclipse插件egit
2016-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人