后端
430.【爬虫】单独给浏览器设置代理
我们一般在通过代理采集数据时,会在电脑端设置全局代理,如下所示:
设置代理前
这个方法会导致所有流量都经过 8080 代理端口。现在我想用 mitmproxy 采集一个网站的数据,是不希望所有流量都走 mitmproxy 的。这里推荐一个谷歌浏览器的插件来解决这个问题(下载地址在文末)。
一、新建场景
这里的意思是:该场景中,流量都经过代理服务器:127.0.0.1
CountDownLatch
CountDownLatch是基于AQS的阻塞工具,阻塞一个或者多个线程,直到所有的线程都执行完成。
image.png
CountDownLatch解决了什么问题
当一个任务运算量比较大的时候,需要拆分为各种子任务,必须要所有子任务完成后才能汇总为总任务。
使用并发模拟的时候可以使用CountDownLatch.也可以设置超时等待时间,
CountDownLatch 用法
packa
07《算法入门教程》递归算法
1. 前言
本节内容是递归算法系列之一:递归的介绍,主要介绍了递归的定义,选择了数学归纳法这一数学模型帮助大家可以更好的理解递归的概念,然后明确了一个递归算法必须要具备的三要素,最后说明了一下哪些问题适合应用递归算法求解分析。
2. 什么是递归?
递归(Recursion),是计算机科学与技术领域中一种常见的算法思想。
在数学和计算机领域中,递归主要是指在函数的定义中使用函数自身的方法。顾名思义,
学 Java 就用简单的框架,Solon v1.10.6 发布
Java 轻量级应用开发框架。可用来快速开发 Java 应用项目。主框架仅 0.1 MB。Helloworld:
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args);
}
@Get
@WebSocke
算法记录 | Day01(数组01)
二分查找
移除元素
704题:二分查找
【思路】
有序数组按升序排序,如何找到目标值?
时间复杂度 O(logN),主要通过取中间点来节省遍历的次数,重点在于边界值的判断,找到合适的那一半数据空间。
class Solution {
public int search(int[] nums, int target) {
// 条件里已为升序,不再单独排序
LeetCode-392-判断子序列
判断子序列
题目描述:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
进阶:
如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情
javascript——数组的使用方法详解
数组是什么?
数组是一种数据类型
数组是由简单数据类型组成复杂数据类型
数组是一种特殊的变量,它能够一次存放一个以上的值
数组元素是什么?数组中的每一个值,我们称为数组元素
创建数组的方法
直接量法:
构造函数法:
构造函数就是构造对象的一种摸具(函数)
构造函数的语法:任何一个构造函数在构造对象的时候,都必须遵循固定语法
创建数组直接量
直接量法:
const students = ['张麻子'
作为Java程序员,阿里一面Synchronized连珠炮你是否能够顶住
大家先来看看阿里面试Synchronized连珠炮看看自己是否顶得住
Synchronized可以作用在哪里? 分别通过对象锁和类锁进行举例。
Synchronized本质上是通过什么保证线程安全的? 分三个方面回答:加锁和释放锁的原理,可重入原理,保证可见性原理。
Synchronized有什么样的缺陷? Java Lock是怎么弥补这些缺陷的。
Synchronized和Lock的对比和选择
深入解析MySQL(6)——存储过程、游标与触发器
1.存储过程
概念:存储过程是一组预编译的SQL语句集合,存储在数据库中,可通过名称调用。支持条件判断、循环等逻辑控制,适合封装复杂业务逻辑
优势:
性能优化:存储过程在创建时已经经过编译和优化,形成可执行的二进制代码,直接存储在数据库服务器中。性能高于单独执行时需要解析、编译的
