自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 TCP/IP 三次握手/四次挥手

TCP(Transmission Control Protocol)是面向连接的通信协议,通过三次握手建立连接, 然后才能开始数据的读写,通讯完成时要拆除连接,由于 TCP 是面向连接的所以只能用于端 到端的通讯。其提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间 的准备工作。所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认 连接的建立。在 socket 编程中,这一过程由客户端执行 connect 来触发。TCP三次握手过程图:(面试点)

2020-10-31 15:03:48 205

原创 Java Web web.xml 根标签<web-app>浅析

web.xml 是 Java Web项目中常用的配置文件,用于配置 欢迎页、Servlet 以及 Filter 等。web.xml 的模式(Schema) 中定义的标签元素才能够使用。web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素<web-app>中,都必须标明这个web.xml使用的是哪个模式文件。如下:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w

2020-07-17 15:45:02 2381

原创 如何停止线程?

Thread 方法中提供了几种方法能够使线程停止?1. stop() 方法; 2. 线程抛出异常方法 stop() 抛出异常 interrupt return 线程是否停止 停止 停止 锁释放 立即释放 立即释放 使用建议 不建议使用 不建议使用 一一举例:1. stop()方法,会立即停止线程,并且释放掉线程持有的锁。使用不当会造成数据异常,该方法已被废弃,...

2020-05-30 17:52:02 1106

原创 Java开发环境初始化

这里整理了一份Java开发的环境配置,方便自己也方便部分初学者借鉴:开发集成工具 Intellij IDEA+ 项目管理工具 Maven + java环境 JDK8 + 代码版本控制 Git下载地址:Intellij IDEA:https://www.jetbrains.com/idea/ (收费,不过可以从网上搜激活码:))Maven:http://maven.apache...

2019-04-09 23:09:50 387

原创 第二章、(4)静态synchronized方法与synchronized(class)代码块

    1. 前面几篇介绍了 synchronized方法、synchronized(this)代码块 两种线程同步。关键字 synchronized 还可以应用在 static 静态方法上,表示对当前的 *.java 文件对应的 Class 类进行持锁。 问题:Class类锁 和 object对象锁 是不是同一个锁?如果不是,有什么区别?    静态synchronized方法获得Cla...

2018-11-14 11:15:31 249

原创 Java 位运算符 位与,位或,位非,位异或,右移,左移

    今天看代码遇到位运算符,因为不常用已经忘记了,所以复习一下。Java位运算符包括:位与'&amp;',位或'|',位非'~',位异或'^',右移'&gt;&gt;',左移'&lt;&lt;',右移'&gt;&gt;&gt;' 。    位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。运算需要用到一些二进制知识,稍微回顾一下。这里有一篇介绍二进制、原码、反码和补码的文章...

2018-10-11 16:30:03 560

原创 第二章、(3)synchronized 同步代码块

摘要:一、synchronized 代码块中的代码是同步执行,A线程执行完才轮到B线程;不在synchronized代码块中则是异步执行。二、synchronized(this) 和 synchronized 方法一样,锁定的是当前对象。也就是说:当多个线程同时访问 同一个 object对象的synchronized(this) 方法时,改object 对象中其他synchronized(...

2018-08-02 16:56:54 3111

原创 CDN工作机制和负载均衡概述

1. CDN架构    CDN(Content Delivery Network),内容分发网络,是构筑在Internet上的一种先进的流量分配网络。通过在现有的Internet中增加一层新的网络架构,使用户可以就近取得所需内容,提高用户访问网站的响应速度。    目前CDN都以缓存网站中的静态数据为主,如 CSS、JS、图片和静态页面等数据。通常来说CDN要达到以下几个目标:    a. 可扩展...

2018-06-14 17:06:59 7626 5

原创 DNS域名解析

1. DNS域名解析过程        用户在浏览器输入 URL 地址后:    1. 浏览器检查缓存中是否存在这个域名对应的解析过的IP地址,如果有,则解析结束。(浏览器缓存大小有限制、域名被缓存的时间也可以通过TTL属性来设置)   2. 若浏览器缓存中没有,浏览器会查找操作系统缓存中是否存在该域名对应的DNS解析结果。Windows中可以通过 C:\Windows\System32\driv...

2018-06-13 17:24:02 316

原创 HTTP请求解析、浏览器缓存机制

1. 浏览器如何发起一个HTTP请求?    浏览器在建立Socket连接之前,必须根据地址栏输入的 URL 的域名 DNS 解析出IP地址,再根据 IP 地址和默认的80端口与远程服务器建立 Socket,然后浏览器根据这个 URL 组装成一个 get 类型的 HTTP 请求,通过 outputStream.write 发送到目标服务器,服务器等待 inputStream.read 返回数据,最...

2018-06-13 10:51:11 1580

原创 B/S网络架构概述、CDN

1. B/S    客户端使用同一的浏览器(Browser),浏览器具有统一性,不需要特殊的配置和网络连接。服务端(Server)和Browser都基于统一的应用层协议HTTP来交互数据,使得服务器开发者可以采用相对规范的开发模式,节省开发成本。    HTTP采用无状态的短连接的通信方式,通常情况下,一次请求就完成了一次数据交互。采用这种方式是为了能同时服务更多的用户。2. CDN架构(Cont...

2018-06-04 16:49:51 1634

原创 Java Exception的日志输出

    最近项目中使用多线程,需要将catch到的 Exception 与其他日志信息一起输出,否则日志会比较杂乱不太好准确定位。那么Java Exception到底有哪些信息呢?    Exception 中的方法都是继承 Throwable 类的方法     一般catch到Exception,我们会直接用 e.printStackTrace() 方法输出exception 的完整堆栈信息。但...

2018-04-16 11:21:39 17999 1

原创 第二章、(1)synchronized 锁重入、子类可调用父类同步方法、异常自动释放锁、同步方法不可继承

摘要:一、当线程A调用对象Object 的synchronized 方法 X 时,A线程获得了 X 的方法锁,更准确的说是 对象Object锁。所以其他线程想要再执行 X 方法必须等线程A执行完X方法。但是其他线程可以调用对象Object中的其他 非synchronized 同步方法。(从而形成脏读)二、synchronized 锁重入:当一个线程得到一个对象锁后,再次请求此对象锁时是可以...

2017-09-25 10:24:33 669

原创 第二章、(2)方法内变量线程安全、synchronized 对象锁、synchronized方法和非synchronized方法可异步调用

synchronized 同步方法:(摘要)一、方法内的私有变量不存在"非线程安全"问题,实例变量如果在被多个线程访问时,可能出现"线程安全"问题。二、使用 synchronized 关键字申明方法,访问该方法的线程获得的是对象锁(该方法所属对象的锁)。哪个线程先执行带synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能呈等待状态,前提是多个线程...

2017-09-06 15:34:54 562

原创 多线程基础四(三)、yield方法、线程优先级以及守护线程

yield方法、线程优先级、守护线程

2017-08-29 09:46:25 484

原创 多线程基础四(三)、暂停线程

线程暂停,suspend() 和 resume() 方法以及方法缺点

2017-08-25 11:06:59 256

原创 多线程基础四(二)、能停止的线程(异常法、sleep、return、interrupt、stop)

停止线程,interrupt(),interrupted,isInterrupted,sleep() + interrupt(), sleep() +throw Exception, stop, return + interrupt()

2017-08-23 10:12:21 475

原创 多线程基础四(一)、停止不了的线程(interrupted、isInterrupted)

interrupt() 方法, interrupted() 方法、isInterrupted() 方法

2017-08-21 10:23:14 513

原创 多线程基础三、实例变量和线程安全

线程安全、synchronized

2017-08-18 10:44:34 311

原创 多线程基础二、currentThread()、isAlive()、sleep()、getId()

currentThread()、isAlive()、sleep()、getId() 方法介绍

2017-08-15 16:29:34 775

原创 Git 工作环境初始化

1. 下载 Git : https://git-scm.com/downloads2. 选择一个目录安装 Git,安装完成后打开 cmd命令窗口。输入名利 git --version 检查是否安装成功3. git config --global user.name "xxx" # 配置用户名(公司会给你配好,我使用的是 GitHub 用户名)4. git config -...

2017-08-12 15:59:10 563

原创 Git 命令

git init                                                                         # 初始化本地git仓库(创建新仓库)git config --global user.name "xxx"                            # 配置用户名git config --global user.e

2017-08-12 12:12:55 198

原创 多线程基础一、线程实现

java 多线程、基础

2017-08-10 11:38:34 237

原创 第一篇、概述3~大型网站核心架构要素

大型网站核心架构要素概述

2016-05-30 10:59:31 482

原创 段落首行缩进 for 优快云 博客编辑器

优快云 xhEditor 编辑器 段落首行缩进

2016-05-25 10:43:22 2523 1

原创 第一篇、概述2~大型网站架构模式

大型网站架构模式

2016-05-24 16:09:23 490

原创 第一篇、概述1~大型网站架构演化

《大型网站技术架构》读书笔记之 大型网站架构演化发展历程

2016-05-20 11:25:45 406

卸载mysql数据库

安装mysql最后一步无法响应的解决方法:必须卸载以前装的mysql。介绍了如何卸载mysql数据库

2013-05-27

Oracle 11g安装图文攻略

详细描述oracle 11g的安装图文过程

2013-05-27

空空如也

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

TA关注的人

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