- 博客(35)
- 收藏
- 关注
原创 计网--应用层(一)
1.DNS系统运行在UDP之上,使用53端口。当dns进行域传输时,是基于TCP。1.1层次域名空间如:www.baidu.com。 由‘.’分割,从左到右依次是标号www三级域名、标号baidu二级域名、标号com顶级域名。标号不区分大小写,除了连字符(-)外不能使用其他标点符号,每个标号不超过63个字符,多标号完整域名不超过255字节(4个标号+3个.)1.2域名解析主要分两种:(一)递归查询:会造成根域名服务器压力过大,实际几乎不用。(二)递归与迭代结合查询:.
2021-01-09 16:09:17
190
原创 JVM笔记-高效并发(三)
1.内存模型与线程8种内存模型基本操作:lock、unlock、read、load、assign、use、store、writevolatile关键字(重要)可见性,一个线程修改这个变量的值,新值对于其他变量来说是可以立即得知的。因为java运算不是原子操作,所以在并发下是不安全的,取值的时候能保证正确,但是在计算时,可能有其他线程把它修改了禁止指令重排序优化,前面的指令全部完成了才能执行后面的指令,相当于一个屏障。long和double类型变量的特殊规则long和doubl
2020-07-21 15:32:21
198
原创 JVM笔记-类加载机制(二)
1.类加载时机有且只有5种情况必须立即对类进行“初始化”①遇到new、getstatic、putstatic、invokestatic字节码,(被final修饰放入常量池的除外)②使用java.lang.reflect包的方法对类进行反射调用的时候③初始化一个类,发现其父类还未初始化,则先初始化父类④虚拟机启动时,先初始化主类⑤jdk1.7动态语言支持,java.lang.invoke.MethodHandle实例解析结果的方法句柄对应的应先初始化2.类加载过程加载...
2020-07-20 11:47:25
218
原创 JVM笔记-自动内存管理机制(一)
1.运行时数据区域程序计数器:改变该值来选取下一条执行的字节码指令这是此内存趋于唯一一个不会OutOfMemoryError的区域虚拟机栈:用于存储局部变量表、操作数栈、动态链接、方法出口等信息本地方法栈:存储Native方法堆:存放对象实例,也是垃圾回收的主要区域方法区:也称为老年代,存储已加载的类信息、常量、静态变量等。该区域GC可实现也可不实现,GC效率低对象的访问定位通过栈上的reference来操作堆上的具体对象有两种主流的访问方式:①使用句柄②直.
2020-07-18 18:53:23
219
原创 Redis设计与实现笔记--独立功能的实现(四)
1.发布与订阅订阅有两种,频道订阅和模式订阅2.事务以MULTI命令开始,把多个命令放入事务中,最后由EXEC命令将事务提交WATCH命令是一个乐观锁,在EXEC执行之前,监视任意数量的数据库键。并在EXEC执行前,检查被监视的键是否有被修改,是的话将拒绝执行事务。监视的键被修改的话,会打开客户端REDIS_DISRTY_CAS标识事务的ACID性质(这个很重要,有很多地方会出现)redis总是具有ACI性质,不一定有D性质原子性Atomicity:.
2020-07-17 14:40:01
171
原创 Redis设计与实现笔记--多机数据库(三)
1.复制旧版复制功能实现同步①从服务器向主服务器发送SYNC命令②主服务器收到SYNC后开始执行BGSAVE命令,生成RDB文件,在此期间用缓冲区记录执行的写命令③把RDB文件发给从服务器,并载入④把缓冲区的写命令发送给从服务器,从服务器执行,更新至主服务器当前状态命令传播主服务器所有写命令都会传播给从服务器旧版本缺陷SYNC命令是非常耗费资源的,在初次复制时能很好地完成,但在中途下线后又上线,缺失的只是一部分信息,不需要所有资源同步,再次执行SYNC就显得低
2020-07-16 21:18:22
128
原创 Redis设计与实现笔记--单机数据库(二)
1.数据库默认情况下,redis初始化会创建16个数据库键空间是个字典,所有数据库操作都是对这个字典进行操作读写时的维护操作 读取一个键后(读写操作都要先读),更新键命中次数或者不命中次数 读取一个键后,更新键的LRU时间 读取时发现键过期,会先删除这个键 WATCH命令监视时,对键修改,会标记为脏 修改键后,对脏键计数+1,这会触发服务器持久化以及复制操作 ...
2020-07-10 15:30:11
215
原创 文本聚类评估指标purity,RI,R,P,F1,F5
参考nlp原文https://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html#fig:clustfg3假设一个集合中有N篇文章,如图,一共有17篇cluster1中主要的元素为‘x’,cluster2中主要的元素为‘o’,cluster3中主要的元素为‘菱形’purity=(每个cl...
2019-09-30 09:29:54
1512
原创 使用git作服务器的代码部署
服务器准备工作:1. 安装git2. 创建一个专门用于代码部署的无特权用户,笔者用的是实验室服务器,新建用户受限(这一步也可以省略)3. 新建项目根目录,如mkdir /home/lab421/storage/wk/firstgit4. 进入根目录,并初始化git仓库cd firstgitgit init5. 生成一个.git文件,为他设置权限(可能要在push之前...
2019-09-19 09:42:11
210
原创 Mac中使用StanfordNLP报权限和端口错误
其实不是权限问题,加了sudo依然报其他错误,但在windows下没有这种问题,有以下解决方案。找到stanfordcorenlp这个package中的corenlp.py。通过pip安装的stanfordcorenlp应该在site-packages/stanfordcorenlp下。将该文件中第84和85行代码注释掉,如下两行:if self.port in [conn.ladd...
2019-09-10 08:39:10
452
1
原创 数据结构(C语言版 严蔚敏著)——内部排序
冒泡排序基本思想:两两相邻记录的关键字 ,如果反序则交换,直到没有反序记录为止。void BubbleSort(int k[], int n) { //冒泡排序是从下往上冒泡,相邻两个比较 int temp, flag; flag = 1;//这里标志, 是对排序的优化 for (int i = 0; i < n - 1 && fl...
2018-10-11 16:41:36
958
原创 数据结构(C语言版 严蔚敏著)——查找
静态查找:数据集合稳定,不需要添加、删除元素的查找操作。动态查找:数据集合在查找的过程中需要同时添加或删除元素的查找操作。 · 顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从第一个 (或者最后一个)记录开始,逐个进行记录的关键字和给定值进行比较,若某 个记录的关键字和给定值相等,则查找成功。如果查找了所有的记录仍然找 不到与给定值相等的关键字,则查找失败...
2018-10-11 16:41:29
1321
原创 数据结构(C语言版 严蔚敏著)——图
图的定义· 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示 为:G(V,E)。其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 -在图中数据元素称之为顶点(Vertex)。 -顶点集合要有穷非空。 -任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以空。· 无向边:若顶点Vi到Vj之间的边没有方向,则...
2018-10-11 16:41:21
3037
3
原创 数据结构(C语言版 严蔚敏著)——数组和广义表
这一章只要理解,不作深入要求数组顺序存储结构以及一些操作#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#define MAX_ARRAY_DIM 8typedef int ElemType;typedef struct { ElemType *base; //数组元素...
2018-10-11 16:41:19
1403
原创 数据结构(C语言版 严蔚敏著)——串
关于串,下面只介绍堆分配存储的串。· 由于堆分配存储结构的串既有顺序存储结构的特点,处理方便,操作中对串长 又没有任何限制,更显灵活,因此在串处理的应用程序中也常被选用。更char数组类似下面直接贴代码:#include <stdio.h>#include <stdlib.h>typedef struct { char *ch; ...
2018-10-11 16:41:12
1495
原创 数据结构(C语言版 严蔚敏著)——栈和队列
栈的定义:· 书本定义:栈是一个后进先出的线性表,它只要求只在表尾 进行删除和插入操作。· 通俗定义:栈就是一个特殊的线性表(顺序表,链表),操作上有一些特殊性: -栈的元素必须“后进先出”。 -栈的操作只能在这个线性表的表尾进行。 -注:线性表的表尾对栈来说,是它的栈顶,响应的表头称为栈底。栈的顺序存储结构:· 因为栈的本质是一个线性表,线性表有两种...
2018-10-11 16:41:08
1379
原创 数据结构(C语言版 严蔚敏著)——树
· 树(tree)是n(n>=0)个结点的有限集。当n=0时成为空树,在任意一颗非空树中://这里只需掌握定义,重点在二叉树 -有且仅有一个特定的称为根(Root)的结点; -当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、...、Tm, 其中集合本身又是一棵树,并且称为根的子树(SubTree)。 - n>...
2018-10-11 16:41:01
1461
原创 数据结构(C语言版 严蔚敏著)——线性表
线性表定义:由零个或多个数据元素组成的有限序列。· 需注意几个关键点:-它是一个序列,也就是说元素之间是有先来后到的。-若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素有且只有一个前驱和一个后继。-线性表强调是有限的,无论计算机发展到多强大,它所处理的元素是有限的。 如果用数学语言来定义,可如下定义:· 若将线性表记为(a1,...,ai-1,ai,a...
2018-10-11 16:40:40
1282
5
原创 nodejs定时爬虫,持续抓取
第一步:创建一个nodejs项目mkdir <projectName>cd <projectName>npm init -ynpm install -D eslintnpx eslint --init # 注:会让你选择一些配置,popular -> airbnb -> no react -> yml包 其余默认然后安装项目...
2018-07-27 21:33:40
1847
原创 git使用常见命令
查看分支: git branch创建分支: git branch <name>切换分支: git checkout <name>创建加切换分支: git checkout -b <name>合并某分支到当前分支: git merge <name>删除分支:git branch -d <name>在当前分支上添加文件: git add &l...
2018-06-26 15:20:22
169
原创 nodejs爬虫学习
'use strict';const rp = require('request-promise');// http请求库const request = rp.defaults({ jar: rp.jar(), gzip: true, headers: { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win...
2018-06-13 15:52:35
291
原创 js中对闭包的理解
先上例1代码:function f1(){ var n=99; nAdd =function(){n+=1;}; function f2(){ console.log(n); } return f2;}var result = f1();result(); // => 99nAdd();result(); // =&g...
2018-06-05 11:10:11
389
原创 js数组方法学习
1. join()将数组中的元素拼接起来,并返回一个字符串,参数可填,默认用逗号(,)分隔拼接后的元素。var a = [1,2,3];var b = a.join();// =>1,2,3b = a.join('');// =>123b = a.join(' ')// =>1 2 3b = new Array(10);b = b.join('-');// =>-...
2018-06-01 17:40:13
281
原创 爬虫(进阶),爬取网页信息并写入json文件
import requests # python HTTP客户端库,编写爬虫和测试服务器响应数据会用到的类库import reimport jsonfrom bs4 import BeautifulSoupimport copyprint('正在爬取网页链接……')List = []for page in range(8): if page == 0: ur...
2018-05-12 16:55:18
5595
原创 Linux手动设置网卡IP
网卡配置文件存放在 /etc/sysconfig/network-scripts/cd /etc/sysconfig/network-scripts/网卡配置文件格式 enoxxxxxxxx假设,实验网卡配置文件如下: vi ifcfg-eno16777736把里面的内容改成如下配置BOOTPROTO=static #代表网卡选择那种方式获取ip,static代表手动设置,dhcp代...
2018-05-07 14:52:21
4783
原创 mahout协同过滤,连数据库数据,实现推荐
根据用户协同过滤,根据用户的相似度,推荐相应的item。pom.xml加入核心的几个依赖<!-- https://mvnrepository.com/artifact/org.apache.mahout/mahout-core --> <dependency> <groupId>org.apache.mahout</...
2018-03-17 14:33:14
2325
3
原创 python根据标签爬取网页信息
这里以豆瓣TOP250为案例,爬取网页信息import requests#python HTTP客户端库,编写爬虫和测试服务器响应数据会用到的类库import refrom bs4 import BeautifulSoupprint('正在从豆瓣电影TOP250爬取数据……')# url网址 = 'https://movie.douban.com/top250?start=0' (第一...
2018-03-17 14:23:54
2673
原创 python百度搜索url爬取 图片
这里以百度搜索为案例,搜索并下载图片import requests # python HTTP客户端库,编写爬虫和测试服务器响应数据会用到的类库import re # 导入正则表达式模块import random # 导入模块,随机生成一个实数,取值范围[0,1]# 从百度下载图片# 百度图片 改变url word参数# https://images.baidu.com/search/...
2018-03-17 14:23:42
1995
1
原创 ssm框架中资源路径
在Spring文件中加入如下配置<mvn:annotation-driven/> <mvn:default-servlet-handler/>文件目录在index.jsp中可以用相对路径,例如<link rel="stylesheet" href="static/css/bootstrap.min.css"><script type="text/jav...
2018-03-05 10:08:12
2480
原创 SSM框架中excel表的的上传和下载
一、页面示例二、Excel样例(下面图示不用管 该行删除)三、在Spring配置文件中设置上传文件大小<!--上传文件bean配置--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--设置上传...
2018-03-05 09:37:29
3143
6
原创 用Quasar制造病毒
。。。很low的病毒下载文件https://github.com/quasar/QuasarRAT解压双击build-release会发现Bin文件夹启动里面的Quasar简介易懂的图形化界面仅供学习使用,需关掉防火墙
2018-01-09 15:33:29
1772
原创 Linux_kali系统下的wifi破解
准备前提:必须要有USB无线网卡把可移动设备(usb无线网卡)连入虚拟机,打开终端查看当前无线网卡root@kali:~# airmon-ng网卡名:wlan0mon启用该网卡root@kali:~# airmon-ng start wlan0mon探测附近wifiroot@kali:~# airodump-ng wlan0mon测试选用PWR绝
2017-12-24 13:20:54
1466
原创 用IJ创建一个maven—web项目
1.file→new→project2. GroupId 一般为公司域名反写ArtifactId为项目名3.加入如下配置能使下载jar包更快4.默认Finish5.在main文件夹下创建java文件夹,并设置成资源文件夹。在java文件夹中放java代码,在resources文件夹中放配置文件。6.在pom.xml中加入如下常用依
2017-12-23 09:22:16
4922
原创 使用Maven插件,自动生成sql代码
1.创建一个maven项目2.在pom.xml文件中添加如下配置 org.mybatis.generator mybatis-generator-maven-plugin 1.3.2
2017-12-23 09:08:28
1259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人