博客园 - 远方789
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=69132
2021-02-07T04:26:50Z
远方789
https://www.cnblogs.com/chenfangzhi/
feed.cnblogs.com
https://www.cnblogs.com/chenfangzhi/p/11997028.html
常用文本处理命令 - 远方789
[TOC] Linux中很多文本工具都使用到了正则表达式,正则表达式可以极大的简化linux系统管理工作,因为网上有很多正则相关的教程,所以这里不再讲述,我当时看的是菜鸟的 "正则表达式" ,看个一下午在实验几遍基本就会了,除了正向肯定预查,反向肯定预查这几个比较复杂一些,其他都是非常简单的,很多时
2019-12-06T10:43:00Z
2019-12-06T10:43:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] Linux中很多文本工具都使用到了正则表达式,正则表达式可以极大的简化linux系统管理工作,因为网上有很多正则相关的教程,所以这里不再讲述,我当时看的是菜鸟的 "正则表达式" ,看个一下午在实验几遍基本就会了,除了正向肯定预查,反向肯定预查这几个比较复杂一些,其他都是非常简单的,很多时 <a href="https://www.cnblogs.com/chenfangzhi/p/11997028.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/11989853.html
命令行笔记 - 远方789
主要是对linux命令号中一些经常会遗漏的事项的记录。 1. 命令行中执行for和if等语句命令,原来在脚本中换行的地方用;代替: 5. eval命令:会扫描两遍,第一次做变量替换,第二次如果是命令则执行该命令,用于执行一些需要变量替换的命令 6. shell中单引号替换环境变量 双引号不替换 10
2019-12-05T07:53:00Z
2019-12-05T07:53:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】主要是对linux命令号中一些经常会遗漏的事项的记录。 1. 命令行中执行for和if等语句命令,原来在脚本中换行的地方用;代替: 5. eval命令:会扫描两遍,第一次做变量替换,第二次如果是命令则执行该命令,用于执行一些需要变量替换的命令 6. shell中单引号替换环境变量 双引号不替换 10 <a href="https://www.cnblogs.com/chenfangzhi/p/11989853.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/11910064.html
Java对象深拷贝浅拷贝总结 - 远方789
在java开发的过程中我们很多时候会有深拷贝需求,比如将一个请求体拷贝多次,修改成多个不同版笨,分别发给不同的服务,在比如维护不同的缓存时。还有些时候并不需要深拷贝,只是简单的类型转换,比如到将do对象转换为dto对象返回给前端,其中两者的字段基本相同,只是类名不一样。本文主要罗列了下自己总结的拷贝方式和适合的场景(深浅拷贝原理文章很多,本文不再解释)。
2019-11-22T02:26:00Z
2019-11-22T02:26:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】在java开发的过程中我们很多时候会有深拷贝需求,比如将一个请求体拷贝多次,修改成多个不同版笨,分别发给不同的服务,在比如维护不同的缓存时。还有些时候并不需要深拷贝,只是简单的类型转换,比如到将do对象转换为dto对象返回给前端,其中两者的字段基本相同,只是类名不一样。本文主要罗列了下自己总结的拷贝方式和适合的场景(深浅拷贝原理文章很多,本文不再解释)。 <a href="https://www.cnblogs.com/chenfangzhi/p/11910064.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/11869396.html
Java程序线上故障排查 - 远方789
这篇文章是在公司做了不少的线上Java服务故障排查和优化之后的一个总结,可以作为一个工具清单,在分析问题的时候需要有整体思路:全局观,先从系统层面入手,大致定位方向(内存,cpu,磁盘,网络),然后再去分析具体的进程。 一、Linux 内存和cpu 内存和cpu问题是出问题最多的一个点,因为有些命令
2019-11-15T12:27:00Z
2019-11-15T12:27:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】这篇文章是在公司做了不少的线上Java服务故障排查和优化之后的一个总结,可以作为一个工具清单,在分析问题的时候需要有整体思路:全局观,先从系统层面入手,大致定位方向(内存,cpu,磁盘,网络),然后再去分析具体的进程。 一、Linux 内存和cpu 内存和cpu问题是出问题最多的一个点,因为有些命令 <a href="https://www.cnblogs.com/chenfangzhi/p/11869396.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10926641.html
SSH命令总结 - 远方789
[TOC] 一、ssh命令 登录类型 1. 密码登录: 服务器发送公钥给客户端,客户端使用公钥加密后回传给服务器,服务器解密验证密码。 2. 公钥登录: 服务器发送一个随机字符串给客户端,客户端用私钥加密,服务器用公钥解密(rsa作为签名使用) ssh命令相关参数 1. A 密钥转发 这个参数在使用
2019-05-26T09:07:00Z
2019-05-26T09:07:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 一、ssh命令 登录类型 1. 密码登录: 服务器发送公钥给客户端,客户端使用公钥加密后回传给服务器,服务器解密验证密码。 2. 公钥登录: 服务器发送一个随机字符串给客户端,客户端用私钥加密,服务器用公钥解密(rsa作为签名使用) ssh命令相关参数 1. A 密钥转发 这个参数在使用 <a href="https://www.cnblogs.com/chenfangzhi/p/10926641.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10661946.html
linux学习问题总结 - 远方789
[TOC] 本文主要是自己学习linux中的一些思考和总结的记录 一、环境变量和普通变量的区别 区别就是普通变量只会影响当前进程,子进程可以继承父进程的环境变量 二、rsyslog和logrotate会不会丢记录的问题 先说结论:不会 logrotate有create和copytruncate方案,
2019-04-06T07:42:00Z
2019-04-06T07:42:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 本文主要是自己学习linux中的一些思考和总结的记录 一、环境变量和普通变量的区别 区别就是普通变量只会影响当前进程,子进程可以继承父进程的环境变量 二、rsyslog和logrotate会不会丢记录的问题 先说结论:不会 logrotate有create和copytruncate方案, <a href="https://www.cnblogs.com/chenfangzhi/p/10661946.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10660355.html
linux进程管理总结 - 远方789
一、进程相关的概念 进程需要了解 进程,父进程,进程组,会话和控制终端的相关概念。 进程和父进程:每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构 进程组:每个进程都会属于一个进程组(process group),每个进程组中可以包含多个进程。进程组会有一个进程组领导进程 (pr
2019-04-05T14:51:00Z
2019-04-05T14:51:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】一、进程相关的概念 进程需要了解 进程,父进程,进程组,会话和控制终端的相关概念。 进程和父进程:每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构 进程组:每个进程都会属于一个进程组(process group),每个进程组中可以包含多个进程。进程组会有一个进程组领导进程 (pr <a href="https://www.cnblogs.com/chenfangzhi/p/10660355.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10479874.html
Java网络编程中异步编程的理解 - 远方789
[TOC] 前言 这篇文章主要是总结自己对于网络编程中异步,同步,阻塞和非阻塞的理解,这个问题自从学习NIO以来一直困扰着我,,其实想来很久就想写了,只不过当时理解不够,无从下手。最近在学习VertX框架,又去熟悉了下Netty的代码,因为了对于多线程也有了更深的理解,所以才开始对于这些概念有了理解
2019-03-05T13:31:00Z
2019-03-05T13:31:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 前言 这篇文章主要是总结自己对于网络编程中异步,同步,阻塞和非阻塞的理解,这个问题自从学习NIO以来一直困扰着我,,其实想来很久就想写了,只不过当时理解不够,无从下手。最近在学习VertX框架,又去熟悉了下Netty的代码,因为了对于多线程也有了更深的理解,所以才开始对于这些概念有了理解 <a href="https://www.cnblogs.com/chenfangzhi/p/10479874.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10389135.html
JVM内存管理的一些思考 - 远方789
这个文章主要是自己关于jvm内存的一点思考,范围比较杂,设计类加载器,方法区和内存泄露等 [TOC] 一、 内存是怎么分配的 主要是指针碰撞和空闲列表两类。新生代一般是复制算法,老年代一般是标记整理(cms用了标记清除导致内存碎片较多)。复制和标记整理采用指针碰撞,标记清除采用标记清除。如果是指针碰
2019-02-16T12:35:00Z
2019-02-16T12:35:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】这个文章主要是自己关于jvm内存的一点思考,范围比较杂,设计类加载器,方法区和内存泄露等 [TOC] 一、 内存是怎么分配的 主要是指针碰撞和空闲列表两类。新生代一般是复制算法,老年代一般是标记整理(cms用了标记清除导致内存碎片较多)。复制和标记整理采用指针碰撞,标记清除采用标记清除。如果是指针碰 <a href="https://www.cnblogs.com/chenfangzhi/p/10389135.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10387644.html
java单例模式总结 - 远方789
常见安全的单例实现代码和自己的一点理解。 [TOC] 一、 饿汉模式(静态初始化) 实现最为简单,但是如果Singleton的任何一个静态字段(非常量,常量是被动引用,在编译时通过常量传播优化,放入常量池,转化为了对常量池的引用)或者静态方法被调用则会初始化。线程安全有虚拟机的保证,对象的实例化是在
2019-02-16T06:21:00Z
2019-02-16T06:21:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】常见安全的单例实现代码和自己的一点理解。 [TOC] 一、 饿汉模式(静态初始化) 实现最为简单,但是如果Singleton的任何一个静态字段(非常量,常量是被动引用,在编译时通过常量传播优化,放入常量池,转化为了对常量池的引用)或者静态方法被调用则会初始化。线程安全有虚拟机的保证,对象的实例化是在 <a href="https://www.cnblogs.com/chenfangzhi/p/10387644.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10353920.html
Netty学习问题总结 - 远方789
[TOC] 本篇记录了Netty学习过程中想到的问题和自己的一些思考,对于应用层的协议也有了更好的理解,所以在此做一个记录。 一、HTTP协议分包 TCP是作为面来流的协议,所以需要应用层协议自己去分包。常见的分包格式如下: 1. 定长: 比如100字节每个报文,不足的前面补0,这时候每次取消息就取
2019-02-06T10:42:00Z
2019-02-06T10:42:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 本篇记录了Netty学习过程中想到的问题和自己的一些思考,对于应用层的协议也有了更好的理解,所以在此做一个记录。 一、HTTP协议分包 TCP是作为面来流的协议,所以需要应用层协议自己去分包。常见的分包格式如下: 1. 定长: 比如100字节每个报文,不足的前面补0,这时候每次取消息就取 <a href="https://www.cnblogs.com/chenfangzhi/p/10353920.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10328423.html
JVM调优常用参数和注意点备忘录 - 远方789
本文主要是工作过程中总结的一些jvm调优的参数和注意的地方,作为一个备忘录,先占个坑,有时间在来细化具体的实例。 1. gc日志是覆盖的方式如果文件名字固定会导致上一次被覆盖可以采用这个 Xloggc:backv2_gc_%t.log 2. jinfo 可以动态修改java XX:+PrintFla
2019-01-27T15:14:00Z
2019-01-27T15:14:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】本文主要是工作过程中总结的一些jvm调优的参数和注意的地方,作为一个备忘录,先占个坑,有时间在来细化具体的实例。 1. gc日志是覆盖的方式如果文件名字固定会导致上一次被覆盖可以采用这个 Xloggc:backv2_gc_%t.log 2. jinfo 可以动态修改java XX:+PrintFla <a href="https://www.cnblogs.com/chenfangzhi/p/10328423.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/10018213.html
redis学习笔记 - 远方789
[TOC] 最近在学习redis,觉得redis确实是分布式系统中的一个利器,于是看了很多官方文档,带着一些问题,结合平时项目中使用情况作了一些总结,本文不适合redis初学者,初学者可以查看 "Redis 命令参考" 先学习下redis。 一、redis和memcached的区别 以下来自Stac
2018-11-25T15:58:00Z
2018-11-25T15:58:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 最近在学习redis,觉得redis确实是分布式系统中的一个利器,于是看了很多官方文档,带着一些问题,结合平时项目中使用情况作了一些总结,本文不适合redis初学者,初学者可以查看 "Redis 命令参考" 先学习下redis。 一、redis和memcached的区别 以下来自Stac <a href="https://www.cnblogs.com/chenfangzhi/p/10018213.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9981614.html
linux服务器负载问题排查 - 远方789
[TOC] 最近在维护公司线上的服务器,排查了一些问题,所以做一个总结。有一段时间,线上环境变得很卡,客户端请求很多都报超时,因为线上没有良好的apm监控,所以只能通过流量高峰期和日志去排查问题。通过排查,发现数据库的慢查询日志在比之间的暴涨了十倍,然后发现,memcache服务器(8核)负载很高,
2018-11-19T02:06:00Z
2018-11-19T02:06:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 最近在维护公司线上的服务器,排查了一些问题,所以做一个总结。有一段时间,线上环境变得很卡,客户端请求很多都报超时,因为线上没有良好的apm监控,所以只能通过流量高峰期和日志去排查问题。通过排查,发现数据库的慢查询日志在比之间的暴涨了十倍,然后发现,memcache服务器(8核)负载很高, <a href="https://www.cnblogs.com/chenfangzhi/p/9981614.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9979676.html
mysql基本知识点梳理和查询优化 - 远方789
[TOC] 本文主要是总结了工作中一些常用的操作,以及不合理的操作,在对慢查询进行优化时收集的一些有用的资料和信息,本文适合有mysql基础的开发人员。 一、索引相关 1. 索引基数:基数是数据列所包含的不同值的数量。例如,某个数据列包含值1、3、7、4、7、3,那么它的基数就是4。索引的基数相对于
2018-11-18T13:39:00Z
2018-11-18T13:39:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 本文主要是总结了工作中一些常用的操作,以及不合理的操作,在对慢查询进行优化时收集的一些有用的资料和信息,本文适合有mysql基础的开发人员。 一、索引相关 1. 索引基数:基数是数据列所包含的不同值的数量。例如,某个数据列包含值1、3、7、4、7、3,那么它的基数就是4。索引的基数相对于 <a href="https://www.cnblogs.com/chenfangzhi/p/9979676.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9932845.html
java异步编程降低延迟 - 远方789
java异步编程降低延迟 在平时开发的过程中,其实有很多可以采用多线程优化的地方,像ExecutorService、CompletionService、CompletableFuture和并行流等类,只是没有去注意,这里总结下日常工作中常用的一些方法。 [TOC] 一、ExecutorService
2018-11-08T16:11:00Z
2018-11-08T16:11:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】java异步编程降低延迟 在平时开发的过程中,其实有很多可以采用多线程优化的地方,像ExecutorService、CompletionService、CompletableFuture和并行流等类,只是没有去注意,这里总结下日常工作中常用的一些方法。 [TOC] 一、ExecutorService <a href="https://www.cnblogs.com/chenfangzhi/p/9932845.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9912484.html
java线程池和中断总结 - 远方789
java线程池和中断总结 [TOC] 本系列文是对自己学习多线程和平时使用过程中的知识梳理,不适合基础比较差的阅读,适合看过java编程实战做整体回顾的,想到了会不断补充。 一、 线程池的使用 线程池其实在实际工作中有用到的话理解其实是非常简单的,合理的利用线程池能极大的提高效率。主要说明下程池的使
2018-11-05T16:29:00Z
2018-11-05T16:29:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】java线程池和中断总结 [TOC] 本系列文是对自己学习多线程和平时使用过程中的知识梳理,不适合基础比较差的阅读,适合看过java编程实战做整体回顾的,想到了会不断补充。 一、 线程池的使用 线程池其实在实际工作中有用到的话理解其实是非常简单的,合理的利用线程池能极大的提高效率。主要说明下程池的使 <a href="https://www.cnblogs.com/chenfangzhi/p/9912484.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9783064.html
mysql利用binlog进行数据恢复 - 远方789
mysql利用binlog进行数据恢复 最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog。binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql。同时利用了 "binlog2sql" 项目。 [TOC] binlog基本配置和格式 bin
2018-10-13T07:34:00Z
2018-10-13T07:34:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】mysql利用binlog进行数据恢复 最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog。binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql。同时利用了 "binlog2sql" 项目。 [TOC] binlog基本配置和格式 bin <a href="https://www.cnblogs.com/chenfangzhi/p/9783064.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9710698.html
Java SpringBoot集成RabbitMq实战和总结 - 远方789
[TOC] 在公司里一直在用RabbitMQ,由于api已经封装的很简单,关于RabbitMQ本身还有封装的实现没有了解,最近在看RabbitMQ实战这本书,结合网上的一些例子和spring文档,实现了RabbitMQ和spring的集成,对着自己平时的疑惑做了一些总结。 关于RabbitMQ基础不
2018-09-26T15:13:00Z
2018-09-26T15:13:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】[TOC] 在公司里一直在用RabbitMQ,由于api已经封装的很简单,关于RabbitMQ本身还有封装的实现没有了解,最近在看RabbitMQ实战这本书,结合网上的一些例子和spring文档,实现了RabbitMQ和spring的集成,对着自己平时的疑惑做了一些总结。 关于RabbitMQ基础不 <a href="https://www.cnblogs.com/chenfangzhi/p/9710698.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chenfangzhi/p/9665538.html
关于线上静态页面资源更新的一些经验分享 - 远方789
关于线上静态页面资源更新的一些经验分享 [TOC] 最近在负责公司的后台项目,包括了后端和前端。后端直接编译完打成jar包直接上线运行没什么问题。但是前端的页面文件更新每次都要把页面给运维,然后告诉运维路径让运维挨个替换,当然也可以整包替换, 但是如果文件比较多的情况下,整包替换就不合适了。因为现在
2018-09-17T15:01:00Z
2018-09-17T15:01:00Z
远方789
https://www.cnblogs.com/chenfangzhi/
【摘要】关于线上静态页面资源更新的一些经验分享 [TOC] 最近在负责公司的后台项目,包括了后端和前端。后端直接编译完打成jar包直接上线运行没什么问题。但是前端的页面文件更新每次都要把页面给运维,然后告诉运维路径让运维挨个替换,当然也可以整包替换, 但是如果文件比较多的情况下,整包替换就不合适了。因为现在 <a href="https://www.cnblogs.com/chenfangzhi/p/9665538.html" target="_blank">阅读全文</a>