logo头像
Snippet 博客主题

【Python爬虫】使用Requests库爬取猫眼电影TOP100数据

爬虫分析爬虫需求描述: 爬取猫眼电影TOP100的电影名称、时间、评分、海报图片等信息 站点: https://maoyan.com/board/4 分析: 打开站点即是猫眼电影TOP100的第一页,点击下一页,我们观察地址栏URL后边追加了?offset=10的参数,显然offset参数代...

记录一次Maven中配置文件尾回车换行引发的问题

问题描述今天打开IDEA加载项目时,发现一个很诡异的问题:项目依赖及代码没任何问题,Maven依赖检测红色波浪线依旧存在。虽说项目依旧能跑起来不影响开发,但是maven命令操作用不了。 遇到问题后,我大吃一惊。昨天看项目还好好的,今天就报出某个项目一个依赖包找不到。可实际上。该依赖包在本地库是...

Spring Cloud-Feign使用时获取apollo配置失败问题

问题描述今天发现一个很诡异的事情,就是本地写死的FeignClient的url属性配置进行feign调用没问题,但是把配置迁移到Ctrip Apollo配置中心feign调用就有问题。 代码片段123456789101112131415@FeignClient(url = "${ap...

聊聊Java锁的那些事

昨天我们学习了HashMap相关的源码,本来打算今天写ConcurrentHashMap源码分析,但是ConcurrentHashMap涉及到一些锁的概念,所以我觉得越是底层的东西,越是要好好研究一番,今天趁此机会好好的系统学习一下。 那么今天就来聊聊Java锁的那些事情。Java为我们提供了...

深入分析HashMap源码

Map这种Key-Value格式的数据结构在日常开发中是非常的常见,大部分的高级编程语言都有Map类型,Map类型常用于在内存中存取数据。 在Java中,HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新...

GC调优基础之堆大小

调整堆大小GC调整的第一堂课是调整应用程序堆的大小。关于堆大小的调整还有更高级的话题,不过作为第一步,我们首先讨论如何设置总体堆的大小。 与其他的性能问题一样,选择堆的大小其实是一种平衡。如果分配的堆过于小,程序的大部分时间可能都消耗在GC上,没有足够的时间去运行应用程序的逻辑。但是,简单粗暴...

RabbitMQ工作模式之简单模式

今天我们来学习一下RabbitMQ工作模式之简单模式,在学之前我们根据官方文档(纯英文文档,可以装个Chrome插件选中翻译)学习一下RabbitMQ的一些术语,这才能让我们更深入的了解。 准备条件本教程假定RabbitMQ已在标准端口(5672)上的localhost上安装并运行。如果您使用...

RabbitMQ概述

之所以今天写RabbitMQ学习专栏,主要是因为自己没有真正的系统学习过。之前工作经历中都是为用MQ而用的MQ,对MQ整个内部机制没有一个深入的了解和系统的学习。比如我们用Spring Cloud Stream或Spring Cloud Bus组件时候,我们会经常碰到MQ。MQ产品市面上有很多...

【【Java并发编程实战】线程池应用之Executors线程池静态工厂

今天我们来认识一下,线程池的静态工厂Executors类,平时写测试代码的时候可用一用,生产代码尽量少用。为什么说生产上尽量少用呢?这是有原因的,请耐心听彤哥讲解。 阿里的代码规约不建议使用这样的工厂类,而建议使用手动创建并管理ThreadPoolExecutor,在阿里巴巴Java开发手册中...

【Java并发编程实战】-深入ThreadPoolExecutor工作机制

为了高效的管理线程,JDK1.5版本的Doug Lea大神为我们设计了大名鼎鼎的ThreadPoolExecutor。 作为Executor框架中最核心的类-ThreadPoolExecutor,我们可以认为它是一个调度工具,为了高效执行或调度任务,我们非常有必要对该类的工作原理以及内部机制了...