- 博客(594)
- 资源 (1)
- 收藏
- 关注
原创 计算机基础知识
1MSL表示一个1个最长报文段的寿命。接收方等待最后一次ack+重发的第三次释放连接请求到达发送方的时间<=2MSL,因此需要等待2MSL。本质原因是网络是不可靠的,所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。如果发送方的最后一次ack没有被接收方收到的话,那么接收方会进行重传第三次的释放连接请求,TIME_WAIT就是为了在这种情况下重发丢失了的ack报文。
2023-06-22 20:59:27
3702
原创 Java I/O
缓冲区是一段特殊的内存区域,用来缓冲输入或输出的数据。为了提升性能将一部分数据暂时读写到缓冲区,以后直接从此区域中读写数据。直接与数据源或目的地进行交互,它们提供了一种直接的方式来读取或写入数据。节点流通常与文件、套接字等 I/O资源直接关联。是基于节点流构建的,它们提供了更高层次的数据处理功能。处理流通常与节点流链接起来使用,使得数据在读取或写入时可以经过一系列处理,比如缓冲、压缩、加密等操作,从而提高数据处理的效率和安全性。处理流必须建立在一个已有的节点流之上。
2023-05-05 20:52:54
628
1
原创 Java 多线程知识
导致Java线程安全问题最主要的原因:(1)多线程同时访问共享数据。(2)多线程操作共享数据的过程中使用的计算方法不具备原子性。解决线程安全问题的方案:(1)避免共享数据。(2)确保使用共享数据的原子性。JAVA虚拟机在内存管理过程中将内存划分为不同区域,其中类成员变量存储在堆内存,方法变量存储在栈内存。堆内存在不同线程之间共享数据,有线程安全问题,而栈内存是线程独占的内存,不存在线程安全线问题。
2023-05-05 20:38:34
1070
原创 Java 集合
loadFactor 越趋近于1,那么 数组中存放的数据(entry)也就越多,也就越密,也就是会让链表的长度增加,导致链表长度可能超过阈值,从而使得查找效率降低;loadFactor 越小,也就是趋近于0,数组中存放的数据(entry)也就越少,也就越稀疏,可能导致数组空间大量空闲而使得数组空间浪费。HashMap 是以key-value形式存在,它是线程不安全的,它的key、value都可以为null。2.根据hash值找到所在索引,如果索引为空返回null,如果不为空且key值比较相等,则返回元素。
2023-04-26 15:26:27
393
原创 Linux 安装Anaconda和pytorch
1.安装Anaconda1.1下载Anaconda安装包下载地址安装版本可以自己进行选择,我选择的是3.5.3版本安装版本:Anaconda3-5.3.0-Linux-x86_64.sh安装包下载方法:使用sftp上传到远程服务器/在远程服务器上下载1.2运行安装包找到安装包的位置,运行以下指令# 格式 sh 文件夹名称sh Anaconda3-5.3.0-Linux-x86_64.sh1.3.安装Anaconda1.3.1输入yes![[外链图片转存失败,源站可能有防盗链机制,建
2022-05-16 09:46:14
1074
原创 Ubuntu 安装Java并配置Java环境变量
一、安装Java下载地址:点击oracle在此网页选择合适的java文件进行下载,在这里我选择了红色边框的版本进行下载因为我安装了图形化界面,所以我直接找到了压缩文件下载位置,并选择了一个位置解压文件,解压后的文件结构和路径如下:此时Java文件就安装完成了,由于我java文件安装在了home文件夹下,导致我后面配置环境变量出现问题,因此我将解压好的java文件移动到了/usr/local下,步骤如下:(1)在/usr/local下新建java文件夹 先进入/usr/local文件夹下,之
2021-07-01 15:24:08
3937
1
原创 Leetocode 每日一题 并查集 题目整理
547. 省份数量题目链接:547思路:并查集裸题代码如下class Solution { int[] pre; private int find(int x) { if(x==pre[x]) return x; int temp = find(pre[x]); return temp; } private void union(int a,int b) { int pa = find
2021-01-19 15:23:26
245
2
原创 python爬取steam250游戏详细信息和下载游戏介绍视频
爬取网页地址https://steam250.com/2020网页详情爬取的信息游戏名称游戏图片地址游戏发行日期游戏分类游戏评分游戏描述游戏介绍视频这里游戏描述需要点击单个游戏介绍界面才能看到游戏视频则需要点击游戏图片才能查看找到爬取数据所属的html元素爬取思路游戏名称 游戏图片地址 游戏发行日期 游戏分类 游戏评分这些属性可以通过抓取指定html块可以拿到,游戏详情的话可以通过两个思路来实现,一个是通过爬虫爬取这些游戏详情的地址,之后访问这些地址,另一种是编写
2021-01-15 11:51:14
1542
3
原创 python 利用正则表达式删除在将一个数据库的表复制到另一个数据库出现insert失败删除原数据库数据
问题描述博主在做课设的时候需要将一个数据库的表转移到另一个远程数据库中,但是由于两个数据库的mysql版本不同,出现了Incorrect string value: '\xF0\x9F\xA7\xA0 O...' for column 'game_name' at row 1,由于我不想损失爬取的数据,我想了一个办法,将插入失败的语句调出来,删除原数据表中的数据我将插入失败语句存入了一个txt文档中插入不成功语句部分展示INSERT INTO `time_task_tb_game` VALUES (
2021-01-13 11:03:40
175
原创 python爬虫爬取steam,epic,origin平台游戏数据
这是我们课程实训的一个功能模块,实现将steam,epic,origin游戏价格信息爬取出来,由于三个网站的构造不一样,加载数据的方式也不一样所以我们需要采用不同的方法来爬取这三个平台的游戏数据用到的工具包BeautifulSoup包 提取爬取网页标签的属性值(游戏的价格信息等)selenium的webdriver 利用脚本实现动态加载数据requests 爬取网页数据用mysql 数据表具体实现步骤1. 提取steam数据首页urlhttps://store.steampowere
2021-01-04 20:31:17
7983
3
原创 Operating Systems-tep Chapter6 读书笔记
基于锁的并发数据结构并发计数器最简单的数据结构是计数器。此数据结构经常使用且接口简单。简单非并发计数器:线程安全计数器:这个并发计数器简单有效。它遵循了常见的最简单也是最基本的并发数据结构设计模式:简单地加上一个锁,即在操作该数据结构时上锁,在返回时解锁。上面的计数器虽然保证了线程安全,但是性能方面扩展性很差,在多核CPU上运行速度很差。性能问题可以通过sloppy counte...
2020-01-26 11:36:42
536
2
原创 2020天梯赛训练2 题目整理
7-1 辗转相除法求最大公约数 (10分)题目链接:7-1 辗转相除法求最大公约数代码如下:import java.util.Scanner;public class Main { public static int gcd(int a,int b) { return b==0? a:gcd(b,a%b); } public static...
2020-01-21 19:07:15
3862
原创 2020天梯赛训练1 题目整理
7-1 比较大小 (10分)题目链接:7-1 比较大小代码如下:import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ...
2020-01-19 16:58:11
1747
原创 Operating Systems-tep Chapter4和Chapter5 读书笔记
Chapter4 插曲:线程APIpthread_create 线程创建pthread_join 等待线程执行完成,可以接收等待线程执行完后的返回值一个创建多个线程去并行执行特定任务并行程序会用join来确保所有的工作都完成,才退出或进入下一阶段工作。phread_mutex_lock 是对一个锁变量上锁,pthread_mutex_unlock是对一个锁变量进行解锁。pt...
2020-01-16 19:49:48
335
2
原创 Leetcode 3Sum Closest和4Sum问题
这两道问题都是15题3Sum的变式,可以通过套用3Sum的方法做出来,不过运行的速度不是很快,需要进一步优化,在这里说一下可以优化的情况,如果不知道3Sum题的做法的话,可以看下我上一篇博客,在这里附上链接:Leetcode 15.3Sum16. 3Sum Closest题目描述Given an array nums of n integers and an integer target, ...
2020-01-16 15:31:01
183
原创 Leetcode 15. 3Sum
题目描述Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:The solution set must not c...
2020-01-15 18:04:18
161
原创 Operating Systems-tep Chapter3 读书笔记
并发性简介每一个线程很像一个独立的进程,但是与进程的区别是:进程内的各个线程共享相同的地址空间。所以各个线程可以访问相同的数据。线程有一个程序计数器(PC)来跟踪程序从何处去指令。每个线程有自己的用于计算的寄存器集。当从一个线程切换到另一个线程时,会发生上下文切换,保存线程T1的寄存器状态,在T2运行之前加载T2的寄存器状态(状态保存在线程控制块TCB(thread control bloc...
2020-01-15 12:17:52
400
1
原创 Operating Systems-tep Chapter2 读书笔记
操作系统介绍2.1 虚拟化CPU将一个(或少量)CPU转化成看似有无数个CPU,从而使许多程序看似能够一同运行的技术,我们将其称为虚拟化CPU。2.2 虚拟化内存内存只是一组bytes:要读取内存,必须指定一个地址才能访问储存在那里的数据。要写入(或更新)内存,还必须要写入给定地址的数据。内存在程序运行的时候一直被访问。一个程序将其所有的数据结构保存在内存中,然后通过各种指令来访问。程序...
2020-01-14 19:13:25
318
原创 找出无序数组第K大/小数的方法(Leetcode 215)
上一篇博客讲解了找出无序数组中位数的方法,找无序数组第K大数的方法跟中位数的方法差不多,K值可以类比成中位数的值,所以方法还是差不多的,分别是1.排序+取值 2.快排思想 3.桶排序。上一篇博客详细讲了这三种方法。在这里附上上一篇博客的链接:找出无序数组中位数的方法这里我们以Leetcode中215题为例进行讲解1 排序+取值这个方法就不多说了。2 快排思想这里主要说一下快排哨兵元素选...
2020-01-14 16:02:17
770
原创 找出无序数组中位数的方法
今早上在LintCode上做到了这种类型的题目,题目要求找到无序数组中位数在数组的位置,一开始想到的是利用快排的思想来做,但是由于只有十五分钟的时间,就直接用最普通的方式做了,思路是map记录位置+sort排序,水过去了。找无序数组中位数我想着我之前逛知乎的时候遇到过,用最大堆和最小堆来做的。想了想,遇到这么多次,那就整理下方法吧。这里中位数的定义是数组元素个数/21 直接排序找中位数直接...
2020-01-13 13:10:48
2924
4
原创 牛客网 2019校招真题编程题 牛牛找工作
题目描述为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<=...
2019-12-18 22:04:38
319
原创 牛客网 2019校招真题编程题 被3整除
题目描述小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。并且小Q对于能否被3整除这个性质很感兴趣。小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。输入描述:输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。输出描述:输出一个整数, 表示...
2019-12-17 23:06:19
508
原创 2019年PAT甲级冬季考试总结
时隔一年,我又一次报名参加了PAT考试,不过这次我是抱着找份实习工作去考的,上次是抱着做炮灰的目的去考的,不过这次比上次考的还低,排名也是比上次低了很多,我感觉问题主要是出现在以下几点:1.调试程序花费的时间太多。建树的方法是存在一定的问题的,我是把整个树都存在一个数组里面,虽然简单,但也容易出问题,我就栽在了这里。2.还有就是要少用stl,有时候不需要用,用了反而超时。3.要仔细读题,因为...
2019-12-09 17:21:46
601
原创 PAT (Advanced Level) Practice 1143 Lowest Common Ancestor
题目描述The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants.A binary search tree (BST) is recursively defined as a binary tree which ...
2019-12-04 19:48:52
146
原创 PAT (Advanced Level) Practice 1114 Family Property (25 分)
题目描述This time, you are supposed to help us collect the data for family-owned property. Given each person’s family members, and the estate(房产)info under his/her own name, we need to know the size of e...
2019-12-03 19:27:59
276
原创 PAT (Advanced Level) Practice 1033 To Fill or Not to Fill(贪心)
With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different ga...
2019-11-22 08:43:24
119
原创 PAT (Advanced Level) Practice 1084-1087 题解
1084 Broken Keyboard (20分)On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters corresponding to those keys will not appear on screen.Now given a strin...
2019-11-16 15:23:13
332
原创 Java 并发 volatile学习笔记
volatile关键字是Java中提供的另一种解决可见性和有序性问题的方案。对volatile变量的单次读/写操作可以保证原子性的。但是并不能保证i++这种操作的原子性,因为本质上i++是读、写两次操作。在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比sychronized关键字更轻量级的同步机制仅当volatile变量能简化代码的...
2019-11-09 09:32:17
241
原创 Java 多线程/并发 Synchronized学习笔记
synchronized关键字可以添加在方法的声明上,也可以添加在代码块中添加在方法上时分两种情况,当为静态方法时,表示的是对该类的.class对象上锁当不为静态方法时,表示的是对该类的对象上锁。添加在代码块时,需要指定上锁的对象。public class Synchonizedd { static Long start,end; static { ...
2019-11-06 11:51:00
605
原创 计算机网络 静态路由配置练习(使用Cisco Packet Tracer进行配置)
题目要求为下图 r1,r2,r3 配置静态路由,实现主机之间的全连通题目分析我们知道在一个子网中主机与主机间实现通讯只需要在两个主机之间接入交换机就可以了。而一个子网中的主机想要与外网中的主机进行通讯,就需要借助路由器来进行路由交换到达与目的主机相连的路由器,然后路由器在转发给目的主机。要解决此题目,我们需要通过指令手动配置路由表。实验步骤1 配置主机IP这里只给出PC1,PC3...
2019-10-29 20:39:54
3609
原创 PAT (Advanced Level) Practice 1002 A+B for Polynomials (25 分)
本来想在原来做的pta博客上再附上java实现的代码,发现这道题没写博客,那只好补发一波了,hhh题目:This time, you are supposed to findA+BwhereAandBare two polynomials.Input Specification:Each input file contains one test case. Eac...
2019-10-27 19:32:16
194
原创 Daily Life ---------------------1024
今天是10.24号,听说今天写博客会得勋章,特地前来水一篇博客。上一星期五去我姐那拿衣服,没想到她理解错了,以为我上她家去,没拿衣服。。。。我只好跟着她去她家了,她说她家就一个人,我姐夫没在家。上了她家玩了一会手机到吃饭的时间了,我姐非要拉着我去外面吃,然后就在外面找了一家店吃了,回来的时候正好赶着夜市繁华的时候,人是真多啊。其中,我看着有个打着ACE联盟的旗号在人群中穿梭,hhh,一群精神小...
2019-10-24 21:58:05
257
原创 计算机网络 划分子网并搭建网络将子网进行连通
题目要求将IP地址空间202.118.1.0/24划分为2个子网,分别分配给局域网1、局域网2,每个局域网需分配的IP地址数不少于120个,请给出子网划分结果,并搭建网络,进行IP配置,最终实现局域网1的主机与局域网2的主机连通。题目分析因为只需要划分两个子网,所以只需要取主机号一位就可以划分了,每个子网的IP地址数就是2^7-1-2个也就是125个(减去全为0和全为1的),符合题目要求。...
2019-10-22 16:39:33
6050
7
原创 Daily life -------- Autumn's Coming
自从国庆过完调整作息之后,午睡一睡就是一个小时,而且还不想起来,起来是又头痛又鼻子又干。最近又上火上的很厉害,这不禁让我感叹,秋天果然来了,每每到了这时候,遇到阴天的时候,就有股惆怅的感觉,hhh,有些矫情。最近几天又在想很宏大的事情了,hhh,都是因为科协办的那小比赛弄的,弄的我这几天一直在想要不要参加,如果参加的话会不会打乱以前的"计划"(hhh,我是一个善于计划的懒蛋),然后想着想着又跳...
2019-10-15 20:29:56
189
1
原创 mysql 事务管理
文章目录什么是事务事务的特性mysql 中常见事务操作开启事务提交事务回滚关闭自动提交事务提交事务演示事例事务隔离问题mysql 事务隔离级别解决脏读解决不可重复读解决幻读java 执行mysql事务操作的基本格式java 执行mysql事务操作的基本格式----savepoint什么是事务简单的来说,事务是一组业务操作,这些业务操作要么全部执行成功,要么全部执行不成功。事务的特性事务具有...
2019-10-12 15:17:45
634
原创 Spring JdbcTemplate 配置
引入jar包直接配置//创建数据源(连接池) dbcp BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName("驱动"); basicDataSource.setUrl("连接到的库的url"); b...
2019-10-03 09:39:11
374
原创 AspectJ 通知类型及其实现
AspectJ 是什么AspectJ 是一个基于Java语言的AOP框架Spring2.0 以后新增了对AspectJ切面表达式的支持@AspectJ 是Aspect1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面。新版本Spring框架,建议使用AspectJ方式来开发AOPAspectJ 通知类型before : 前置通知(应用:各种校验) 在方法执行前执行,...
2019-09-29 12:04:16
682
原创 Java 实现代理模式以及通过Spring AOP 实现代理模式
什么是代理我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品。关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究竟是谁,也就是说,“委托者”对我们来说是不可见的;其次,微商代理主要以朋友圈的人为目标客户,这就相当于为厂家做了一次对客户群体的“过滤”。我们把微商代理和厂家进一步抽象,前者可抽象为代理类,后者可抽象为目标类(被代理类)。通过使用代理,通常有两...
2019-09-27 19:58:15
253
原创 Spring 基于xml装配bean和使用注解实现依赖注入
自动化装载bean定义接口:package soundsystem;public interface CompactDisc { void play();}java类当中需要带上@Component注解例如:package soundsystem;import org.springframework.stereotype.Component;@Component(...
2019-09-25 21:31:37
646
原创 Servlet 实现文件上传
Servlet 实现文件上传需要先接收request 发送请求的文件域,然后获取需要上传文件的名字,之后设置文件的存放地址,然后通过Servlet实现文件上传主要分以下几个步骤接收需要进行上传的文件域获取上传文件名字自定义文件存放路径创建目录上传至指定路径注意事项form 需要设置 enctype=“multipart/form-data”Servlet 中需要加入@Mul...
2019-09-20 16:09:42
292
numpy-1.14.5+mkl-cp37-cp37m-win_amd64.whl
2019-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人