自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 财经股票数据之网络爬虫技术

介绍webmagic框架,抓取股市页面数据。webmagic框架是Java语言开发的,所以运行该代码的时候,需要预先配置好JVM和maven环境。页面分为静态页面,动态页面,动态页面是通过js渲染的,Ajax发起的请求。在动态Ajax渲染页面上,magicweb框架是没办法处理,所以需要借助浏览器驱动器来获取,webmagic集成selenium组件。

2022-02-04 23:49:31 999

原创 idea 设置maven资源的自动导入,auto import

idea 设置maven资源的自动导入,auto import

2022-01-25 14:52:14 6494 2

原创 TCP与UDP的区别以及使用场景

UDP特点:1、面向无连接;2、包的传输过程中,存在丢包、无序问题;3、包的结构简单,没有序号和确认序号等;应用场景:1、需要资源少,网络比较好的内容或者对于丢包不关心的应用;如DHCP(动态域名配置协议);2、不需要建立连接,可以广播的应用;3、要求处理速度快,低时延,可以容忍少数丢包,不考虑网络拥塞的应用;常见的基于UDP的应用协议:QUIC,Thread(物联网应用场景),GTP-U(移动通信领域)TCP特点:1、面向连接,客户端和服务端需要存储一些数据结构(如

2021-05-11 16:45:26 267

原创 mysql group replication(mgr)数据不一致恢复

mysql group replication是mysql基于paxos算法来做数据强一致性同步,其中采用的是Xcom协议。在某些情况下回导致数据不一致,如服务器掉电情况。恢复采用mysqldump处理,进行全量备份然后恢复,如果数据库数量大,则可能会比较耗时,慎重采用该方式。最好根据mysql日志排查问题,找出原因再处理。恢复步骤如下:1、从具有最全的数据库中全量备份数据; cd /usr/local/mysql/bin ./mysqldump -uroot -p ...

2021-05-10 15:24:48 644

原创 Feign、Sentinel和Hystrix源码解读

Feign是如何集成Sentinel和Hystrix的?通过代码解读进行剖析。

2021-04-16 11:52:29 467

原创 Feign+Sentinel+Ribbon调用过程解析总览

最近在阅读SpringCloud核心组件的相关源码,先归纳一张图总览整个调用过程,后续逐步拆解各个组件的实现机制。分为两个步骤:1、Spring初始化Feign的过程;2、Feign接口调用过程;

2021-04-15 11:32:49 264

原创 springcloud中feign调用处理mybatis-plus Ipage反序列化问题。

通过feign接口返回的分页列表IPage,出现报错,具体报错内容如下:feign.codec.DecodeException: Type definition error: [simple type, class com.baomidou.mybatisplus.core.metadata.IPage]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct

2020-07-21 17:19:13 3521

原创 mina源码阅读,nio相关知识介绍。

我们所有的网络操作都离不开套接字,网络的传输常见的就是tcp/IP协议,http协议等。当然网络操作属于是系统空间上的,非用户空间能直接操作的。所以存在内核态和用户态的数据传输与拷贝,这个是有性能损耗的,相关知识需自行了解,关于Zero copy,可自行了解。1、先从底层上来说明几种网络IO的模型,如下:阻塞io模型:在缺省情形下,所有文件操作都是阻塞的,在进程空间中调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误才返回,期间一直在等待。我们就说进程在从调用

2020-06-03 17:15:20 285

原创 rabbitmq在windows server下的安装

安装rabbitmq,需要准备的包,erlang语言安装包,rabbitmq的安装包,这两个安装包,版本必须对应,可以参见官网:https://www.rabbitmq.com/which-erlang.html。1、先安装erlang包,otp_win64_21.3.exe。安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入erl,如果出现erlang的版本信息就表示erlang语言环

2020-05-13 12:57:45 681

原创 spring-boot-maven-plugin详解,如何将spring-boot-loader打到jar包

最近针对代码安全保护需求进行技术调研,因为java文件编译成为class之后,可以通过反编译工具jd查看代码的逻辑,以及执行过程。为了防止class文件被反编译,调研了多种处理方案,其中最常见的就是代码混淆和class文件加密。目前proguard做的还不错,相关文章也比较多,但是复杂度还是有的,可以自行了解。接下要说的就是class文件加密技术,可以采用对称加密和非对称加密,算法也有很多种,对称加密一般采用AES,目前采用AES。 那么对class文件加密后,在什么地方解密呢...

2020-05-08 17:41:22 1507

原创 多线程并发与String的内存模型介绍,并完美解决锁的并发问题

首先需要了解String的内存模型,有常量池,堆,那么何时访问的是常量池,何时又是访问的堆,需要提前了解,当然下文也会介绍,此处就不在过多说明;另外线程的内存模型也要了解一下,尤其是线程栈。接下来我们就来做一个简单的实验,代码如下:public class Test { public static void main(String[] args) throws Inte...

2020-04-28 16:34:11 199

原创 nginx服务器调优

为了满足并发要求,本次对某个接口进行压测,目标是并发1200(实际可以达到1600),RT 1s以内;nginx+tomcat集群1、刚开始启动200线程,30秒,没有任何问题,响应时间也正常;2、将持续时间调整到300秒后,运行到一定时间就会报错,并且后续请求都是错误;3、通过查看error日志发现: onnect() to xxxx:8080 failed (99: ...

2019-06-12 16:23:48 255

原创 docker使用心得

引入docker的原因,目前根据项目需求,需要在国外部署环境,每次都需要将redis、MQ、数据库、jdk等基础环境安装一遍,甚是麻烦和耗时,并且国内网络连接国外网络延时也比较高,直接复制虚拟机文件又太大了。所以现在就需要一种轻量级的,并且可以轻松安装的工具,docker就应运而生了。 关于docker的介绍,官网和网络上已经有其他介绍和说明。主要记录一下docker...

2019-05-29 15:24:44 350

原创 centos7 搭建FTP,配置匿名登录,并且nginx代理ftp

1、首先使用yum安装vsftpd;2、新建ftp目录,mkdir /home/ROOT3、设置目录权限:chmod 755 /home/ROOT(匿名访问权限,很重要)4、添加账号:useradd -d /home/ROOT -s /sbin/nologin ROOT5、修改密码:passwd ROOT6、修改配置/etc/vsftpd/vsftpd.conf,配置匿名账号...

2019-05-17 16:05:41 644

原创 Centos 7下nginx+lua+redis的访问控制

目前nginx作为http服务器的使用越来越广泛,其采用的模块化方式,为开发带来便捷。因此也是一款轻量级的服务器。目前主要使用的是其反向代理、负载均衡功能和前后端分离等功能。但是还有很多功能可以为我们的业务带来简洁和使用。本文入门讲解关于使用nginx+lua+redis实现访问控制,包括防止接口攻击,对前端做限制,也可以对于一些静态资源的访问权限控制,还可以对身份识别控制等。服务器采用的是cen

2017-09-23 20:11:56 1012

原创 关于JVM介绍以及CPU占用过高的问题定位及解决实战经验

1、作为一个程序员,除了要会码代码外,还应该知道代码在内存中执行时,如何使用内存,保证程序执行过程中,高效率的使用内存。2、JVM的内存模型             (1)、方法区,又称Non-Heap,线程共享,主要用于存储被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等,在HotSpot虚拟机上又称为“永久代”(permanent generation

2017-04-12 20:52:29 11546

原创 基于TCP的RPC调用

RPC即远程过程调用,被广泛使用,面向接口的编程。consumer ———— provider通过反射实现类的实例化java代码如下:provider端接口类:SayHelloService public interface SayHelloService { public String sayHello(String helloArg);}接口实

2016-11-06 16:34:29 508

编译原理课程设计(源码)

编译原理课程设计完整版,包括词法分析、语法分析,Java语言开发,C-minus编译器,内附使用说明。

2011-12-20

空空如也

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

TA关注的人

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