自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 linux 第 16 篇 awk详解

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho ...

2018-10-31 22:34:04 65

原创 linux 第 15 篇 crontab定时器

基本格式 : *  *  *  *  *  command 分  时  日  月  周  命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时0~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/et...

2018-10-31 22:33:20 101

原创 linux 第 14 篇 iptables练习

#查看帮助iptables -hman iptables列出iptables规则iptables -L -n列出iptables规则并显示规则编号iptables -L -n --line-numbers列出iptables nat表规则(默认是filter表)iptables -L -n -t nat清除默认规则(注意默认是filter表,如果对nat表操作要加-t na...

2018-10-31 22:32:24 214

原创 linux 第 13 篇 sed详解

1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介...

2018-10-31 22:31:38 83

原创 linux 第 12 篇 sort-cut-wc详解

sortsort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。sort语法 [root@www ~]# sort [-fbMnrtuk] [file or stdin]选项与参数:-f  :忽略大小写的差异,例如 A 与 a 视为编码相同;-b  :忽略最前面的...

2018-10-31 22:30:34 122

原创 设计模式----适配器模式

一: 定义:      将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作      适配器模式的别名为包装器(Wrapper)模式,它既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。二:结构图: 由图可知适配器模式包含一下三个角色:  1:Target(目...

2018-10-30 14:30:30 131

原创 linux 第 11 篇 正则表达式

1.cut截取以:分割保留第七段grep hadoop /etc/passwd | cut -d: -f72.排序du | sort -n 3.查询不包含hadoop的grep -v hadoop /etc/passwd4.正则表达包含hadoopgrep 'hadoop' /etc/passwd5.正则表达(点代表任意一个字符)grep 'h.*p' /etc/pass...

2018-10-27 19:19:09 115

原创 linux 第10 篇 打包与压缩

1.gzip压缩gzip a.txt2.解压gunzip a.txt.gzgzip -d a.txt.gz3.bzip2压缩bzip2 a4.解压bunzip2 a.bz2bzip2 -d a.bz25.将当前目录的文件打包tar -cvf bak.tar .将/etc/password追加文件到bak.tar中(r)tar -rvf bak.tar /etc/p...

2018-10-27 19:18:25 246

原创 linux 第 8 篇 查找

1.查找可执行的命令:which ls2.查找可执行的命令和帮助的位置:whereis ls3.查找文件(需要更新库:updatedb)locate hadoop.txt4.从某个文件夹开始查找find / -name "hadooop*"find / -name "hadooop*" -ls5.查找并删除find / -name "hadooop*" -ok rm {...

2018-10-27 19:17:41 68

原创 linux 第 7 篇 vim

ia/Ao/Or + ?替换0:文件当前行的开头$:文件当前行的末尾G:文件的最后一行开头1 + G到第一行 9 + G到第九行 = :9dd:删除一行3dd:删除3行yy:复制一行3yy:复制3行p:粘贴u:undoctrl + r:redo"a剪切板a"b剪切板b"ap粘贴剪切板a的内容每次进入vi就有行号vi ~/.vimrcset nu...

2018-10-27 19:17:01 64

原创 linux 第 6 篇 文件夹属性

1.查看文件夹属性ls -ld test2.文件夹的rwx--x:可以cd进去r-x:可以cd进去并ls-wx:可以cd进去并touch,rm自己的文件,并且可以vi其他用户的文件-wt:可以cd进去并touch,rm自己的文件ls -ld /tmpdrwxrwxrwt的权限值是1777(sticky)...

2018-10-27 19:16:21 100

原创 linux 第 5 篇 权限

创建a.txt和b.txt文件,将他们设为其拥有者和所在组可写入,但其他以外的人则不可写入:chmod ug+w,o-w a.txt b.txt创建c.txt文件所有人都可以写和执行chmod a=wx c.txt 或chmod 666 c.txt将/itcast目录下的所有文件与子目录皆设为任何人可读取chmod -R a+r /itcast将/itcast目录下的所有文件与子...

2018-10-27 19:15:37 59

原创 linux 第 4 篇 用户和组

添加一个tom用户,设置它属于users组,并添加注释信息分步完成:useradd tom          usermod -g users tom          usermod -c "hr tom" tom一步完成:useradd -g users -c "hr tom" tom设置tom用户的密码passwd tom修改tom用户的登陆名为tomcatusermod...

2018-10-27 19:14:36 106

原创 linux 第 3 篇 系统命令

1.查看主机名hostname2.修改主机名(重启后无效)hostname hadoop3.修改主机名(重启后永久生效)vi /ect/sysconfig/network4.修改IP(重启后无效)ifconfig eth0 192.168.12.225.修改IP(重启后永久生效)vi /etc/sysconfig/network-scripts/ifcfg-eth06...

2018-10-27 19:13:56 103

原创 linux 第 2 篇 文件相关命令

1.进入到用户根目录cd ~ 或者 cdcd ~hadoop回到原来路径cd -2.查看文件详情stat a.txt3.移动mv a.txt /ect/改名mv b.txt a.txt移动并改名mv a.txt ../b.txt4拷贝并改名cp a.txt /etc/b.txt5.vi撤销修改ctrl + u (undo)恢复ctrl + r (redo...

2018-10-27 19:12:50 74

原创 linux 第 1 篇 常用命令

说明:安装linux时,创建一个itcast用户,然后使用root用户登陆系统1.进入到用户根目录cd ~ 或 cd2.查看当前所在目录pwd3.进入到itcast用户根目录cd ~itcast4.返回到原来目录cd -5.返回到上一级目录cd ..6.查看itcast用户根目录下的所有文件ls -la7.在根目录下创建一个itcast的文件夹mkdir ...

2018-10-27 19:11:35 479 1

转载 消息队列 第1篇 分布式之消息队列复习精讲

复习要点本文大概围绕如下几点进行阐述:为什么使用消息队列? 使用消息队列有什么缺点? 消息队列如何选型? 如何保证消息队列是高可用的? 如何保证消息不被重复消费? 如何保证消费的可靠性传输? 如何保证消息的顺序性?我们围绕以上七点进行阐述。需要说明一下,本文不是《消息队列从入门到精通》这种课程,因此只是提供一个复习思路,而不是去教你们怎么调用消息队列的API。建议对消息队列不...

2018-10-23 15:27:39 194

转载 第12篇 redis 双写一致性

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成1...

2018-10-23 14:30:19 102

原创 spring cloud 第 3 篇 服务提供者与服务消费者

Pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                             xsi:sch...

2018-10-22 22:28:36 208

原创 spring cloud 第 2 篇 微服务架构概述

SpringCloud架构图git hub: https://github.com/wangrui0qq邮箱:1176306419@qq.com

2018-10-22 22:23:35 151

原创 spring cloud 第 1 篇 微服务架构概述

微服务HOT?Why?微服务什么? 微服务解决了什么问题? 微服务有什么特点?单体架构是什么一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。 架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风单体架构存在的缺点  复杂性逐渐变高 比如可能有120W代码,1万个函数 技术债务逐渐上升 人员的流动,可能前任会有坑,坑会越来...

2018-10-22 22:16:56 169

原创 第 13 篇 java 8 用流分析数据----测验:将数字按质数和非质数分区

/** * 测验:将数字按质数和非质数分区 */public class Demo02 { public static void main(String[] args) { Map<Boolean, List<Integer>> partitionPrimes = partitionPrimes(50); System.out...

2018-10-22 11:30:13 171

原创 第 12 篇 java 8 用流分析数据---分区

/** * 分区: * 分区是分组的特殊情况:由一个谓词(返回一个布尔值的函数)作为分类函数,它称分区函 * 数。分区函数返回一个布尔值,这意味着得到的分组Map的键类型是Boolean,于是它最多可以 * 分为两组——true是一组,false是一组 */public class Demo01 { public static void main(String[] args)...

2018-10-22 11:15:13 167

原创 第11篇 java 8----用流收集数据 -----分组

** * 一个常见的数据库操作是根据一个或多个属性对集合中的项目进行分组。就像前面讲到按货 * 币对交易进行分组的例子一样,如果用指令式风格来实现的话,这个操作可能会很麻烦、啰嗦而 * 且容易出错。但是,如果用Java 8所推崇的函数式风格来重写的话,就很容易转化为一个非常容 * 易看懂的语句。我们来看看这个功能的第二个例子:假设你要把菜单中的菜按照类型进行分类, * 有肉的放一组,有...

2018-10-21 21:07:15 154

原创 第10篇 java 8----用流收集数据 -----连接字符串

/** * 连接字符串 */public class Demo02 { public static void main(String[] args) { List<Dish> menues = Arrays.asList(new Dish("rice", true, 10000, Dish.Type.FISH), new Dish("meate", fa...

2018-10-21 19:40:14 174

原创 第9篇 用流收集数据----- 归约和汇总

/** * 为了说明从Collectors工厂类中能创建出多少种收集器实例,我们重用一下前面的例 * 子:包含一张佳肴列表的菜单! * 就像你刚刚看到的,在需要将流项目重组成集合时,一般会使用收集器(Stream方法collect * 的参数)。再宽泛一点来说,但凡要把流中所有的项目合并成一个结果时就可以用。这个结果可以 * 是任何类型,可以复杂如代表一棵树的多级映射,或是简单如一个整...

2018-10-21 19:10:56 260

原创 第8篇 stream流 创建流

/** * 构建流 * Stream API提供了两个静态方法来从函数生成流:Stream.iterate和Stream.generate。 * 这两个操作可以创建所谓的无限流:不像从固定集合创建的流那样有固定大小的流。 * 由iterate 和generate产生的流会用给定的函数按需创建值,因此可以无穷无尽地计算下去!一般来说, * 应该使用limit(n)来对这种流加以限制,以避...

2018-10-21 16:14:22 152

原创 第7篇 stream流 数值的范围

** * 数值范围 : */public class NumberRangeDemo { public static void main(String[] args) {// test01();// test02(); test03(); } /** * 生产1-100内的所有的偶数(包括100) ...

2018-10-21 09:51:21 1860

原创 第6篇 stream ---数值流

** * Java 8引入了三个原始类型特化流接口来解决这个问题:IntStream、DoubleStream和 * LongStream,分别将流中的元素特化为int、long和double,从而避免了暗含的装箱成本。每 * 个接口都带来了进行常用数值归约的新方法,比如对数值流求和的sum,找到最大元素的max。 * 此外还有在必要时再把它们转换回对象流的方法。要记住的是,这些特化的原...

2018-10-20 08:52:12 2325

原创 第5篇---小练习

/** * 总结练习: * (1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。 * (2) 交易员都在哪些不同的城市工作过? * (3) 查找所有来自于剑桥的交易员,并按姓名排序。 * (4) 返回所有交易员的姓名字符串,按字母顺序排序。 * (5) 有没有交易员是在米兰工作的? * (6) 打印生活在剑桥的交易员的所有交易额。 * (7) 所有交易中,最高的交易...

2018-10-19 19:14:45 309

原创 第4篇 stream---规约

/** * 规约 */public class Demo04 { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9); test01(numbers); test0...

2018-10-19 18:46:00 332

原创 第3篇 stream ----查找和匹配

/** * 查找和匹配:(filter 和map的加强) * 另一个常见的数据处理套路是看看数据集中的某些元素是否匹配一个给定的属性。Stream * API通过allMatch、anyMatch、noneMatch、findFirst和findAny方法提供了这样的工具。 */public class Dem03Match { public static void main(...

2018-10-19 17:46:59 783

转载 我们是怎么做Code Review的

我们是怎么做Code Review的前几天看了《Code Review 程序员的寄望与哀伤》,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享、探讨。我们为什么要推行Code Review呢?我们当时面临着代码混乱、Bug频出的状况。当时我觉得要有所改变,希望能提高产品的代码质量,改善开发团队面临的困境。并且我个人在开发上有很多经验,也希望...

2018-10-19 17:16:38 126

原创 第2篇 stream -- 映射(map or flatmap)

/** * 映射: * 一个非常常见的数据处理套路就是从某些对象中选择信息。比如在SQL里,你可以从表中选 * 择一列。Stream API也通过map和flatMap方法提供了类似的工具。 */public class Demo2 { public static void main(String[] args) {// methord01();// ...

2018-10-18 13:23:21 877

原创 第1篇 java 8 流的学习----筛选和切片

筛选、切片和匹配 查找、匹配和归约 使用数值范围等数值流 从多个源创建流 无限流/** * 筛选和切片 */public class Demo01 { public static void main(String[] args) { List<Dish> menues = Arrays.asList(new Dish("rice",...

2018-10-17 15:46:35 126 1

空空如也

空空如也

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

TA关注的人

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