TA的博客

157

概述本文参考《Java并发编程的艺术》一书,温故而知新,加深对基础的理解。一、指令序列的重排序我们在编写代码的时候,通常自上而下编写,那么希望执行的顺序,理论上也是逐步串行执行,但是为了提高性能,编译器和处理器常常会对指令做重排序。从Java源码到最终实际的指令,需要经过三个阶段的重排序:1)编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。2)指令级并行...

Annotation中文译过来就是注解、标释的意思,在Java中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。我们经常可以看到一些文章对注解的解释如下:Java注解用于为Java代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java注解是从Java5开始添加到Java的。这段对于注解(Annotation)的解释确实正确,但是...

一、网络中进程之间如何通信进程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如:UNIXBSD有:管道(pipe)、命名管道(namedpipe)软中断信号(signal)UNIXsystemV有:消息(message)、共享存储区(sharedmemory)和信号量(semapho...

一、TCP首部结构详解TCP数据封装在一个IP数据报中,下图是TCP报文数据格式。TCP首部如果不计选项和填充字段,它通常是20个字节。其中比较重要的字段:(0)源端口和目的端口:各自占用2字节,16位,可以表示的最大端口号是2^16=65535,这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。有时一个IP地址和一个端口号也称为socket(插口)(1)序列号se...

一、代理代理是英文Proxy翻译过来的。我们在生活中见到过的最常见的代理大概就是顾客和商家的关系了按理说,顾客可以直接从厂家购买产品,但是现实生活中,很少有这样的销售模式。一般都是厂家委托给代理商进行销售,顾客跟代理商打交道,而不直接与产品实际生产者进行关联。所以,代理就有一种中间人的味道。接下来,我们说说软件中的代理模式。二、代理模式代理模式是面向对象中比较常见的一种设计模式了。这是代理模...

1、配置示例1要求:在浏览器地址栏中输入www.123.com,跳转到Linux服务器中的tomcat主页面声明:本次实验在我电脑的Linux虚拟机上进行,Linux系统信息如下:图1实验系统信息1.1准备工作(1)安装nginx(参考:Nginx快速入门—基本概念以及在Linux上安装Nginx(2)启动一个tomcat(注意:在启动之前一定要配置好Java环境变量,参考:记一次在云服务器...

一、OAuth2简介OAuth是目前最流行的授权机制,用来授权第三方应用,获取用户数据。OAuth在全世界已经得到广泛应用,目前的版本是2.0版。简单说,OAuth就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。因此令牌(token)与密码(password)的作用是一样的,都可以...

一、sort命令sort命令对指定的文件中的行排序,并将结果写到标准输出。如果指定多个文件,那么sort命令将这些文件连接起来,并当作一个文件进行排序。1、sort命令语法:常用可选OPTION:选项参数作用-f忽略大小写的差异,例如A与a视为相同-b忽略最前面的空格符部分-M以月份的名字来排序,例如JAN,DEC等等的排序方法-n使用『纯数字』进行排序(默认是以文字型态来排序的)-r反向排...

Linux哲学思想中有一条就是Linux下一切皆文件。因此当我们操作Linux的时候,本质是在操作各种文件。因此掌握文本编辑的命令也是至关重要的,Linux提供了很多的文本编辑命令,以及被称为Linux"三剑客“的grep、sed和awk命令。一、cat命令cat命令(concatenate(连接、连续)的简写)用于连接文件并打印到标准输出设备上,也可以把几个文件内容附加到另一个文...

Shell除了有输入/输出重定向的功能,还可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了一种特殊的文件称为管道(pipe)。Linux中管道分为两种:匿名管道和命名管道一、匿名管道我们常见的管道符|它是一个匿名管道,只能用于具有亲缘关系的进程之间,这是它与命名管道的最大区别。命名管道叫namedpipe或者FI...