后端

学 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

07《算法入门教程》递归算法

1. 前言 本节内容是递归算法系列之一:递归的介绍,主要介绍了递归的定义,选择了数学归纳法这一数学模型帮助大家可以更好的理解递归的概念,然后明确了一个递归算法必须要具备的三要素,最后说明了一下哪些问题适合应用递归算法求解分析。 2. 什么是递归? 递归(Recursion),是计算机科学与技术领域中一种常见的算法思想。 在数学和计算机领域中,递归主要是指在函数的定义中使用函数自身的方法。顾名思义,

CountDownLatch

CountDownLatch是基于AQS的阻塞工具,阻塞一个或者多个线程,直到所有的线程都执行完成。 image.png CountDownLatch解决了什么问题 当一个任务运算量比较大的时候,需要拆分为各种子任务,必须要所有子任务完成后才能汇总为总任务。 使用并发模拟的时候可以使用CountDownLatch.也可以设置超时等待时间, CountDownLatch 用法 packa

430.【爬虫】单独给浏览器设置代理

我们一般在通过代理采集数据时,会在电脑端设置全局代理,如下所示: 设置代理前 这个方法会导致所有流量都经过 8080 代理端口。现在我想用 mitmproxy 采集一个网站的数据,是不希望所有流量都走 mitmproxy 的。这里推荐一个谷歌浏览器的插件来解决这个问题(下载地址在文末)。 一、新建场景 这里的意思是:该场景中,流量都经过代理服务器:127.0.0.1

JS引擎V8

JS引擎可以将JS代码编译为不同CPU(Intel、ARM以及MIPS等)对应的汇编代码 v8核心模块 Parser 负责将JavaScript源码转换成AST(Abstract Syntax Tree) Ignition —> Interpreter 负责将AST转换成ByteCode,解释执行ByteCode 为什么要使用字节码?不直接转成机器码执行? 机器码所占内

Leetcode 3. 无重复字符的最长子串

题目要求 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew" 输出: 3

Pinnacle 21:生成Define.xml与验证数据

欢迎关注,SAS茶谈! 之前文章Pinnacle 21简介简单捋了下Pinnacle 21公司的的发展,该公司有两款产品,Pinnalce 21 Community 和Pinnalce 21 Enterprise,前者是免费开源版,后者是付费商用版。不管是哪个版本,我们工作中使用的功能主要有2个: 生成Define.xml文件 验证数据(Validation) Enterprise版本

RedisTemplate批量操作

RedisTemplate批量添加操作教程,利用pipeline批量操作;multiSet()批量操作;for循环批量操作 一、使用pipeline的好处 了解redis的小伙伴都知道,redis是一个高性能的单线程的key-value数据库。它的执行过程为: (1)发送命令-〉(2)命令排队-〉(3)命令执行-〉(4)返回结果 如果我们使用redis进行批量插入数据,正常情况下相当于将以上四个步

前端性能优化学习之请求和响应优化(HTTP 缓存[强缓存、协商缓存、缓存策略等]、CDN 缓存)

HTTP 缓存 在任何一个前端项目中,访问服务器获取数据都是很常见的事情,但是如果相同的数据被重复请求了不止一次,那么多余的请求次数必然会浪费网络带宽,以及延迟浏览器渲染所要处理的内容,从而影响用户的使用体验。如果用户使用的是按量计费的方式访问网络,那么多余的请求还会隐性地增加用户的网络流量资费。因此考虑使用缓存技术对已获取的资源进行重用,是一种提升网站性能与用户体验的有效策略。 缓存的原理是在首