自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程安全之原子操作

final在该对象的构造函数中设置对象的字段,当线程看到该对象时,将始终看到该对象的final字段的正确构造版本原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分(不可中断性)将整个操作视作一个整体,资源在该次操作中保持一致,这是原子性的核心特征cas操作是保证原子性的1、循环+CAS,自旋的实现让所有线程都处于高频运行,争抢c...

2019-11-24 13:47:04 189

原创 线程安全之可见性

javac:执行前编译jit编译器(just In Time Compiler)脚本语言与编译语言的区别:解释执行(重点是一条条的去执行(一条条的解释成机器语言去执行 )):即咱们说的脚本,在执行时,由语言的解释器将其一条条翻译成机器可识别的指令编译执行(整体经过解释,编译去执行):将我们编写的程序,直接翻译成机器可以识别的指令码java代码:经过javac编译变成jvm...

2019-11-23 09:20:57 128

原创 线程操作介绍

一、线程创建方式有三种创建方式直接继承Thread类 实现Runnable接口 实现Callable接口(实现的是一个异步任务)二、线程的方法sleep join yield三、类的方法wait notify notifyAll四、线程上下文当前线程使用完时间片后,就会处于就绪状态并让出cpu让其他线程占用,这就是上下文切换五、线程死锁产生死锁的条件:...

2019-11-23 07:10:41 68

原创 多线程协作

一、线程创建方式有三种创建方式直接继承Thread类 实现Runnable接口 实现Callable接口(实现的是一个异步任务)二、线程的方法sleep join yield三、类的方法wait notify notifyAll四、线程上下文当前线程使用完时间片后,就会处于就绪状态并让出cpu让其他线程占用,这就是上下文切换五、线程死锁产生死锁的条件:...

2019-11-17 17:52:48 118

原创 线程基础

一、线程状态new:一个仍未开始的线程 runnable:一个线程正在被虚拟机执行或者等待cpu去处理(就绪) blocked:等待一个监控锁 waiting:一个线程在等待状态,是因为调用了下面这些方法 Object.wait,Thread.join,LockSupport.park timed_waiting:等待超时,时间过了,就不在等待 terminated:一个线程...

2019-11-17 08:58:31 78

原创 java程序是如何运行的(基本概念介绍版)

一、从.java文件到.class文件我们在idea或者eclipse中编写的文件为.java文件,这个文件是给人看的,虚拟机和计算机都无法识别这个文件,那么如何让计算机执行这个文件呢?javac编译器将.java文件编译成.class文件 jvm将.class文件作为输入输入,按照虚拟机规范,将其解释或者编译成机器能够执行的指令从.java文件到.class文件过程是:词法分析:...

2019-11-16 17:40:53 901

原创 Runnable和Callable的区别

1、Runnable无返回值,而Callable有返回值2、Runnable的异常不可以外抛,但是Callable的异常可以外抛3、Runnable的实现类直接用Thread进行创建线程,而Callable是配对Future和FutureTask...

2019-09-20 06:45:58 84

原创 HashMap和Hashtable的区别

一、HashMap介绍1、确定hash桶的数组索引位置对key取hash: (key == null) ? 0: (h = key.hashCode()) ^ (h >>> 16); 然后计算在hash桶数组中的确定位置: h & (length-1);上图中的n指的就是hash桶数组的长度 2、HashMap的put方法按照如下代码块...

2019-09-19 23:41:24 74

原创 ==和equals的区别和抽象类和接口的区别

1、==和equals的区别区别:==是地址相等即相等,而equals是内容相等即相等 在Object中默认实现的equals方法,和==的功能一致 一般在写类的时候,会重写equals方法,重写equals方法的时候,最好重写hashcode方法,因为在hashMap中,会根据hashcode的值,确定两个类是不是相同的类2、抽象类和接口的区别含有抽象方法的类是抽象类,因此抽象类里...

2019-09-17 07:08:25 165

原创 Spring Cloud Configure(一):服务端和客户端的搭建

Spring Cloud Configure的服务端的pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2019-09-07 14:46:01 364

转载 MAC下git的使用:远程仓库的使用

1、在本地新建一个文件夹,用来存放远程仓库的代码 比如mygit2、打开文件夹 cd mygit3、在终端中执行命令git init 以创建新的git仓库4、检出仓库创建一个本地仓库的克隆版本 :git clone /path/to/repository 创建一个远端服务器上的克隆版本:git clone https://github.com/strangforgo/config...

2019-09-07 14:18:59 1215 1

原创 欢迎使用CSDN-markdown编辑器

在计算机网络(自顶向下)这本书中说被动扫描:扫描信道和侦听信标帧的过程就是被动扫描。 自己理解的被动扫描:是无线主机接收来自AP的信标帧,AP发送信标帧,无线主机接收来自AP的信标帧,然后从众多的AP中选择一个,发送关联请求帧,然后选中的AP发送关联响应帧。

2017-01-19 16:59:05 136

opnet802.11仿真

用于学习OPNET,用于学习802.11的仿真。

2016-10-24

OPNET网络仿真

2016-10-10

空空如也

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

TA关注的人

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