自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wu_amber的博客

每天进步一点点

  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 理解了实现再谈网络性能-总结

TCP 连接的 CPU 开销LINUX 是如何接收⼀个⽹络包的CPU 在向内存要数据的时候是以 Cache Line 为单位进⾏的,⼀个 Cache Line 是 64 字节inet_protos 记录着 udp,tcp 的处理函数地址,ptype_base 存储着 ip_rcv() 函数的处理地址ethtool 命令之所以能查看⽹卡收发包统计、能修改⽹卡⾃适应模式、能调整 RX 队列的数量和⼤⼩,是因为 ethtool 命令最终调⽤到了⽹卡驱动的相应⽅法,⽽不是 ethtool 本身有这个超能⼒。

2021-10-21 16:13:06 938

原创 vs code快捷键总结

命令行 ctrl + shit + p代码行数 code -r -g文件不同 code -r -d代码块的光标移动 Ctrl + Shift + \光标移动到行首或者行末 home、end移动到文档的第一行或者最后一行 Ctrl + Home/End文本选择 你只需要多按一个 Shift 键,就可以在移动光标的同时选中其中的文本删除当前代码行 Ctrl + Shift + K移动一段代码 Alt + 上下方向键向上或下复制当前行 Alt + shift + 上下方向键.

2021-07-30 11:31:43 195

原创 Linux性能优化笔记

CPU性能监控解析首先,最容易想到的应该是 CPU 使用率,这也是实际环境中最常见的一个性能指标。CPU 使用率描述了非空闲时间占总 CPU 时间的百分比,根据 CPU 上运行任务的不同,又被分为用户CPU、系统CPU、等待I/O CPU、软中断和硬中断等。用户 CPU 使用率,包括用户态 CPU 使用率(user)和低优先级用户态 CPU 使用率(nice),表示 CPU 在用户态运行的...

2020-03-20 17:35:57 2018

原创 MQ分发Webmagic爬虫任务项目实现

引言一个基于垂直爬虫框架 webmagic 的 Java 爬虫实战项目,旨在提供一套完整的数据爬取,持久化存储和搜索分析的实践样例。项目简介本项目主要实现对媒体车系车型报价的爬取,解析主要车系车型数据,提醒预警报价数据的邮件和短信的通知,利用Elasticsearch实现数据的分析与搜索,形成数据的可视化分析与报表显示。项目设计思想基于爬虫任务统计与可配置开启需求下,针对垂直爬虫框架...

2019-12-16 12:42:49 835 2

原创 Intellij Idea之推荐插件

介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同。1.插件的安装Mac:IntelliJ IDEA -> Preferences -> Plugins;Windows:File -> Settings -> Plugins.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rI...

2019-12-05 21:48:09 331

原创 Stream详解

什么是StreamJava8 中添加了一个新的接口类 Stream,相当于高级版的 Iterator,通过 Lambda 表达式对集合进行各种非常便利、高效的聚合操作(Aggregate Operation),或者大批量数据操作 (Bulk Data Operation)。Stream不仅可以通过串行的方式实现数据操作,还可以通过并行的方式处理大批量数据,提高数据的处理效率。Stream操...

2019-08-19 08:52:03 2106

原创 MySQL EXPLAIN详解

在日常工作中,我们会有时会去查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,此时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。MySQL EXPLAIN命令是查询性能优化不可缺少的一部分,该文主要讲解explain命令的使用及相关参数说明。EXPLA...

2019-01-29 09:03:06 183

原创 正则表达式

一、概述正则表达式用于文本内容的查找和替换。正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。二、匹配单个字符. 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符;. 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前面加上 \ 。正则表达式一般是区分大小写的,但是也有些实现是不区...

2019-01-28 09:23:50 679

原创 RocketMQ入门教程

RocketMQ简单介绍是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。 Producer、Consumer队列都可以分布式。
 Producer向一些队列轮流发送消息,队列集合称为 Topic,Consumer 如果做广播消费,则一个consumer实例消费这个Topic 对应的所有队列,如果做集群消费,则多个Consumer 实例平均消费这个topic对应的队列集...

2019-01-20 17:21:53 23095 3

原创 Netty 入门教程

什么是Netty?Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty和Tomcat有什么区别?Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Ht...

2019-01-20 13:27:33 413

原创 Linux简单介绍

一、常用操作以及概念快捷键Tab:命令和文件名补全; Ctrl+C:中断正在运行的程序; Ctrl+D:结束键盘输入(End Of File,EOF)求助1. --help指令的基本用法与选项介绍。2. manman 是 manual 的缩写,将指令的具体信息显示出来。当执行man date时,有 DATE(1) 出现,其中的数字代表指令的类型,常用的数字及其类型...

2018-12-31 15:00:29 258

原创 Springboot+SpringSecurity案例

Spring Security 简介 Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否...

2018-12-23 19:46:31 5931 2

原创 Java泛型介绍

引言泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。 Java中泛型的引入主要是为了解决两个方面的问题:1.集合类型元素在运行期出现类型装换异常,增加编译时类型的检查,2. 解决重复代码的编写,能够复用算法。泛型基础 泛型类我们首先定义一个简单的Box类: 1 2 3 4 5 public ...

2018-12-23 15:36:23 221

原创 Java异常处理

Java 异常概念Java异常是一个描述在代码段中发生异常的对象,当发生异常情况时,一个代表该异常的对象被创建并且在导致该异常的方法中被抛出,而该方法可以选择自己处理异常或者传递该异常。 Java 异常体系结构 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Err...

2018-12-11 22:37:08 184

原创 深入理解String#intern

引言在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String...

2018-11-27 22:06:43 180

原创 Git的简单介绍

Git定义Git是目前世界上最先进的分布式版本控制系统 集中式与分布式Git 属于分布式版本控制系统,而 SVN 属于集中式。集中式版本控制只有中心服务器拥有一份代码,而分布式版本控制每个人的电脑上就有一份完整的代码。集中式版本控制有安全性问题,当中心服务器挂了所有人都没办法工作了。集中式版本控制需要连网才能工作,如果网速过慢,那么提交一个文件的会慢的无法让人忍受。而分布式...

2018-11-20 23:38:56 257

原创 Mysql的运算符与常用函数

1. MySQL 中的运算符1.1 算术运算符MySQL 支持的算术运算符运算符 作用 + 加法 - 减法 /,DIV 除法,返回商 %,MOD 除法,返回余数 除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL对于模运算,还有另外一种表达方式,使用MOD(a,b)函数与a%b 效果一样。1.2 比较运算符...

2018-11-11 23:33:31 323

原创 Elasticsearch Rest-Client使用教程

Rest-Client使用教程DSL ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。介绍详解案例之Rest-Client REST客户端,通过http与集群交互,用户自定义编组请求JSON串,及解析响应JSON串,完成业务需求

2018-11-04 13:50:56 7726

原创 HTTP 2.0

HTTP 1.1 在应用层以纯文本的形式进行通信,HTTP1.1虽然它是个长连接,但在连接中发送的多个请求还是会顺序处理。这样的话一旦有一个请求处理很久的话,那后面的请求就会被阻塞,在实时性、并发性上都存在问题。为了解决这些问题,HTTP 2.0 会对 HTTP 的头进行一定的压缩,将原来每次都要携带的大量 key value 在两端建立一个索引表,对相同的头只发送索引表中的索引。此外,H...

2018-10-24 21:41:54 432

原创 HTTPS协议

HTTPS的工作模式HTTPS协议的总体思路:公钥私钥主要用于传输对称加密的秘钥,而真正的双方大数据量的通信都是对称加密进行的  登录一个网站的时候,由于是HTTPS,客户端会发送Client Hello消息到服务器,以明文传输TLS版本信息、加密套件候选列表、压缩算法候选列表等信息,同时,还有一个随机数,在协商对称密钥的时候使用。然后,网站返回Server Hello消息,告诉客...

2018-10-23 23:38:43 169

原创 Quartz应用

Quartz简介Quartz是一个功能丰富的开源作业调度库,几乎可以集成在任何Java应用程序中 - 从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业; 将任务定义为标准Java组件的作业,这些组件可以执行几乎任何可以编程的程序。Quartz Scheduler包含许多企业级功能,例如支持JTA事务和集群。 为什么不简单的使用...

2018-10-15 23:45:03 138

原创 MySQL数据库优化

数据库优化层次• 引擎的选择• 表的结构• 数据类型的选择• 索引的使用MySQL的引擎• InnoDB• MyISAM• MEMORY索引• 优化SELECT语句的最好的方式就是索引• 大多数的索引都是 B-tree 索引,除了:• 空间数据类型使用R-tree• MEMORY表使用Hash 索引• InnoDB使用 反转列表 来 FULL...

2018-10-08 23:32:20 155

原创 Webmagic+Redis+Queue+Scheduled案例分析

案例介绍        由于公司项目需求,我初次接触了Webmagic,一款java爬虫框架,WebMagic的结构分为Downloader、PageProcessor、Scheduler、Pipeline四大组件,并由Spider将它们彼此组织起来,可以帮助你快速开发出一个高效、易维护的爬虫。公司项目系统欲实现通过定时任务Scheduled全量爬取车型报价,车型报价可以通过易车网等网站爬取,...

2018-09-20 23:25:57 3191

原创 TCP协议简单讲解

TCP协议TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP包头格式 首先,源端口号和目标端口号是不可少的,端口号的存在,数据就知道应该发给哪个应用。 接下来是包的序号,编号是为了解决数据发送乱序问题,不编号确认不了哪个先来,哪个后到。 还有就是确认序号,发出去的包应该有确认,如果...

2018-09-19 22:55:24 202

原创 Mysql索引结构的实现

什么是索引 索引(Index)是帮助数据库高效获取数据的数据结构。索引是在基于数据库表创建的,它包含一个表中某些列的值以及记录对应的地址,并且把这些值存储在一个数据结构中。最常见的就是使用哈希表、B+树作为索引。Mysql索引的数据结构:B+Tree 一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。这样的话,索引查找过程...

2018-09-07 23:39:51 7134

原创 Java面试常见知识点

基本语法static、final、java内部类、transient、volatile关键字的作用,foreach循环的原理 ①static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,甚至静态导包(静态导包就是java包的静态导入,用import static代替import静态导入包是JDK1.5中的新特性)。 被static修饰的成员变...

2018-09-02 01:33:27 1591

原创 动态代理与Spring AOP简单介绍

代理模式定义:给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。代理模式UML图代理的实现方式 静态代理:代理类是在编译时就实现好的,Java 编译完成后代理类是一个实际的 class 文件。 动态代理:代理类是在运行时生成的,Java 编译完之后并没有实际的 class 文件,而是在运行时动态生成...

2018-08-22 22:22:02 190

原创 Tomcat源码简单分析

前言Tomcat是目前应用比较多的servlet容器,有复杂的结构,想要了解它,就应该顺着开发者设计之初的思路来,先了解整体的结构,对整体有了一定的掌控后,再逐个分析,了解感兴趣的细节。架构设计 简单介绍各个模块: Server:服务器的意思,代表整个tomcat服务器,一个tomcat只有一个Server; Service:Server中的一个逻辑功能层, 一...

2018-08-16 22:00:42 135

原创 Webmagic爬虫案例简介

Webmagic架构设计       WebMagic的结构分为Downloader、PageProcessor、Scheduler、Pipeline四大组件,并由Spider将它们彼此组织起来。这四大组件对应爬虫生命周期中的下载、处理、管理和持久化等功能。webmagic架构图 1.Downloader       Downloader负责从互联网上下载页面,以便后续处理。...

2018-08-15 22:00:43 929

原创 多线程知识点简单介绍

1.Java JUC 简介 
       在Java 5.0 提供了java.util.concurrent(简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步IO 和轻量级任务框架。提供可调的、灵活的线程池,还提供了设计用于多线程上下文中的Collection 实现等。2.volatile 关键字-内存可见性 
   ...

2018-08-06 23:14:10 289

原创 简单介绍Java NIO

       Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作,以更加高效的方式进行文件的读写操作。     ①通道和缓冲区       Java NIO系统的核心在于:      通道(Channel)和...

2018-08-01 12:52:13 155

原创 Springboot+Websocket+Scheduled开发案例总结

案例简介       本人最近由于公司项目需求,有幸接触websocket,公司项目系统消息模板欲实现添加公告时实现用户的定向推送,分立即推送和定时推送,本人实现项目思路是前端页面在登录成功时通过后台redis验证用户身份,以用户id标识安全订阅消息推送接口,在添加系统公告成功时开启定时任务每隔30秒查询未推送的消息实现定向推送,使用Websocket,STOMP技术完成项目需求,期间由于没有...

2018-07-26 23:12:04 4233 4

转载 五分钟理解一致性哈希算法(consistent hashing)

    转载:http://blog.csdn.net/cywosp/article/details/23397179   一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用...

2018-07-19 14:30:15 101

原创 简单介绍JVM

1. JVM大事记1996年 SUN JDK 1.0 Classic VM,纯解释运行1997年 JDK1.1 发布AWT、内部类、JDBC、RMI、反射1998年 JDK1.2 Solaris Exact VM,数据类型敏感,提升的GC性能JDK1.2开始 称为Java 2,发布Swing Collections2000年 JDK 1.3 Hotspot 作为默认虚拟机发布,发布JavaSoun...

2018-07-14 12:58:53 548

原创 Java8新特性的简介

    Java8速度更快,优化更好,代码更少(增加了新的语法 Lambda 表达式),强大的Stream API便于并行执行代码,提高效率。Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API(java.util.stream.*)。1.Lambda 表达式    Lambda 是一个匿名函数,可以把Lambda 表达式理解为是一段可以传递的代码。...

2018-07-08 11:17:05 164

原创 关于dubbo运用的一点心得

  服务治理型的 RPC 框架有 Dubbo、DubboX 等,Dubbo 是阿里开源的分布式服务框架,能够实现高性能 RPC 调用,并且提供了丰富的管理功能,是十分优秀的 RPC 框架。  这类的 RPC 框架的特点是功能丰富,提供高性能的远程调用以及服务发现及治理功能,适用于大型服务的微服务化拆分以及管理,对于特定语言(Java)的项目可以十分友好的透明化接入。简单介绍下dubbo的配置文件:...

2018-07-08 00:47:27 470

原创 solr使用的一些注意事项

  刚好在公司项目接触了solr,公司项目搜索功能为了solr搜索+ansj中文分词,流程为添加索引,查询数据,添加索引用定时器从数据库查询数据增量添加,需要配置schema.xml索引的数据类型(index为索引,store为保存),solrconfig.xml solr的地址,查询数据从索引里分词查询,方便高效。在这里总结下sclema.xml配置的常见错误:  1.启动Solr时...

2018-07-01 22:53:28 391

Elasticsearch技术点分享.ppt

Elasticsearch基本概念、内部底层原理、应用场景的介绍

2021-02-01

WebSocket、Webmagic转正技术点分享与汇报.ppt

该ppt为本人实习期间由于公司项目需求,有幸接触websocket和webmagic,借着转正的时机,整理其概念和入门案例的总结,ppt也涉及了quartz的介绍

2020-03-25

空空如也

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

TA关注的人

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