Free Download
抖音
博客
WHCSRL
技术网
博文
HashMap的源码解读
HashMap 的一种数据集合类型,它存储的是键值对,jdk1.8前后hashmap是有所改变的,1.8之前用的数据结构是数组 + 链表,1.8之后用的数据结构是数组 + 链表 + 红黑树,红黑树的引入是为了提高它的查询效率,链表的查询效率是O(n),而红黑树的查询效率是O(logn),1.8之前如果发生哈希碰撞采用的是头插法,1.8之后发生哈希碰撞采用尾插法,因为头插法在多线程的情况下会出现循环链表。由于HashMap线程不安全的,一般在多线程的情况下一般采用线程安全的 CurrentHashMap
JVM系列---内存结构(运行时数据区)
文章目录一、内存结构(运行时数据区)二、程序计数器(PC寄存器)三、虚拟机栈四、本地方法栈五、堆六、方法区一、内存结构(运行时数据区)这里引用尚硅谷的中英文的图(运行时数据区)二、程序计数器(PC寄存器)概念:JVM中的程序计数寄存器( Program Counter Register) 中,Register 的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。 CPU只有把数据装载到寄存器才能够运行。理解:运行时数据区的后三者(虚拟机栈、PC寄存器、本地方法栈)是线程私有的 ,
Java中高级问题整理-中间件
本系列目录文章目录Redis哨兵模式1. 哨兵模式搭建2. Java中使用哨兵模式redis使用场景你知道redis哪些高级功能?为什么要使用消息中间件MQAMQP messaging 中的基本概念Kafka特点Kafka使用场景kafka中的 zookeeper 起到什么作用kafka启动了一个broker,可以设置多个partition吗?可以设置多个副本吗?为什么为什么要使用Elasticsearch?全文搜索(Full-text Search)倒排索引(Inverted Index)ES基本概念E
Java线程基础
文章目录一、创建线程1、直接创建线程2、通过Runnable创建线程二、终止线程三、线程中断四、wait和notify五、suspend和resume六、join和yield一、创建线程1、直接创建线程在Java中线程使用Thread类表示,因此创建线程最简单的方法就是new 一个Thread类:Thread myThread = new Thread();myThread.start();线程创建之后,调用它的start()方法就可以让线程运行,线程Thread有一个run()方法,star ,
Ubuntu 安装 mysql
1、更新软件包,运行命令sudo apt update2、安装 mysql,运行命令sudo apt install mysql-server这里会提示需要大概261M的磁盘空间3、配置安全设置,运行命令sudo mysql_secure_installation这里询问是否要对密码验证组件进行配置,这里我选择的是y这里询问设置密码强度,这里我选择了第二个,并设置了中英文的密码这里询问是否要移除匿名用户,我选择了 y输入 y这里我选择保留,输入 n输入 y输入 y4、检查 ,
hadoop订单项目实战
1.到https://github.com/rathboma/hadoop-framework-examples#readme下载项目文件2.删除test文件夹,修改RawMapducer.java文件的路径地址3.修改pom.xml file 删除文件内容如下: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId ,
使用Java和OpenCV调用YOLOv3完成实施目标检测
使用Java和OpenCV调用YOLOv3完成实施目标检测,识别到目标就将包含目标的图片保存下来,没有目标就不保存。第一步:在IDEA中完成对OpenCV包的导入 从官网上下载OpenCV:Releases - OpenCV。选择window版本下载,解压之后把 opencvuild目录下的java文件整个复制到项目文件下,名字随意。 File>Project Structure>Libraries ,选择+号,选择java,之后选择jar... ,
sched 模块中巨好用的轻量级定时任务神器scheduler
Python 提供有一个强大的、可用来定义执行任务调度的 sched 模块,该模块中含有一个 scheduler 类,可用来执行更复杂的任务调度。【阅读全文】这种定时调度任务的实现还是比较简单的,总体来说只需要编写好定时任务最好使用标准范式来使得任务运行起来。首先,需要导入三个模块的扩展库。主要是为了两个方面,一个是为了记录时间或者日期准备的,另一个则是为了执行编写好的任务。import sched # 定时任务模块import time # 时间模块from datetime import
MYSQL锁详解
一、共享锁(S锁)&&排它锁(X锁)S锁:一个事务获取到S锁后,其他线程也可以获取数据的S锁,但是不能获取X锁。X锁:一个事务获取到X锁后,其他事务无法获取S锁,也无法获取X锁。增删改查的加锁情况:delete:加X锁insert:一般情况不加锁update:不更新ID值,则加X锁。 更新ID值,相当于做了delete和insert操作。select:普通的select语句不加锁,select … lock in share mode可以加S锁,select for upda. ,
深入理解Java虚拟机——类加载机制
文章目录类加载机制类的生命周期类的加载过程1、加载2、验证3、准备4、解析5、初始化类的初始化时机类加载器类与类加载器类加载器分类双亲委派模型工作过程源码分析双亲委派机制的好处类加载机制类的生命周期一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段,其中验证、 ,
智能楼宇项目总结(1)
智能楼宇项目总结模块节点板(STM32F103R8T6):DHT11、MQ2、MQ135、热释电、光敏电阻、0.96oled、外部flash模块。中控板(STM32F407ZET6):ESP8266、3.5寸TFTLCD屏、外部flash模块。重要技术RS485通信、MQTT通信协议、Modbus通信协议、GUI界面设计、SPI协议、单总线协议(1-wire)。相关介绍(节点板一些相关的资料)单总线协议(1-wire):微处理器与 DHT11之间的通讯采用单总线通信,一次通讯时间4ms左右, ,
(c)(数据结构)栈与队列的应用--停车场管理
题目描述#include<stdio.h>#include<stdlib.h>#include<string.h>#define TRUE 1#define FALSE 0#define N 2typedef struct{ char num[20];//车牌照号码 int arriveh,arrivem,arrives;//到达的时分秒 int leaveh,leavem,leaves;//离开的时分秒}CA... ,
阿里巴巴2021云栖大会:Filecoin是迄今为止最大的zk-SNARK网络
10月22日,2021云栖大会-OceanBase原生分布式数据库论坛在杭州举行。蚂蚁集团OceanBase CTO 杨传辉以《OceanBase:一体化架构助力核心系统》为题进行分享,他指出,分布式和数据库在不断融合,当前已经迭代至第三代企业级分布式数据库。OceanBase坚持原生分布式数据库、坚持核心场景。2021云栖大会-蚂蚁链“区块链+”可信链接技术发展与实践分论坛在杭州举行。北京大学研究员、博士生导师肖臻以《区块链+隐私计算融合技术趋势》为题进行分享。他指出,隐私计算的目标是数据所有权和数据 ,
RobotFramework常用类库
1.标准库:不需要安装,直接用,RF自带Buitini(测试库)Collections(集合库)Date Time(时间库)ScreenShot(截屏库标准库的位置:(在pycharm中安装robotframework安装的)例如我的标准库所在位置:E:pythonLibsite-packages obotlibraries2.扩展库:需要通过pip安装库web自动化测试:SeleniumLibrary,Selenium2Library,Selenium2Library
Docker 安装Redis
Docker 安装Redis一、docker pull redis:5.0二、docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -d redis:5.0 redis-server --appendonly yes三、ps -ef |grep redis看到polkitd表示Docker安装Redis成功 ,
c语言打字母小游戏
#include <stdio.h>#include <conio.h>#include <stdbool.h>#include <time.h>#include <ctype.h>#include <windows.h>#define WIRD 50#define HIGH 25struct Word{ int x; int y; char ch; bool flag; };int count = 0; ,
game1——bugku_m0
这种前段Java游戏类的题目还是很经典的,所以总结下思路基本思路我们玩的游戏,是前端JavaScript的写的,所以最终得分一定与前端代码有关。所以思路一 是 修改前端代码,让自己“开挂”。 不过 这对我们JavaScript的水平要求比较高,部分同学达不到。所以这里引出思路二。 我们前端玩游戏的数据,总是要传给后端的,可以拦截数据包,修改数据! 这个题就这样做。解题过程先玩一局游戏。玩完一把游戏后。能看到score.php 传输了我们的得分 和 签名signht..
Python套接字编程、TCP协议实现的SYN泛洪攻击
前言这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。微信小程序搜索:Python面试宝典或可关注原创个人博客:https://lienze.tech也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习什么是套接字一台主机想要和 ,
制作组的驴又来了|麒麟视频教程发布
Atlas视频教程发布后,有的顾凡说:就这个?两天就学完了。雷哥一脸小浣熊,不满又很无奈:人生路还长,年轻人不要太疯狂。我们还是硅谷的大数据主体,不能丢生产组的驴老母猪!来来来,视频教程应有尽有:DataX、大数据监控报警系统、Superset、Flink CDC、Flume、Data Warehouse 4.0、ClickHouse、Hive源码分析与优化、Zookeeper、Elasticsearch、Scala、Azkaban、Hadoop、Flink内核源码代码分析... ...更多大数据视频教程正在路上, ,
2021-10-31 我的第一篇test
hello 我也开始写文章。打算以后把自己的错误总结到文章中,为后人避坑。
python re正则匹配数字类型int or float_加油
import revalue = re.compile(r'^(-?[0-9]d*)(.d+|d*)$') # 匹配规则(int or float)print(value.match(str('11'))) # 匹配成功返回 <re.Match object; span=(0, 2), match='11'> 失败返回None ,
苹果注定要输给欧盟,USB-C成为标准接口已是大势所趋
与欧盟的USB-C之战,苹果注定要失败
目标检测数据集格式转换( xml - txt ),以及图像标签的对应裁剪_XC_
前言在目标检测数据集的制作上,我们保存的标签格式基本是xml格式的,但是在yolov5等网络模型中,我们使用的是txt的标签格式,需要进行相互转换。还有一些其他的用处,需要修改相关的xml的标签数据,这里写了一个脚本,用来修改我们的标签数据。xml to txt直接修改输入和输出的路径,以及修改一下自己的保存格式即可,还设置了一个归一化的可选的操作,直接看代码即可。写的粗糙了点,需要改的你们自己改就行。import osfrom lxml import etree#设置输入的xml文件夹, ,
python+selenium获取excel表格数据
这个是工具类import xlrdclass ExcelUtil(): def __init__(self, excelPath, sheetName): #def __init__(self, excelPath, sheetName): self.data = xlrd.open_workbook(excelPath) self.table = self.data.sheet_by_name(sheetName) try:
uni-app 回到顶部
<view class="wrap"> <u-back-top :scroll-top="scrollTop"></u-back-top></view>scrollTop: 0,onPageScroll(e) { this.scrollTop = e.scrollTop; },
学习笔记之第3章 Pandas数据结构(三)
第3章 Pandas数据结构在使用它们之前我们要先将其导入,导入方法在Python基础知识部分讲过,一个程序中只需要导入一次即可。import numpy as npimport pandas as pdimport matplotlib.pyplot as plt为了在引用模块时书写方便,上面的代码中用as分别给这几个模块起了别名。所以在本书中见到 pd 就是代表 Pandas,见到 np 就是代表 NumPy,见到 plt 就是代表matplotlib.pyplot3.1 Seri ,
不受局域网限制的遥控小车(esp8266+l298n+点灯科技平台)
好久没写文章了,忙一些事去啦,最近做了一个小车觉得还挺有意思的,做成教程分享给大家(闲鱼奸商源码卖88真是不要脸) ,
记一次重装系统MySQL数据迁移
目录一、前言二、重装系统1.数据备份2.系统重装三、数据库迁移1.环境变量2.安装MySQL服务3.启动服务4.连接测试四、总结一、前言电脑无限重启,于是打算重装系统,由于电脑只有一个固态硬盘,遂打算备份数据后格式化重装,MySQL中的数据很重要,也要备份。二、重装系统1.数据备份使用PE U盘进入PE系统,将需要的代码、文件备份到移动硬盘中。MySQL的话,直接复制MySQL的安装目录。2.系统重装直接运行PE里面的ISO镜像格式化硬盘后,完成傻瓜式的系统安装。三、数据库迁移1.环境变
2021pytorch深度学习实战【视频代码齐全】
2012 年,AlexNet 在 ImageNet 图像识别比赛中夺冠,将图像分类的错误率降低了一半,从此一战成名。十年来,计算机视觉领域蓬勃发展,深度学习技术突破让机器在很多视觉任务上超越了人类。计算机视觉也是目前应用最多、落地最广的人工智能技术。即使是外行,也能随便举出很多技术落地的应用:刷脸支付、美颜相机,还有工业领域的产品缺陷检测,以及交通管理中的车辆识别等。与此同时,也有一些计算机视觉技术应用引发了争议和担忧,比如人脸识别的隐私问题、换脸假视频。计算机视觉的终极目标是什么... ,
算法进阶之路(五):链表面试题常用数据结构和技巧
一、链表解析思路最常用的主要是两大解题思路:(1):双指针法(快慢指针)(2):使用容器(数组、哈希表等)二、小试牛刀1.面试题:2.**解题思路:**通过双指针法可以简单有效的解答此类问题,定义一个快指针,每次跳两个节点,定义一个慢指针,每次跳一个节点,当快指针调到末尾时,慢指针此时在中点附近。以上四个小题都可以通过这个思路解决,唯一不同的是,指针初始化位置的不同。3.解题代码:针对小题1的解题代码:public class LinkedListTest { public c
TCP三次握手,四次挥手
三次握手第一次握手:客户端将标志位SYN置为1,随机发送一个值seq=J,并将该数据包发送个服务端,客户端进入SYN_SENT状态,等待服务端确认 第二次握手:服务端收到收据包后由标志位SYN=1知道客户端请求建立连接,服务端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送个客户端以确认连接请求,服务端进入SYN_RCVD状态 第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数. ,
LeetCode刷题day09(思路明天进行完善...)
算法打卡第九天,今天你刷题了吗????????????????????????????????????????????????????????????????????????????????????????????大家一起来刷题!????????????????????????????????????????????????????????????????????????????????????????????17. 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的
绿色能源合理开发与利用研究
能源绿色开发利用是贯彻落实能源安全新战略和加快新时代生态文明建设的重要任务。随着生活水平的提高,人们的环保意识也在不断增强,如何合理开发与利用绿色能源成了人们关注的焦点问题。 本文分析当前能源利用的总体形势,确定了能源的发展方向,并阐述了绿色能源开发和利用中存在的主要问题以及发展现状。1 能源利用的总体形势 全球经济飞速发展,对能源的需求也越来越大,常规能源已经无法满足经济发展的需要,西方一些发达国家开始研发新能源,以此填补常规能源的短缺。可见,全球性的能源危机已经出现,它不仅制约着各国经济的 ,
https学习笔记02
怎样给一个网站办法安全证书呢?以tomcat为例,我们正常访问localhost:8080都是不安全的网站,那么怎样使得这个网站安全呢?首先我先全局说一下,我们需要先下载openssl,然后使用openssl下载和配置我们需要的证书,也就是证书三件套,配置本地的CA证书,Server证书以及Client证书!到时候你就发现三种证书配置的方式差不多接下来正式开始从第一部讲解:首先下载openssl,下载的方式有两种,一种是源码自己配置,还有一种是大牛给你配好了.exe执行文件,我们无脑next就好:ht ,
Ubuntu20、opencv4、cere14 编译vins错误
解决Ubuntu20、opencv4、ceres14错误。首先,ceres会报错。大部分原因是ceres编译使用c++14,vins代码使用c++11直接修改相关cmakelist.txt文件#set(CMAKE_CXX_FLAGS"-std=c++14")set(CMAKE_CXX_FLAGS"- std=c++14")opencv 相关修改:CV_FONT_HERSHEY_SIMPLEX 替换为 cv::FONT_HERSHEY_SIMPLEXCV_AA 替换:cv::LINE_AA利, ,
Sharding-JDBC基本使用,Springboot实现分库分表,读写分离
一、Sharding-JDBC介绍1、这里引用官网上的介绍:定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。适用于任何基于JDBC的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid,
关于String类contains方法和Long类的valueOf方法的坑_Melo
每周坚持写技术博客的计划又再次失败了,最近公司开发任务比较多,平常休息节假日又把时间花在了其它事情上,所以有时间也变成没时间了。但这次不一样了,从这周开始我一定会更新1~2篇的技术博客到csdn上,欢迎各位同学监督。 上个月开发过程中踩了不少java的坑呀!今天的博客就给大家先讲两个坑,帮助大家在java开发过程中能少踩点坑!下面大体上以demo的形式跟诸位讲解下~第一个坑:String类的contains方法看到这个方法估计大家再估计再熟悉不过了!但是!重要的事情强调三遍!千万不要让给.
python爬虫实战一|大众点评网(2)
1.发现网址url规律generate_urls获取点评网每一页page连接def generate_urls(limit=50): urls=[] template='http://www.dianping.com/shanghai/hotel/p{page}' for p in range(1,limit+1): url=template.format(page=p) urls.append(url) return urlsgenerate_urls(limit=50)2.拿到 ,
pytorch提供的网络模型(预测图片类别)
vgg16因为vgg16太大了(100多个G)所以没有下载pretrained = False 模型中所有的参数为默认参数pretrained = True 模型中所的参数为训练好的参数from torch import nnvgg16_false = torchvision.models.vgg16(pretrained=False)vgg16_true = torchvision.models.vgg16(pretrained=True)pr... ,
Grafana +prometheus监控部署(Windows)
1.Prometheus安装下载地址:https://prometheus.io/download/下载好之后进行解压。如下图所示:双击prometheus.exe即可启动prometheus。浏览器输入http://localhost:9090,显示如下界面即启动成功Targets界面如下图所示。2.grafana的安装下载地址:https://grafana.com/grafana/download?platform=windows解压结果如下:
C冒泡排序
#include<stdio.h>int main(){ int N = 5; //数组长度 int temp = 0;//交换变量暂存处 int arr[N]={12,21,3,14,5}; //需要排序的数组 for(int i=0;i<N-1;i++){ for(int j=0;j<N-1-i;j++){ if(arr[j]>arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr ,
shell脚本-变量、运算判断、if语句、for循环、函数
Shell就是一款解释器软件,将shell命令翻译成机器语言。解释:高级语言-->解释器(编译器)-->机器码 一、shell种类 查看默认shell:echo $SHELL ---默认shell是bash 查看有哪些shell:cat /etc/shells二、shell脚本 (1)特点 脚本文件中的内容是shell命令...
Redis使用pipeline批量查询所有键值对以及multiGet用法
Redis使用pipeline批量查询所有键值对本意是redis存储hashMap的时候单个key对应的value值存储的数据过大,有11m,读取该value值速度太慢,查询网上资料后都说把这个key-value拆分,再用pipeline或者multiGet查询,经过调研,如下:把这个key-value拆分成了46个key-value,然后再用pipeline或者multiGet查询,发现pipeline和multiGet确实可以批量查询多键值对,但是总速度跟之前单个键值对查询速度没有区别-.-下面是r
JAVA Job Record 2—Rock Paper Scissors (random number)
编写可以玩流行的剪刀石头布游戏的程序(剪刀可以剪布,石头可以砸剪刀,而布可以包石头)程序提示用户随机产生一个数,这个数为0、1或者2,分别表示石头,剪刀和布。程序提示用户输入值0、1或者2,然后显示一条信息,表明用户和计算机谁赢了游戏,谁输了游戏,或是打成平手。import java.util.Scanner;public class Scissorgame{ public static void main(String[] args){ Scanner input =new Sc , ,
《自然语言处理--基于预训练模型的方法》第一章读书笔记
按研究对象:形式语义推理语用分析理性主义/经验主义经验主义:基于统计模型/深度学习模型/最新的预训练模型的三个阶段“新范式”:预训练+精调1.1 自然语言处理的概念自然语言通常指的是人类语言(本文特指文本符号,而非语音信号),是人类思维的载体和交流的基本工具,也是人类区别于动物的根本标志,更是人类智能发展的外在体现形式之一。NLP:理解,生成计算语言学,Computational Linguistics,CL人工智能:运算智能--机器的基础运算,存储... ,
一年一度的程序员节又到了,2021的你进步了吗?_zero
时间过的很快,转眼间又过了一年。子醉君在每年的1024都会分享一些职场心得。快来看看今年的心得有哪些吧。- 贡献主义者需要了解的禁忌- 如何看待同事关系- 如何协调工作与生活 ,
围棋科技日报(2021-10-20)-定位并修复围棋中的内存泄漏
今日谚语:Go 相信程序员会写下它的意思。 go中文网日报--2021-10-20 1.不要在Go语言的中文网站上写破坏性的Go库。提高开发者的生活质量。 2、亚军进化史围棋科技日报(2021-10-19)——一套优雅的围棋错误问题解决方案 3. Spectre定位并修复围棋中的内存泄漏 4. k8s技术圈 k8s打开临时容器进行调试 5.脑补炸鱼,Go语言设计错误,缺乏远见?连接IP不存在。, ,
Smart Contract Vulnerabilities:Vulnerable Does Not Imply Exploited总结
Smart Contract Vulnerabilities:Vulnerable Does Not Imply ExploitedUsenix Security A 2021研究背景通过调查了最近六个学术项目所报告的23327个易受攻击的领域,结果发现,尽管这些领域的风险很大,但自部署以来,只有1.98%的领域被开发利用。这最多相当于8487 ETH(约170万美元),或仅占300万ETH(6亿美元)的0.27%。我们通过证明资金非常集中于少数在实践中不可利用的合同来解释这些结果
企业级API网关,API流量的统一入口
RestCloud API网关产品是国内最早完全基于Java语言自主研发的企业级API网关,其具高稳定性、高性能、易于维护等特点、API网关产品作为所有业务系统API流量的统一入口,承担着非常重要的数据传输及多协议转换工作,API网关最核心的作用是对服务进行路由并进行数据转发,API网关将成为前后端交互以及内外网交互的唯一数据进出口,所以API网关适合于进行服务鉴权、数据缓存、流量控制、日记记录、熔断控制、协议转换等。公共能力统一抽取到API网关中,统一入口,承担数据传输及多协议转换工作权. ,
7.1.2. Sqoop_
1、上传解压tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha -C /usr/local/soft/2,修改文件夹名mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha /sqoop-1.4.63、修改配置文件#切换到sqoop配置文件目录cd /usr/local/soft/sqoop-1.4.6/conf/#复制配置文件并重命名cp sqoop-env-template.sh sqoop-env .sh#, ,