自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 python爬虫学习

用到的库from bs4 import BeautifulSoup #解析数据import re #正则表达式匹配import urllib.request,urllib.error #制定URL,获取网页数据import xlwt #进行excel操作一、爬虫流程1.模拟浏览器向要爬的网站服务器发送请求因为普通请求给服务器发送,会被监测到是爬虫请求,服务器当然也会回以418,此时我们需要伪装成服务器进行发送请求,具体伪装主要是请求头的User-Agent,它包含了浏览器对服务器请求的

2021-08-21 12:13:07 74

原创 黑马旅游网项目总结

历时五天,我从头开始搭建整个项目,到今晚10点整个项目改完最后一个问题,这个项目算是告一段落,这个项目虽然简单,但却设计的非常巧妙,对我项目架构能力有很大的提高.学习方式:一个模块一个模块的看完视频,然后进行自己的代码构思,这其中不乏画图等方法.一.项目准备技术选型Web层a)Servlet:前端控制器b)html:视图c)Filter:过滤器d)BeanUtils:数据封装e)Jackson:json序列化工具Service层f)Javamail:java发送邮件工具g)Redis:

2020-11-17 23:37:34 2990 6

原创 多线程面试题(二)

1.volatile关键字2.悲观锁和乐观锁悲观锁: 以最坏的打算来上锁,总是假设最坏的情况,认为自己的数据一定会被别的线程修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁.传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁 以最好的情况去上锁,认为自己的操作一定不会被其他线程所修改,但在拿数据的时候会进行校验,判断别人有

2020-08-22 21:25:04 162

原创 多线程面试题总结

1.进程和线程的区别根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。内存分配:同一进程的线程共享本进程的

2020-08-15 22:04:34 135

原创 集合框架库常见面试题

1.ArrayDeque、Stack、LinkedList区别底层数据存储方式:ArrayDeque是长度为16的数组,Stack是长度为10的数组,LinkedList是链表.线程安全:三个中只有Stack是线程安全的,因为他继承了Vector接口.使用场景:1.频繁的插入、删除操作:LinkedList2.频繁的随机访问操作:ArrayDeque3.未知的初始数据量:LinkedList2.ArrayList LininkedList Vector的区别底层数据结构:ArrayLis

2020-08-13 16:47:58 114

原创 五种IO模型

一.同步阻塞模型特点:在Linux中,对于- -次读取I0的操作,数据并不会直接拷贝到程序的程序缓冲区。通常包括两个不同阶段:a.等待数据准备好, 到达内核缓冲区;b.从内核向进程复制数据。 对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所有等待分组到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用程序缓冲区。故事描述小明从家里面先到演唱会现场问售票业务员买票,但是票还没出来,三天以后才出来,小明直接打了个地铺睡在举办商售票大厅,一直等票出来,然后

2020-08-06 21:07:11 112

原创 计算机网络知识点总结

一. OSI与TCP/IP各层的结构与功能,都有哪些协议?OSI,TCP/IP,五层协议的体系结构,以及各层协议1.1应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用HTTP协议超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW(万维网) 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。1.2运输层传输层负责

2020-08-04 22:04:02 295

原创 JVM常见参数和命令

JVM常用参数(1)-Xms20M memory size内存初始大小 堆大小的最小值 1024倍数表示设置JVM启动内存的最小值为20M,必须以M为单位  m:memory(2)-Xmx20M表示设置JVM启动内存的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。(3)-verbose:gc表示输出虚拟机中GC的详细情况(4)-Xss128k stack size 栈的内存表示可以设置虚拟机栈的大小为128k  s:stack(5)-XX:Per

2020-07-27 21:37:46 391

原创 多线程知识总结

第一节课:1.程序、进程与线程进程与线程的区别2.线程帮我们解决了哪些事情,让多个功能可以同时进行例子:一边收消息,一边发消息start 方法线程的父子关系3.串行?并发?并行4.实现银行叫号系统5.线程常用方法(Thread类中提供的方法)作业:进程与线程的区别和联系。第二节课:1.线程的优先级2.守护线程3.线程的生命周期4.线程join5.CountDownLatch CyclicBarrier6.线程中断7.如何关闭一个线程一.线程与进程基础知识1. 什么

2020-05-10 17:11:22 80

原创 Java文件IO知识点汇总

文章目录一、字节和字符流(一)字节流(二)字符流的文件读写流FileWriter和FileReader二、转换流和缓冲流1.转换流2.缓冲流三、序列化四、RandomAccessFile、五、装饰器和适配器1、装饰模式解读2、适配器模式一、字节和字符流对于文件必然有读和写的操作,读和写就对应了输入和输出流,流又分成字节和字符流。1.从对文件的操作来讲,有读和写的操作——也就是输入和输出。2...

2020-04-22 11:19:20 288

原创 ArrayDeque和PriorityQueue解析

文章目录一、ArrayDeque(一)简介(二)主要方法(三)方法实现二、PriorityQueue(一) 简介(二)PriorityQueue 原理(三)方法实现一、ArrayDeque(一)简介ArrayDeque类是双端队列的实现类,类的继承结构如下面,继承自AbastractCollection(该类实习了部分集合通用的方法,其实现了Collection接口),其实现的接口Deque...

2020-03-31 22:04:23 561

原创 集合总结

一、Collection详解(一)List 有序,可重复ArrayList优点: 底层数据结构是数组,查询快,增删慢。 缺点: 线程不安全,效率高Vector优点: 底层数据结构是数组,查询快,增删慢。 缺点: 线程安全,效率低LinkedList优点: 底层数据结构是链表,查询慢,增删快。 缺点: 线程不安全,效率高(二)Set 无序,唯一HashSet 底层数...

2020-03-31 21:03:08 121

原创 JVM基础知识

1.1.1 程序计数器内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成

2020-03-26 10:28:22 135

原创 HashMap总结

一、简介1、HashMap是线程不安全的(HashMap是异步的,HashTable是同步的)2、HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改2、HashMap是一个散列桶(数组和链表),以键值对方式进行存储的3、HashMap是通过get()和put()方法来获取和存储对象的。当我们存储值时,将键值对传给put()方法时,他调用键的ha...

2020-03-11 16:12:03 101

原创 list总结

集合概念:集合就是存储对象数据的集合容器现在我们来说说Collction的子接口List。如果是实现了List接口的集合类,具备的特点: 有序,可重复。我们就来说说常用的一些,ArrayList、LinkedList、Vector、Stack,我们分别说一下他们四个的一些特性。首先来说一下ArrayList:ArrayList 底层是维护了一个Object数组实现的。它的特点是:1.查...

2020-02-22 12:38:40 103

原创 单链表java实现

本文主要涉及到链表的基本结构以及链表的基本操作,其中包括1.判断链表是否有环2.链表环的入口节点3.倒数第k个结点信息4.链表逆置问题其中判断链表是否有环方法为定义一个一次遍历两个节点的快节点fast以及一次遍历一个节点的慢节点slow。依次遍历,判断是否会相遇。求环的入口节点则定义两个遍历节点,一个从头结点开始向后遍历,一个从相遇节点向后遍历,他两相遇时的节点即为环的入口节点。以下...

2019-12-07 14:22:43 84

原创 java面向对象学习

构造方法初始化实例变量。当构造方法中参数使用和实例变量重名时,使用this。new方法是在堆上创造新对象。开辟的对象大小为对象头+实例变量+内存填充内存填充。...

2019-11-18 21:13:04 65 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除