自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨阿阳的Blog

专注于大数据与java

  • 博客(12)
  • 资源 (1)

原创 DNS 服务器的基本工作

DNS 服务器的基本工作DNS服务器的基本工作就是接收来自客户端的查询消息,然后根据消息的内容返回响应。来自客户端查询的消息包含以下三种信息:(a)域名服务器、邮件服务器的名称(b)ClassClass用来识别网络的信息。目前已经不用(c)记录类型表示域名对应何种类型的记录。当类型为A时,表示域名对应的IP地址;当类型为MX时,表示域名对应的时邮件服务器;DNS 服务器的基本工作域名的层次结构...

2020-07-08 15:15:06 35

原创 浏览器与Web服务器的连接过程(二)

初识IP地址在浏览器生成HTTP消息后,接下来就是根据域名查询IP地址。下面简单介绍一下IP地址。互联网是基于TCP/IP的思路设计的,TCP/IP的结构如下图TCP/IP由一下小的子网,通过路由器

2020-07-07 15:32:52 58

原创 浏览器与Web服务器的连接过程(一)

当输入一个网址时,浏览器会按照一定的规则去分析这个网址的含义,然后生成请求消息;例如在浏览器输入下面的网址:**[http://www.lab.glasscom.com/sample1.html](http://www.lab.glasscom.com/sample1.html)**;在这个链接输入到浏览器后,浏览器生成的请求消息表示“请给我sample1.html这一文件中存储的网页数据”,然后浏览器会将请求消息发送给Web服务器,传输消息是搬运数字消息的机制负责的工作,浏览器会委托操作系统中的网络控制

2020-07-06 02:16:41 133

原创 Java集合框架的简单介绍

在编程时有些场景需要用到Java的集合框架,这篇博文将介绍在Java系统里的集合框架。Java提供了大量持有对象的方式:数组Collection保存单一的元素,Map保存相关联的键值对。各种Collection和各种 Map 都可以在你向其中添加更多元素时自动调整其尺寸。向数组一样,List也建立数字索引与对象的关联,因此数组和List都是拍好序的容器。List能自动扩充容量。如果要进行大量的随机访问,就使用 ArrayList;如果要经常从表中间插入或删除元素,则使用 LinkedList.

2020-06-10 16:35:00 46

原创 Executor框架

Executor框架两级调度Java线程启动时会创建一个本地操作系统线程,当该Java线程终止时,这个操作系统线程也会被回收。操作系统会调度所有线程并将它们分配给可用CPU。在上面的调度模型中:在上层,Java多线程程序通常把应用分解为若干任务,然后使用用户级的调度器将这些任务映射为固定数量的线程;在底层,操作系统内核将这些线程映射到硬件处理器上。Executor框架结构Executor框架由3大部分组成任务包括被执行任务需要的实现接口(Runnable接口或Callable接口)Ru

2020-06-06 19:02:03 46

原创 Java中的线程池

合理使用线程池的好处降低资源消耗通过重复利用已创建的线程降低线程创建和的销毁造成的消耗提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行提高线程的可管理性线程是稀缺资源,如果无限制创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优、监控线程池的实现原理线程池的处理流程线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下一个流程线程池铺垫工作队列是

2020-06-04 20:51:24 41

原创 SQL基础(一)

写在前面这篇文章主要以MySQL数据库进行讲解在阅读本文之前假设已经安装MySQL数据库。请先构建好数据源,如果没有安装MYSQL数据库可以通过下面的在线网站构建数据源并练习SQL语句SQL在线练习网站:http://sqlfiddle.com/源数据下载:https://forta.com/wp-content/uploads/books/0672327120/mysql_scripts.zipSQL语言分类SQL语言主要分为三类:DML(Data Manipulation Langua

2020-05-11 16:53:27 67

原创 Java并发编程之Volatile关键字
原力计划

并发编程的三个重要特性原子性原子性指在一次的操作或多次的操作中,要么所有操作全部执行且不会受到任何因素的干扰而中断,要么所有操作全部不执行可见性当一个线程对共享变量进行修改,另外的线程可以立刻看到修改后的新值。有序性有序性是指程序代码在被执行过程中的先后顺序。Java编译器以及运行期的优化,导致代码的执行顺序未必就是在编写代码时的顺序。关于volatile下面有必要说一下内存与CPU相关的知识CPU Cache模型CPU的处理速度和内存访问速度之间差距很大,通过直连内存的方

2020-05-11 15:24:46 94

原创 Java并发基础Java中的锁

锁是用来控制多个线程访问共享资源的方式,一个锁能够防止多个线程同时访问共享资源。Lock在**Lock接口出现之前,Java通过synchronized关键字实现锁功能,JDK 1.5之后,在并发包中新增了Lock接口来实现锁功能,有与synchronized关键字类似功能,只是在使用时需要显示的获取锁和释放锁,拥有了锁释放和获取的可操作性、可中断性等synchronized关键字不具备的特性。在使用synchronized关键字会隐式的获取锁和释放锁,但锁的获取和释放固化,即先获取后释放。Lock接口

2020-05-09 00:11:20 90

原创 Linux的文件与目录管理

目录相关操作对于目录相关的命名首先要介绍的一个命令是目录切换命令:cd还有一些比较特殊的目录:.:代表此层目录;..:代表上一层目录;-:代表前一个工作目录;~:代表目前使用者身份所在的家目录~account:代表account这个使用者的家目录处理目录的命令:cd(change directory):切换目录命令格式:cd [相对路径或绝对路径]利用相对路径的写法必须确认的目前的路径才能正确地去到想要的目录下面看几个例子##切换到tmp目录$ cd /tmp$ pwd

2020-05-09 00:08:57 159

原创 Linux系统常见的压缩命令

*.z compress程序压缩的文件;*.zip zip程序压缩的文件;*.gz gzip程序压缩的文件;*.bz2 bzip2程序压缩的文件;*.xz xz程序压缩的文件;*.tar tar程序打包的文件,并没有压缩过;*.tar.gz tar程序打包的文件,并经过gzip的压缩*.tar.bz2 tar程序打包的文件,并经过bzip2的压缩*.tar.xz tar程序打包的文件,并经过xz的压缩gzip,zcatgzip可以说是应用最广泛的压缩命令。下面介绍这些命令;g

2020-05-09 00:05:15 83

原创 Java并发容器
原力计划

​ 在多线程环境中,使用HashMap可能会导致程序死循环,使用线程安全的HashTable效率低效,所以便有了ConcurrentHashMap。ConcurrentHashMap利用锁的分断技术可有效提升并发访问率,在容器里有多把锁,每一把锁用于锁容器其中一部分数据,当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效提升并发访问效率。ConcurrentHashMap的结构ConcurrentHashMap由Segment数组结构和HashEntry数组结构组成。Se

2020-05-08 23:40:31 62

Git快速入门.md

Git的入门文章,从git的命令开始。接下来的时间将陆续连载关于git的相关文章。这一篇文章从win上安装git开始,到一些常用命令的使用,将git命令操作一一进行讲解

2020-03-15

空空如也

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