0%

操作系统简介

计算机操作系统的目标

  • 有效性
  • 方便性
  • 可扩充性
  • 开放性

计算机操作系统的作用

  • 是用户与计算机硬件系统之间的接口,可以使用命令行、系统调用、图形界面这三种方式来进行操作
  • 是计算机系统资源的管理者,可以进行处理机管理,用于分配和控制处理机;存储器管理,负责内存的分配与回收;IO设备管理,负责I/O设备的分配与操作;文件管理,负责文件的存取、共享和保护
  • 是计算机资源的抽象
阅读全文 »

netty简介

netty是一个异步的、基于事件驱动的网络应用框架,用来快速开发高性能、高可靠的网络IO程序,主要针对在TCP协议下,面向客户端的高并发应用,本质是一个NIO框架

三种I/O模型

目前java支持三种I/O模型,BIO、NIO、AIO

BIO

同步阻塞IO,一个连接请求对应一个线程,如果该连接没有做任何事情会造成不必要的开销,在java中就是服务端创建一个ServerSocket,然后客户端用一个Socket去连接服务端的ServerSocket,ServerSocket接收到一个连接请求就创建一个Socket和一个线程去跟客户端Socket进行通讯,客户端发送一个请求,服务端进行处理后返回响应,在响应返回前,客户端进行阻塞等待

缺点是每次一个客户端接入,都需要在服务端创建一个线程来对这个客户端进行服务

阅读全文 »

加载自定义yml配置文件

springboot默认加载的是application.yml/properties配置文件,对于自定义的properties配置文件使用@PropertySource和@ConfigurationProperties注解搭配使用也可以进行加载注入,但是properties配置文件没有yml配置文件有层次感,如果使用自定义的yml配置文件却发现springboot并没有将yml中的配置属性注入进去

这里可以自定义PropertySourceFactory来加载yml(本质就是自己解析yml配置文件,转换成Properties)

阅读全文 »

网络层简析

网络层作用是实现两个网络系统之间的数据透明传送,具体包括路由选择、拥塞控制和网际互联等,需要将源端数据包发送到接收方,在此过程中需要经过多个中间路由器,所以网络层必须知道网络拓扑结构(所有路由器和链路的集合),并从中选择出适当的路径,与主机网络层和传输层对话,主机网络层通过线缆、光纤或其他介质将数据移动到远程系统的主机网络层,然后再通过上述各层将数据逐渐上移传输到远程系统的应用层

阅读全文 »

项目监测

springboot中提供了actuator项目来进行监测和度量

基于springboot2.x版本

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

actuator中提供了多个端点来对springboot项目进行监测

可以访问http://{ip}:{port}/actuator/{endpoint} 端点来进行访问

阅读全文 »