- 博客(87)
- 收藏
- 关注

原创 Linux清理挖坑病毒sysupdate, networkservice
清楚定时任务crontab -l //显示定时任务crontab -r //清楚定时任务首先杀进程,kill -9 {进程号},然后删除文件.ps aux|grep sysupdatepa aux|grep networkservicekill -9 pid //杀死上面两个pidsysupdate、networkservice配置都在/etc/目录下,就是:sysupdate、networkservice 同时还有sysguard、update.sh,由于一般病毒会使用cha.
2020-07-08 16:22:47
720

原创 static 锁、class锁和this锁之间的关系
(改进,其解释十分的清晰)百度知道的一句话:synchronized(this) 表示的是所有线程需要排队获取当前类的实例的锁;锁住的是一个实例对象锁而 synchronized(xxx.class) 表示的是所有线程需要排队获取当前类的锁;锁住的是一个当前类的字节码信息其区别就在于 this 是一个实例,而 xxx.class 是一个整个的 class字节码信息static 锁锁住的对象也当前类的字节码信息 ,与class一致,...
2020-07-04 11:32:57
669

原创 Java 虚拟机调优 可视化工具jconsole和jvisualvm(windows 和Mac 通用)
首先检查你的Java 环境是否搭建成功如果你的Java环境能够正常使用,打开控制台直接输入命令即可jconsole,Java监视和管理控制台console 4. 输入 jvisualvm 就可以打开
2020-07-04 10:26:14
348

原创 thread start() 源码解析
我们步步深入start()进入到start()方法的源码在这里线程会加入到线程分组,然后执行start0(),从图片可以看书start0 是一个本地的方法,start0()这个方法是在Thread的静态块中来注册的,其作用就是注册一些本地方法提供给Thread类来使用,比如start0()、isAlive()… ,具体方法在一个C的文件中Thread.c,其定义了各个操作系统平台要用的关于线程的公共数据和操作,具体定义了很多的方法都是各个操作系统能公共调用的,也就是线程在构建时候,会将这些方法注册
2020-07-01 10:53:08
2087
1

原创 关于Linux(CentOS 7 ) 更改mysql字符编码集
数据库一般都是外国的,免费开源的更是如此,所以一般安装mysql后,他默认的字符集编码是拉丁字符;所以我们要更改字符编码集,1、登陆数据库查看编码集,记住是登陆数据库show variables like '%char%';2、退出数据库,编辑mysql配置文件:my.cnf配置文件,vim /etc/my.cnf3、更改配置:看看是否有character-set-se...
2019-09-09 09:08:59
627

原创 一款国产真正良心的SSH工具
前言:为了大家更好的学习,我尽量采用图文和代码的形式为大家详细而又简单的讲解,与你相遇倍感荣幸,因为成长历程需要你我一起见证,欢迎大家一起讨论首先我们得了解什么是SSH工具:概念:SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实...
2019-08-29 16:56:34
10186
2

原创 连接池之Druid连接池
Druid是什么呢?Druid首先是一个数据库连接池。Druid可以说是目前比较好的数据库连接池,毕竟是阿里出品,必属精品.在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSourceDRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很...
2019-04-28 20:46:59
452

原创 java基础核心utils工具包之String(六)
前言:不管你是Java多么高等级的程序员;势必要熟练掌握工具包String方法;这是毋容置疑的.下面是我总结常用的一些方法,方便你我查阅,以免忘记,
2019-04-08 11:51:22
1137

原创 Java创建型模式之工厂模式
前言:为了帮助读者更好的理解我们设计模式;我特地的将23种经典模式分开讲;从概念到原理,从原理到代码实现,我将详细的为你讲解工厂模式:(一) 概念 :定义一个用于创建对象的接口,让子类去决定去实例话哪一个类.工厂方法是一个类的实例话拓展到子类.核心工厂不再负责产品的创建,这样的核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象好处是,是工厂模式可以使系统不在修改...
2019-04-07 19:28:18
271

原创 Java基础知识面向对象之封装、继承、多态详解(五)
前言:曾经很多人问我Java面向对象三大特性是什么,如果你这都不知道说明你Java白学了,这是Java最基础最重要的知识;下面让我为大家介绍这三大特性吧:Java三大特性:封装 继承 多态: 这需要你一个一个去理解;他们之间有一定的联系,这需要你慢慢去理解,然后一一融汇贯通:(一)封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问;通过该类提供的方法来实现对隐藏信息的操...
2019-04-06 21:29:48
323
原创 拦截器+过滤器解决RequestBody数据只能访问一次、multipart/form-data被拦截器时:java.io.IOException: Stream closed
1.扩展一个request工具类import ch.qos.logback.classic.Logger;import javax.servlet.ReadListener;import javax.servlet.ServletInputStream;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequ
2021-04-01 14:35:32
1739
1
原创 不小心修改环境变量导致命令失效
执行export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin恢复环境变量,找到错误的环境变量配置,将其删除。
2021-03-22 19:43:52
555
转载 2020-09-04
本文主要是介绍HTTP协议一、概念协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTP协议是用于从WWW服务器传输超文本到本地浏
2020-09-04 20:39:42
844
转载 复习指南之TCP
本文主要介绍的是是传输中的两大重要协议之一TCPTCP 简介:TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议。TCP报文段TCP面向字节流,TCP传输的数据单元为报文段。TCP报文段分为TCP首部和数据部分,TCP报文段首部的前20个字节是固定的,后面有4n字节是更具需要而增加的选项,最大为40字节。源端口和目的端口 : 各占两个字节,TCP的分用功能也是通过端口实现的。序号 : 占4个字节,范围是[0,232],TCP是面向字节流的,每个字节
2020-09-04 19:59:13
201
原创 复制指南-UDP
此次介绍的主要是两大重要协议之一UDP,一般常规用途如下UDP详解UDP是传输层的协议,用户数据报协议UDP只在IP的数据报服务至上增加了复用和分用的功能以及差错检测的功能。拥有面向无连接的报文,不可靠传输的特点。UDP对应用层交下来的数据只添加首部,并进行特别的处理,就交给网络层;对网络层传递上来的用户数据报拆封首部后,原封不动的交给应用层,由于UDP提供不可靠服务,具有TCP所没有的优势UDP 特点:UDP无连接,时间上不存在建立连接需要的时延。空间上,TCP需要在端系统中维护连接状态
2020-09-04 13:44:46
236
原创 Java复习指南之网络编程
Servlet执行流程1.页面提交请求到servlet2.容器创建请求和响应对象3.容器根据URL查找具体的servlet4.容器加载并实例化servlet5.执行servlet的初始化方法(init())6.容器创建一个新的线程处理该请求容器调用servlet的service方法(同时将请求和响应对象作为参数)7.servlet调用模型的业务逻辑进行处理8.servlet将处理结果保存到指定对象中(request、session、application)9.servlet将请求转发给.
2020-09-04 11:02:39
181
原创 Java复习(一)指南之基础
Java复习指南之基础Java的文字格式英文大小写字母、数字、$和_包 全部小写java 文件的命名类或者接口一个单词:首字母大写方法或者变量一个单词:首字母小写常量全部大写Java 基本数据类型字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。Java 对象和类 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。 成员
2020-09-04 10:22:14
228
原创 五种单例模式
饿汉式(线程安全,调用率高,但是,不能延迟加载。) public class Singleton{ private static Singleton singleton = new Singleton (); private Singleton (){} public static Singleton getInstance(){return singletion;} } 懒汉式(线程安全,调用效率不高,可以.
2020-08-03 17:55:20
143
原创 Kafka之消息消费
Kafka中的消费是基于拉模式的。消息的消费一般有两种模式:推模式和拉模式。推模式是服务端主动将消息推送给消费者,而拉模式是消费者主动向服务端发起请求来拉取消息Kafka中的消息消费是一个不断轮询的过程,消费者所要做的就是重复地调用poll()方法,而poll()方法返回的是所订阅的主题(分区)上的一组消息。对于poll()方法而言,如果某些分区中没有可供消费的消息,那么此分区对应的消息拉取的结果就为空;如果订阅的所有分区中都没有可供消费的消息,那么poll()方法返回为空的消息集合。poll()方法
2020-07-09 12:31:07
594
原创 Kafka订阅主题与分区
在创建好消费者之后,我们就需要为该消费者订阅相关的主题了。一个消费者可以订阅一个或多个主题使用subscribe()方法订阅了一个主题,对于这个方法而言,既可以以集合的形式订阅多个主题,也可以以正则表达式的形式订阅特定模式的主题,消费者使用集合的方式(subscribe(Collection))来订阅主题而言,比较容易理解,订阅了什么主题就消费什么主题中的消息。如果前后两次订阅了不同的主题,那么消费者以最后一次的为准消费者采用的是正则表达式的方式(subscribe(Pattern))订阅,在之后
2020-07-09 11:48:47
840
原创 Kafka之消费者及消息投递
消费者(Consumer)负责订阅Kafka中的主题(Topic),并且从订阅的主题上拉取消息Kafka 与其他一些消息中间件不同的是:在Kafka的消费理念中还有一层消费组(Consumer Group)的概念,每个消费者都有一个对应的消费组。当消息发布到主题后,只会被投递给订阅它的每个消费组中的一个消费者。对于消息中间件而言,一般有两种消息投递模式:点对点(P2P,Point-to-Point)模式和发布/订阅(Pub/Sub)模式。点对点模式是基于队列的,消息生产者发送消息到队列,消息消费者从队
2020-07-09 11:25:54
455
原创 Kafka 一些重要的参数
客户端参数,大部分的参数都有合理的默认值,一般不需要修改它们。不过了解这些参数可以让我们更合理地使用生产者客户端,其中还有一些重要的参数涉及程序的可用性和性能,如果能够熟练掌握它们,也可以让我们在编写相关的程序时能够更好地进行性能调优与故障排查。下面挑选一些重要的参数进行讲解。1.acks这个参数用来指定分区中必须要有多少个副本收到这条消息,之后生产者才会认为这条消息是成功写入的。acks 是生产者客户端中一个非常重要的参数,它涉及消息的可靠性和吞吐量之间的权衡。acks参数有3种类型的值(都是字符串类
2020-07-09 11:07:29
901
原创 Kafka原理及其架构
消息在真正发往Kafka之前,有可能需要经历拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)等一系列的作用,那么在此之后又会发生什么呢?下面我们来看一下生产者客户端的整体架构,整个生产者客户端由两个线程协调运行,这两个线程分别为主线程和Sender线程(发送线程)。在主线程中由KafkaProducer创建消息,然后通过可能的拦截器、序列化器和分区器的作用之后缓存到消息累加器(RecordAccumulator,也称为消息收集器)中。Sender 线
2020-07-09 10:23:00
231
原创 Kafka拦截器
拦截器(Interceptor)是在Kafka 0.10.0.0中引入的一个功能,Kafka一共有两种拦截器:生产者拦截器和消费者拦截器生产者拦截器:生产者拦截器既可以用来在消息发送前做一些准备工作,比如按照某个规则过滤不符合要求的消息、修改消息的内容等,也可以用来在发送回调逻辑前做一些定制化的需求,比如统计类工作,允许用自定义实现KafkaProducer在将消息序列化和计算分区之前会调用生产者拦截器的onSend()方法来对消息进行相应的定制化操作。一般来说最好不要修改消息 ProducerRe
2020-07-09 10:11:55
532
原创 linux 免密登录
生成密钥ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa将 本机公钥加到 受信列表中cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys修改权限chmod 0600 ~/.ssh/authorized_keys
2020-07-08 17:26:33
152
原创 Kafka之分区器及策略
消息在通过send()方法发往broker的过程中,有可能需要经过拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)的一系列作用之后才能被真正地发往 broker如果消息ProducerRecord中没有指定partition字段,那么就需要依赖分区器,根据key这个字段来计算partition的值。分区器的作用就是为消息分配分区。Kafka中提供的默认分区器是org.apache.kafka.clients.producer.internals.De
2020-07-08 11:59:41
641
原创 Kafka之序列化
生产者需要用序列化器(Serializer)把对象转换成字节数组才能通过网络发送给Kafka。而在对侧,消费者需要用反序列化器(Deserializer)把从 Kafka 中收到的字节数组转换成相应的对象。通常我们的数据量是十分庞大的,为了性能,程序中的序列化器也使用了客户端自带的org.apache.kafka.common.serialization.StringSerializer,除了用于String类型的序列化器,还有ByteArray、ByteBuffer、Bytes、Double、Inte
2020-07-08 11:36:33
2118
原创 Kafka之消息发布三种模式
创建生产者实例和构建消息之后,就可以开始发送消息了。发送消息主要有三种模式:发后即忘(fire-and-forget)、同步(sync)及异步(async)。发后即忘(fire-and-forget):发后即忘,它只管往Kafka中发送消息而并不关心消息是否正确到达。在大多数情况下,这种发送方式没有什么问题,不过在某些时候(比如发生不可重试异常时)会造成消息的丢失。这种发送方式的性能最高,可靠性也最差。同步(sync),同步实际上send()方法本身就是异步的,send()方法返回的Future对象可
2020-07-08 10:03:34
2199
原创 kafka之KafkaProducer 常见异常解析
KafkaProducer中一般会发生两种类型的异常:可重试的异常和不可重试的异常。常见的可重试异常有:NetworkException、LeaderNotAvailableException、UnknownTopicOrPartitionException、NotEnoughReplicasException、NotCoordinatorException 等。比如NetworkException 表示网络异常,这个有可能是由于网络瞬时故障而导致的异常,可以通过重试解决;又比如LeaderNotAv
2020-07-08 09:56:51
2617
原创 kdevtmpfsi 挖矿病毒清除(亲测)
废话不多说,直接开始清理找到矿毒进程ps -aux | grep kinsingps -aux | grep kdevtmpfsi杀死进程:kill -9 PID (杀死两个)删除Linux下的异常定时任务crontab -l //查看定时任务crontab -r //表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除删除文件rm -rf kdevtmpfsi rm -rf /var/tmp/kinsing 最后自己可以再检查一下是否还有
2020-07-07 22:11:39
4416
原创 证明Class锁的存在
public class SynchronizedThis { public static void main(String[] args) { ThisLock thisLock = new ThisLock(); new Thread("T1") { @Override public void run() { thisLock.m1(); }
2020-07-04 11:11:07
138
原创 failed: unable to open cursor at URI statistics
mongo 集群:failed: unable to open cursor at URI statistics:table:collection-2–3001224681843814486. reason: No such file or directory添加分片操作;sh.addShard(“shard1/xx.xx.xx.xx:25001,xxx.x.x.x:25001,xx.x.xx.xx:25001”)出现了上述的错误,查看日志,并没有详细的描述,仍然只有上述错误,报错信息和日志如下,百度
2020-07-02 13:07:27
676
原创 bout to fork child process, waiting until server is ready for connections.
错误about to fork child process, waiting until server is ready for connections.forked process: 14647ERROR: child process failed, exited with error number 48To see additional information in this output, start without the “–fork” option.这是因为已经存在了一个服务输入命令
2020-06-30 21:05:34
1341
1
原创 Job for mongod.service failed. See “systemctl status mongod.service“ and “journalctl -xe“ for detail
关于mongo 有许多情况,我在这里教你们如何去看错误,针对错误我们来解决首先我们这是一个mongod 启动的时候报的错误,在执行service mongod start 启动时候报错Job for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.此时你可以执行控制台直接执行systemctl status mongod.service 或者journalct
2020-06-30 20:42:23
1332
2
原创 断网后想要DTD约束提示
例子:以为MyBatis 配置DTD 文件为例:一、 复制地址到浏览器下载:二、打开eclipse preferences 选项:三、 建立 文件映射,1、 key,复制配置文件的链接,2、 key type 选择URL 链接选项;3、使用File system 文件系统选项,导入你第一步下载DTD 文件;四、 保存应用即可,...
2020-02-04 11:37:00
199
原创 python机器学习(numpy数组的基本操作)
NumPy Ndarray 对象其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引存放同类型元素的多维数组每个元素在内存中都有相同存储大小的区域创建一个Ndarry对象:方法:创建一个 ndarray 只需调用 NumPy 的 array 函数即可:numpy.array(object, dtype = None, copy ...
2019-11-06 20:53:15
825
原创 六、 sql 进阶 [函数大全]
一、AVG(平均)语义:AVG() 函数返回数值列的平均值。SELECT AVG(column_name) FROM table_name二、COUNT() 函数语义:返回匹配指定条件的行数。COUNT(column_name) 返回指定列的值的数目(NULL 不计):SELECT COUNT(column_name) FROM table_name;三、FIRST(函数取值第...
2019-11-06 19:33:41
3404
原创 五、 sql 进阶[数据表管理]
库管理操作:一、 DROP INDEX(删除)DROP INDEX 语句用于删除表中的索引。用于 MS Access 的 DROP INDEX 语法: DROP INDEX index_name ON table_name用于 MS SQL Server 的 DROP INDEX 语法: DROP INDEX table_name.index_name用于 DB2/Oracle 的 ...
2019-11-06 17:25:26
213
原创 四、sql进阶[约束详细]
文章目录一、NOT NULL (非空):二、 UNIQUE三、PRIMARY KEY(主键)四、FOREIGN KEY(外键):五、 CHECK(检查约束)六、DEFAULT(默认):七、 CREATE INDEX(索引)八 、AUTO INCREMENT(自增)****复杂:一、NOT NULL (非空):句意:默认的情况下,表的列接受 NULL 值,否则设置为NOT NULL创表非空句例...
2019-11-06 16:51:32
476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人