自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (11)
  • 收藏
  • 关注

原创 JUC-007-同步锁Lock

解决多线程安全问题的方法同步代码块同步方法同步锁显示锁 Lock在 Java 5.0 之前,协调共享对象的访问时可以使用的机制只有 synchronized 和 volatile 。Java 5.0 后增加了一些新的机制,但并不是一种替代内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。ReentrantLock 实现了 Lock 接口,并提供了与synch

2018-01-30 12:09:27 2357

原创 JVM-004-Java发展史

1991年4月:Java语言前身Oak语言出现。1995年5与23日:Oak语言改名为Java语言。并在Sun World大会上发布了Java 1.0版本。第一次提出了“Write Once,Run Anywhere”。1996年1月23日:JDK 1.0发布,提供了一个纯解释执行的java虚拟机-Sun Classic VM。JDK 1.0的代表技术有-Java虚拟机、Applet、AWT等

2018-01-30 12:08:29 204

原创 Java8新特性-020-重复注解与类型注解

Java 8对注解处理提供了两点改进:可重复的注解及可用于类型的注解。 测试代码-重复注解MyAnnotation.javapackage java8.annotation.repeat;import static java.lang.annotation.ElementType.CONSTRUCTOR;import static java.lang.annotation.ElementType

2018-01-30 12:08:04 353

原创 Java8新特性-019-与传统日期处理的转换

类 To遗留类 From遗留类 java.time.Instant java.util.Date Date.from(instant) date.toInstant() java.time.Instant java.sql.Timestamp Timestamp.from(instant) timestamp.toInstant() java.time.ZonedD

2018-01-30 12:07:37 238

原创 Java8新特性-018-时区处理

时区的处理Java8 中加入了对时区的支持,带时区的时间为分别为:ZonedDate、ZonedTime、ZonedDateTime。其中每个时区都对应着 ID,地区ID都为 “{区域}/{城市}”的格式。例如 :Asia/Shanghai 等ZoneId:该类中包含了所有的时区信息getAvailableZoneIds() : 可以获取所有时区时区信息of(id) : 用指定的时区信息获

2018-01-30 12:07:05 813

原创 Java8新特性-017-时间格式化

解析与格式化java.time.format.DateTimeFormatter 类:该类提供了三种格式化方法: 1.预定义的标准格式 2.语言环境相关的格式 3.自定义的格式测试代码TimeFormatTest.javapackage java8.format;import java.time.LocalDateTime;import java.time.format.DateTimeFo

2018-01-30 12:06:30 174

原创 Java8新特性-016-时间矫正器

日期的操纵TemporalAdjuster : 时间校正器。有时我们可能需要获取例如:将日期调整到“下个周日”等操作。TemporalAdjusters : 该类通过静态方法提供了大量的常用TemporalAdjuster 的实现。 测试代码TestTimeAdjuster.javapackage java8.adjuster;import java.time.DayOfWeek;import

2018-01-30 12:05:52 406 1

原创 Java8新特性-015-本地时间与时间戳

概述LocalDate、LocalTime、LocalDateTime 类的实例是不可变的对象,分别表示使用ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。注:ISO-8601日历系统是国际标准化组织制定的现代公民的日期和时间的表示法。 方法 描述 示例 now() 静态方

2018-01-24 13:04:27 452

原创 Java8新特性-014-传统时间API的线程安全问题

测试代码package java8.time;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.concurrent.Callable;import java.util.concurr

2018-01-24 13:03:11 566

原创 JVM-003-Java技术体系

Sun定义的Java技术体系的组成: - Java程序设计语言 - 各种硬件平台上的Java虚拟机 - Class文件格式 - Java API类库 - 第三方Java类库按功能划分 - 其中,Java程序设计语言、Java虚拟机、Java API类库三者组成了JDK(Java Development Kit)。JDK是用于支持Java程序开发的最小运行环境。Java AP

2018-01-24 13:02:24 184

原创 JVM-002-JVM监控工具

在我们安装的jdk的bin目录下有一个jconsole.exe程序,这就是一个JVM监控工具。我们可以直接在这里打开它,如果配置了环境变量也可以直接在控制台中输入jconsole命令来打开它。 这个jconsole.exe只有17k,它只是一个包装。真正的代码在lib目录下tools.jar包里,大小在17M左右。 在控制台输入jconsole,当我们打开jconsole之后,界面如下:

2018-01-24 13:01:46 149

原创 Java8新特性-013-Optional 容器类

概述Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用null 表示一个值不存在,现在Optional 可以更好的表达这个概念。并且可以避免空指针异常。常用方法: 1.Optional.of(T t) : 创建一个Optional 实例 2.Optional.empty() : 创建一个空的Optional 实例 3.Opti

2018-01-24 13:00:31 254

原创 JUC-006-创建线程的方式三-实现Callable接口

概述前面已经学习过两种创建线程的方式了:实现Runnable接口,实现其中run方法。继承Thread,重写其中run方法。 今天我们来认识第三种创建线程的方式,它具有返回值和可抛出异常。Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable 接口Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程

2018-01-24 12:59:42 447

原创 JUC-005-CountDownLatch闭锁

概述Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行: 确保某个计算在其需要的所有资源都被初始化之后才继续执行;确保某个

2018-01-24 12:58:49 8542

原创 JUC-004-同步容器类ConcurrentHashMap

Java 5.0 在java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。ConcurrentHashMap 同步容器类是Java 5 增加的一个线程安全的哈希表。对于多线程的操作,介于HashMap 与Hashtable 之间。内部采用“锁分段”机制替代Hashtable 的独占锁。进而提高性能。此包还提供了设计用于多线程上下文中的Collection 实现:

2018-01-24 12:58:03 640

原创 JUC-003-模拟CAS算法

测试代码TestCAS.javapackage juc.cas;import java.util.Random;public class TestCAS { public static void main(String[] args) { final CompareAndSwap cas = new CompareAndSwap(); for (int i =

2018-01-24 12:57:06 364

原创 资源整合

资源汇总微信公众号:JavaWeb架构师简书:小甜甜_JavaWeb架构师CSDN:枸杞子雨夹(个人博客):雨夹展示

2018-01-24 12:56:24 330

原创 Java8新特性-012-并行流与串行流

概述并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。Java 8 中将并行进行了优化,我们可以很容易的对数据进行并行操作。Stream API 可以声明性地通过parallel() 与sequential() 在并行流与顺序流之间进行切换。了解Fork/Join 框架Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不

2018-01-06 13:58:59 386

原创 Java8新特性-011-Stream收集-终止操作

方法 描述 collect(Collector c) 将流转换为其他形式。接收一个Collector接口的实现,用于给Stream中元素做汇总的方法Collector 接口中方法的实现决定了如何对流执行收集操作(如收集到List、Set、Map)。但是Collectors 实用类提供了很多静态方法,可以方便地创建常见收集器实例,具体方法与实例如下表: 方法 返回类型 作用

2018-01-06 13:58:08 348

原创 Java8新特性-010-Stream规约-终止操作

方法名 描述 reduce(T iden, BinaryOperator b) 可以将流中元素反复结合起来,得到一个值。返回T reduce(BinaryOperator b) 可以将流中元素反复结合起来,得到一个值。返回Optional备注:map 和reduce 的连接通常称为map-reduce 模式,因Google 用它来进行网络搜索而出名。测试代码TestReduce.

2018-01-06 13:57:05 804

原创 JUC-002-JUC原子变量与CAS算法

i++i++的执行步骤分析:“读-改-写”。 读:先把i的值交给一个临时变量。 改:i = i + 1; 写:返回temp值。 因为i++不是一个单一的操作,它由三步构成,所以i++不是一个原子操作。 CAS算法保证原子性CAS (Compare-And-Swap) 是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问。 CAS 是一种无锁

2018-01-06 13:56:17 503

原创 JavaWeb-027-验证码

概述一次性验证码的主要目的就是为了限制人们利用工具软件来暴力猜测密码,其原理与利用Session防止表单重复提交的原理基本一样,只是将表单标识号变成了验证码的形式,并且要求用户将提示的验证码手工填写进一个表单字段中,而不是通过表单的隐藏字段自动回传给服务器。 服务器程序接收到表单数据后,首先判断用户是否填写了正确的验证码,只有该验证码与服务器端保存的验证码匹配时,服务器程序才开始正常的表单处理流

2018-01-06 13:55:25 213

原创 JavaWeb-026-避免表单的重复提交

说明调用 RequestDispatcher.forward() 方法,浏览器所保留的URL 是先前的表单提交的 URL,此时点击”刷新”, 浏览器将再次提交用户先前输入的数据,引起重复提交。如果采用 HttpServletResponse.sendRedirct() 方法将客户端重定向到成功页面,将不会出现重复一条问题。JS 客户端避免表单重复提交 不足:用户单击”刷新”,或单击”后退”再次提交

2018-01-06 13:54:38 190

原创 JavaWeb-025-路径问题

使用绝对路径:使用相对路径可能会有问题, 但使用绝对路径肯定没有问题。绝对路径: 相对于当前 WEB 应用的路径. 在当前 WEB 应用的所有的路径前都添加 contextPath 即可. http://localhost:8080/Course_025_ShoopingCar/step_1.jsp/ 的意义/ 代表站点目录:http://localhost:8080/超链接中的路径:连接

2018-01-06 13:53:15 178

操作系统-第二章-进程管理

)进程的撤销 简述:一个进程在完成其任务后应予以撤销,以便及时释放它所占用的各类资源 撤销原语 分类 只撤销一个具有指定标识符的进程 撤销指定进程及其所有子孙进程 撤销事件:进程正常结束、进程异常结束、外界干预 撤销过程(使用撤销原语) 从 PCB 集合找到被撤销进程的 PCB 若该进程正处于运行状态,立即停止该进程的执行,设置重新调度标志,以便进程撤销后将处理器分配给其它进程 对后一种撤销类型,若被撤销的进程有子孙进程,还应将子孙进程撤销 回收被撤销进程所占有的资源

2018-10-03

操作系统-第一章-绪论

1 )处理器管理 处理器管理:主要任务是对处理器的分配和运行实施有效的管理 主要功能(处理器管理归结为进程管理) 进程控制:负责进程的创建、撤销、状态转换 进程同步:对并发执行的进程进行协调 进程通信:负责完成进程间的信息交换 进程调度:按一定的算法进行处理器分配 2 )存储器管理 存储器管理:主要任务是对内存进行分配、保护、扩充 主要功能 内存分配:按一定的策略为每道程序分配内存 内存保护:保证各程序在自己的内存区域内运行而互不干扰 内存扩充:为允许大型作业或多作业的运行,必须借助虚拟存储技术去获得增加内存的效果 3 )设备管理 设备管理:主要任务是对计算机系统内的所有设备实施有效的管理 主要功能 设备分配:按一定的设备分配原则对设备进行分配。为了使设备和主机并行工作,还需要采用缓冲技术和虚拟技术 设备传输控制:实现物理的输入输出操作,即启动设备、中断设备、结束处理等 设备独立性:即用户程序中的设备与实际使用的物理设备无关 4 )文件管理 文件管理:负责信息管理的部分叫作文件系统。主要任务是有效的支持文件的存储、检索、修改等操作,解决文件的共享、保密、保护 主要功能 文件存储空间管理:包括存储空间的分配和回收 目录管理:目录是为了方便文件管理

2018-10-03

计算机网络-第二章.物理层

首先,主机 A 将分组逐个地发往与它直接相连的交换机 1 ,交换机 1 将主机 A 发来的分组进行缓存 2 )交换机 1 查找自己的转发表,不同时刻转发表可能会有不同,因此有的分组转发给交换机 2 ,有的转发给交换 3 和交换机 4 3 )以此类推,直到所有分组到达主机 B 注意:当分组在交换机 1- 交换机 2 等链路上时,只是占用了这一段,并没有全部占用网络资源 特点 发送分组前无需建立连接 网络尽最大努力交付,但不保证可靠性,有可能丢失 每个分组是独立处理的,所以转发路径可能不一样,所以不一定按序到达接收方 交换机尚未接收完第二个分组,它就可以把已经收到的第一个分组发送出去,不仅减少了时延,还大大提高了吞吐量 当某一台交换机或一段链路故障时,可以相应的更新转发表,寻找到另一条替代路径转发分组,对故障适应能力强 发送方和接收方不独占某一段链路,所以资源利用率高 虚电路 简介:在发送数据之前,在源主机和目的主机之间建立一条虚连接。建立完毕后,用户发送的数据(以分组为单位) 将通过该路径按顺序传送到目的主机。通信完成后,释放连接。 虚电

2018-10-03

计算机网络-第一章.计算机网络体系结构

主机、通信处理机、通信线路、交换设备 软件:实现资源共享的软件、各种工具软件(如 QQ ) 协议:数据在线路上传输必须遵守的一定的规则 2 )工作方式组成(边缘部分、核心部分) 边缘部分:所有连接在互联网上,供用户直接使用的主机组成,用来进行通信和资源共享 核心部分:大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务 3 )功能组成(通信子网、资源子网) 通信子网:各种传输介质和、通信设备和相应的网络协议组成,为网络提供数据传输、交换和控制能力,实现联网的计算机间的数据通信。 资源子网:主机、终端以及各种软件资源、信息资源组成,负责全网的数据处理业务,面向网络用户提供各种网络资源与服务 注:通信子网包括物理层、数据链路层、网络层 1.1.3. 计算机网络的功能(数据通信、资源共享、分布式处理、信息综合处理、负载均衡、提高可靠性) 数据通信:连接控制、传输控制、差错控制、流量控制、路由选择、多路复用等子功能 资源共享:数据资源、软件资源、硬件资源 分布式处理:将任务传送到网络中的其它计算机进

2018-10-03

计算机网络思维导图-第三章-数据链路层

详细的计算机网络数据链路层的思维导图,花费了两个月时间完成

2018-07-03

计算机网络-第二章-物理层

- 计算机网络第二章,物理层的思维导图, https://blog.csdn.net/qq_33605778/article/details/79899674

2018-04-11

计算机网络-思维导图-第一章

1.1.2.计算机网络的组成 1)物理组成(硬件、软件、协议) 硬件:主机、通信处理机、通信线路、交换设备 软件:实现资源共享的软件、各种工具软件(如QQ) 协议:数据在线路上传输必须遵守的一定的规则 2)工作方式组成(边缘部分、核心部分) 边缘部分:所有连接在互联网上,供用户直接使用的主机组成,用来进行通信和资源共享 核心部分:大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务 3)功能组成(通信子网、资源子网) 通信子网:各种传输介质和、通信设备和相应的网络协议组成,为网络提供数据传输、交换和控制能力,实现联网的计算机间的数据通信。 资源子网:主机、终端以及各种软件资源、信息资源组成,负责全网的数据处理业务,面向网络用户提供各种网络资源与服务 注:通信子网包括物理层、数据链路层、网络层

2018-04-08

操作系统-思维导图-第一章.mmap

- 引入计算机系统的目的 1.提供一个计算机用户和与计算机硬件系统之间的接口,使计算机更易于使用 2.有效地控制和管理计算机系统中各种硬件和软件资源,使之得到更有效的利用 3.合理的组织计算系统的工作流程,以改善系统性能 ……

2018-04-08

空空如也

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

TA关注的人

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