2 某工程师$

尚未进行身份认证

Java Python 未来区块链? 一步一步慢慢来

等级
TA的排名 5w+

Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录

前言:失手给了用户账号/usr目录的权限,结果sudo的时候报sudo:mustbesetuidroot....,里面东西都部署好了,不想重装系统啊。遂,跑到机房一番挣扎,成功恢复。在恢复的过程中,发现很多的教程都只说了一部分,照着执行有很多坑。所以,试图用这篇讲解全部过程,并指出需要注意的地方。一、进入UbuntuRecovery模式其实就是在进入系统前,这个页面上...

2019-09-12 11:06:35

Canal监听MySQL变化、将数据投递RocketMQ,并使用Java客户端消费MQ消息,部署、编码过程笔记

前言:最近项目需要监听MySQL数据变化,并将变化同步到ES中,自己捣鼓了下,利用了Canal、RocketMQ走通了流程,写个笔记记录下过程。一、Mysql开启binlog,Canal部署参考Canal官方文档https://github.com/alibaba/canal/wiki/QuickStartexample/instance.properties部分配置说明:...

2019-08-22 16:29:44

《研磨设计模式》读书笔记之:桥接模式、访问者模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。桥接模式(Bridge):几点解释:桥接模式的本质在于分离抽象与实现。 Java中的接口的作用在于封装隔离,和桥接模式不谋而合。 我们在Java中面向接口编程,所以Java中无处不桥接。访问者模式(Visitor):几点解释:访问者...

2019-07-31 17:35:14

《研磨设计模式》读书笔记之:装饰器模式、职责链模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。装饰器模式(Decorator):几点解释:装饰器模式的本质在于,透明的给对象增加新的功能,并且这些功能可以灵活的组合和增减。 如果没有了那个抽象类,其实就和代理模式的结构是一致的了,二者的区别已经在前面代理模式说过了。 装饰对象会持有一个实际的对...

2019-07-31 16:56:14

《研磨设计模式》读书笔记之:备忘录模式、享元模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。备忘录模式(Memento):几点解释:备忘录模式的目的在于在不破坏对象封装性的前提下,保存对象的部分或者全部的数据到对象之外,用于在需要的时候恢复对象到某一个备忘录的状态。 实现方式为创建一个私有的内部类用于保存对象的数据,这个内部类会实现一个...

2019-07-31 15:55:43

《研磨设计模式》读书笔记之:策略模式、状态模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。策略模式(Strategy):几点解释:多个if、elif相连的代码我们实际开发中肯定经常遇到,如果if、elif的方法体都很大,那就可以考虑使用策略模式,抽象出统一的接口,并将方法体的逻辑剥离出来封装为接口的不同实现类。这样做扩展性得到了提高。...

2019-07-30 11:24:09

《研磨设计模式》读书笔记之:组合模式、模板方法模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。组合模式(Composite):几点解释:树形结构中有叶子节点,组合节点(包含其他节点),组合模式通过抽象出一个高层的父类,来对外提供统一的外观。这样,客户端就可以使用同一个引用类型来操作不同的节点对象。抽象父类中集合了所有类型的子类节点所需要的功能,...

2019-07-29 16:19:10

《研磨设计模式》读书笔记之:命令模式、迭代器模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。命令模式(Commad):几点解释:命令模式中分为三个角色:Invoker、Commad、Receiver。客户端调用Invoker,Invoker持有Commad对象并转调其对应方法,而Commad持有Receiver对象并转调其对应方法。因此这三层...

2019-07-29 12:21:04

《研磨设计模式》读书笔记之:代理模式、观察者模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。代理模式(Proxy):几点解释:代理类实现了和原始类相同的接口,并且持有原始类的一个实例。客户端使用的是代理类的实例,代理类再向原始类实例发起相应的调用。这样就可以在调用原始类实例的方法前后做一些控制。 本质:控制对象的访问。也可以增添一些功能。...

2019-07-28 17:50:13

《研磨设计模式》读书笔记之:生成器模式、原型模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。生成器模式(Builder):几点解释:标准的构建器分为Director和Builder两个部分。Director中封装了相对固定的构建步骤,而变化的部分封装到具体的Builder对象中。Director在执行具体的构建步骤时,会在需要的时候从...

2019-07-26 15:12:10

《研磨设计模式》读书笔记之:工厂方法模式、抽象工厂模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。工厂方法模式(FactoryMethod):几点解释:简单工厂是由客户端调用静态方法得到具体实现的一个引用;工厂方法模式中的工厂方法一般不提供给客户端使用,这也是图中声明为protect的原因,由具体的子类来实现工厂方法,返回一个具体对象的引用,这...

2019-07-26 11:01:52

《研磨设计模式》读书笔记之:适配器模式、单例模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。适配器模式(Adaptor):几点解释:本质:功能已经实现了,但是接口不匹配,中间加一层适配器类,通过转调的方式,将已有的功能匹配到特定的接口上。 客户端使用的是接口A,功能A,同时已经存在了功能B,只是接口和客户端使用的A接口不一致。此时,不...

2019-07-25 16:30:15

《研磨设计模式》读书笔记之:简单工厂、外观模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。简单工厂:几点解释:客户端通过调用Factory.createAImpl()方法来创建A的实例 工厂一般只需要一个,不需要有实例,所以将构造方法设为私有,不允许创建实例 Factory.createAImpl()可以带参数,通过传入不同的参...

2019-07-25 13:22:36

MySQL系列-优化之explain执行计划详解

https://blog.csdn.net/ufo___/article/details/80951869#commentsedit

2019-07-23 17:18:23

记一次 Spring Boot 中 @Transactional事务中使用内置锁限制总数失效的BUG

前言:业务需要,最多只能绑定5个,目前不考虑集群,单体服务下的内容第一版代码:@Transactional(rollbackFor={CommonException.class},propagation=Propagation.REQUIRED)publicObjectbindCommonUsedPatient(CommonUsedPatientRequestc...

2019-07-19 17:53:36

转:Ubuntu下查看实时网络流量的几种方法

原文链接:https://blog.csdn.net/weixin_39198406/article/details/79267687#commentsedit本帖总结了ubuntu下常用的网络查看/监控工具,包括nethogs,ethstatus,bmon,Netspeed。1.nethogsnethogs可以查看实时进程网络占用。安装:sudoaptinstallnet...

2019-06-25 18:28:59

一次Ubuntu测试服务器突然变慢的排查(cpu、内存、网络和磁盘)及 相应的排查工具和方法详解

前言:今天早上,测试同学反映昨天好好的服务,今天突然都不大能用了。。。由于早上家里停水,整个人到公司都有点懵,也是摸不着头脑。但是静下来想想,无非就是cpu、内存、两个IO(网络和磁盘),不如用个笨方法一点一点排查就是了。一、CPU推荐文章:https://www.cnblogs.com/sbaicl/articles/2752068.html用的当然是很常见的TOP命令,效果图...

2019-06-25 16:07:38

有生之年系列之 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 格式化时间少了一个小时

前言:胖胖的同事发现,@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")注解在格式化1990-06-0500:00:00时,格式化出来的时间为1990-06-0423:00:00,以为是一个bug,遂拉着我们围观和讨论,众人皆惊,还有这种情况。自己也起了个小项目试了试,确实如此,有点意思了。原因:在网上调研了一番之...

2019-06-10 17:40:47

记一次遇到的 MySQL 表结构设计时误用了 关键字和保留字的坑

前言:设计一个很简单的异常指标推送记录表,结果没注意误用了关键字value和保留字index,结果就各种报错各种关键字和保留字参照官方文档https://dev.mysql.com/doc/refman/5.7/en/keywords.html#keywords-5-7-detailed-V小结:大概推测为什么之前看到的蛮多的表都加个a_开头了,不确定的字段加个a_...

2019-05-28 10:20:17

Some Java interview questions and my answers which may be correct or not

Attention:答案我自己写的,不正确的可以严肃指正,看的时候要带着怀疑的态度,不要轻信任何答案,万一有错别字呢,而且我写的比较随意1、Java线程的状态new:创建好线程对象之后,处于此状态runnable、running:调用start()启动线程之后进入此状态,一般是先runnable,然后就等待操作系统分配时间片以及将其调度运行,runnable和running之...

2019-05-10 16:14:55

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。