- 博客(20)
- 收藏
- 关注
原创 Linux常用命令(六)
sort命令sed命令总结:sed是一个非交互式的文本编辑工具,通常在sell脚本中使用;sed每次去处理文件的时候都会将内容拿到一个临时缓冲区(模式空间)中,每次处理一行,就会输出到屏幕上。之后将缓存区中的内容清除,再去读取新的行内容;不支持将修改后的文件内容直接写入源文件中,是系统本身的问题。如果想要修改源文件,可以使用-i的选项,也可以多次使用数据流重定向来解决;...
2019-05-26 16:42:03
321
原创 Linux常用命令(五)
文件压缩与打包常见压缩包扩展名:gzip -c aa.log > aa.log.gz 压缩后源文件还在bzip2 -vc aa.txt > bb.txt.bz2 压缩比比gzip更佳
2019-05-21 22:43:10
223
原创 Linux常用命令(四)
进程ps -aux|grep bash-a 关联所有process 通常与-x一起使用-x 显示后台进程-u 显示进程属于哪个用户-l 只查看和自己相关的进程ps -auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.1 19232 ...
2019-05-14 22:17:29
267
原创 Linux常用命令(三)
文本处理1. cut 显示切割的行数据-f 选择显示的列;-s 不显示没有分隔符的行;-d 自定义分隔符;[root@node01 ~]# cut -d ' ' -f1 -s test.txt2. sort 排序文件的行(默认按字典序排)n 按数值排序;r 倒序;t 自定义分隔符;k 选择排序列;u 合并相同行;f 忽略大小写3. wc 数量统计...
2019-05-12 20:50:42
249
原创 DruidDataSource配置说明
目录1. DruidDataSource配置说明2. maven配置3. 如果打开Druid的监控统计功能4. 怎样使用Druid的内置监控页面5. 防止sql注入配置6. 参考通用配置7. 连接泄漏监测8. 日志记录慢sql9. 如何加密数据库密码10. DruidDataSource支持哪些数据库?11. 如何在Spring Boot中集成Druid连接池和监控?12.如何在Spring Bo...
2019-04-27 20:30:49
20900
原创 kafka的工作机制
kafka架构kafka拓扑结构说明producer消息生产者,发布消息到kafka集群的终端或服务brokerkafka集群中包含的服务器,代理人,消费转发服务topic每条发布到kafka集群的消息所属的类别,即kafka是面向topic的partitionpartition是物理上的概念,每个topic包含一个或多个partition,kafka分配的单位是partit...
2019-01-27 23:17:49
1303
原创 kafka安装与使用
安装kafka下载安装包从官网下载安装包:官网下载我这里下载的是kafka_2.12-2.1.0.tgz版本上传到linux服务器/opt目录下并解压,在/usr/local/目录下执行tar -xvf kafka_2.12-2.1.0.tgzkafka配置进入解压后的目录kafka_2.12-2.1.0中进入config配置目录中vi server.propert...
2019-01-27 18:42:59
279
原创 Redis单结点安装
集群存储(承载)数据的方式有两种:镜像全量和沙丁切片; split-brain 脑裂(网络分区); 哨兵机制,failover需要通过投票选举,具体票数是需要在哨兵的配置文件中配置; zk选主时间官方给出的是200ms以内,redis选主时间有些慢...
2018-12-15 18:14:08
167
原创 Java设计模式-适配器模式
适配器模式,从名字上大概可以了解是做适配处理的。是做什么样的适配呢?就是将一个类的接口转换成想要的接口,以便实现不同的接口。这听不起来感觉不太容易实现,但有了设计模式,实现起来还是挺容易的。首先回忆一下装饰者模式(它与适配器模式有点类似,但意图是不相同的):我们将对象包装起来,赋予它们新的职责。而现在则是以不同目的,包装某些对象:让他们的接口看起来不像自己而是别的东西。以上的描述听起来还是有点抽...
2018-11-25 18:08:42
313
原创 Java设计模式-装饰者模式
首先简单介绍一下装饰者模式是个什么样的结构?装饰者模式的结构设计很巧妙,可以动态添加对象功能。它遵循“合成/聚合复用原则”,这个原则的思想是代码复用应该尽可能使用委托,而不是继承。因为继承是一种紧密耦合,任何父类的改动都会影响其子类,不利于系统维护。而委托则是松散耦合,只要接口不变,委托类的改动并不会影响其上层对象。装饰者模式就是充分运用了这种思想,通过委托机制,复用系统中的各个组件,在运行时...
2018-11-18 19:11:13
247
原创 JVM内存区域与内存溢出异常
对于Java程序员来说,Java虚拟机是再熟悉不过了,尤其是对Hotspot VM最熟悉了,因为它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广泛的Java虚拟机。相比C、C++开发人员来说,有了JVM,Java程序员不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题。但也正因为内存控制完全交由JVM,一旦出现内存泄漏和溢出的问...
2018-10-28 18:47:38
1103
原创 Java线程池的使用
概述:在一些场景下,我们使用多线程去解决一些高并发的问题,实现起来很方便。但是会有一些问题,如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么,有没有一种办法可以使得线程复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?答案是有的,通过线程池可以达到这样的效果,线程池最核心的类...
2018-10-21 23:28:38
239
原创 生产中遇到的Java多线程问题
1. 问题场景:前几天一位同事分享了一段代码,这段代码在线上偶尔会报空指针异常,虽然是一个简单的NullPointerException,却是一个很不容易发现的多线程问题导致的,我们一起先来看下代码(这是我复原的测试代码,并非和生产一致,但整体逻辑是一样的):public class TestSingleton { private static volatile TestSingl...
2018-10-21 10:57:07
1223
3
原创 多线程中ThreadLocal详解
1. ThreadLocal是什么,是用来解决什么问题的?ThreadLocal从字面意思来理解,是一个线程本地变量,也可以叫线程本地变量存储。有时候一个对象的变量会被多个线程所访问,这个时候就会有线程安全问题,当然可以使用synchronized关键字来为该变量加锁,进行同步处理来限制只能有一个线程来使用该变量,但是这样会影响程序执行的效率,这时ThreadLocal就派上了用场;使用T...
2018-09-21 17:09:17
6507
1
原创 使用JWT实现单点登录(完全跨域方案)
首先介绍一下什么是JSON Web Token(JWT)?官方文档是这样解释的:JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以在各方之间作为JSON对象安全地传输信息。此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。 虽然JWT可以加密以在各方之间提供保密...
2018-09-10 15:57:56
200608
75
原创 Linux常用命令(二)
1.lessless 文本,分屏打开内容,空格往后打开,b向上返回。2.headhead txt,默认显示文本开头10行;head -3 txt,显示文本开头3行;3.tailtail txt,默认打开文本最后10行;tail -f txt,流式显示;tail -3 txt,显示txt最后3行;4. 管道 |head -3 txt | tail -1 ...
2018-09-08 19:16:06
281
原创 Linux常用命令(一)
外部命令type[root@node01 ~]# type -a ifconfigifconfig is /sbin/ifconfig表示ifconfig这个命令程序所在位置; 2. file[root@node01 ~]# file /sbin/ifconfig/sbin/ifconfig: ELF 64-bit LSB executable, x86-64, v...
2018-09-05 22:43:53
222
原创 VMware中安装Centos6.5-64位-minimal镜像
Centos6.5-minimal64位安装一 首先新建虚拟机在VMware中新建虚拟机,选择自定义(高级),如下图所示: 下一步,默认选项: 下一步,注意选择“稍后安装操作系统”,如下图所示: 下一步,默认选项,如下图所示: 下一步,给当前虚拟机起名字,注意这个名字只是展示在VMware列表中的名字,后期可再次修改,并且选择虚拟机镜像存放的位置,如下图所示: 下...
2018-08-19 21:42:11
6010
2
原创 Redis学习笔记(一)
Redis安装1.redis的源码压缩包上传到linux目录下我使用的是 redis-4.0.2.tar.gz2.解压以上压缩包到/usr/local中,如下:redis-4.0.2 因为redis是C语言编写的,所以一般目录下会有一个Makefile文件,使用make命令可以对源码进行编译,如下图:3.使用make对源码进行编译,直接在/usr/l...
2018-08-07 17:40:22
250
1
原创 Mybatis中if判断遇到的坑
最近在项目开发的过程中,遇到了Mybatis的一个坑(也许是Mybatis有意这样设计的),对于Integer或者Long这种引用数据类型,在做if判断的时候,如果引用数据类型为0,则mybatis将会视为”“空字符串,所以走不进判断逻辑里。以下余额字段为Long类型,availableAmount值为0时,将走不进判断方法内的示例截图:解决方法:在test判断条件中添加”or...
2018-08-07 17:25:16
10460
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人