前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是java.util.concurrent包的核心,没有volatile就没有这么多的并发类给我们使用。 本文详细解读一下volatile关键字如何保证变量在多线程之间的可见性,在此之前,有必要讲解一下CPU缓存的相关知识, ...
分类:
其他好文 时间:
2020-04-14 00:42:53
阅读次数:
74
优化项1、关闭selinux、关闭firewalld(centos7)/iptables(centos6)2、修改字符集3、精简开机启动项4、修改最大文件描述符5、修改yum源及安装常用工具6、优化系统内核7、优化ssh登录速度8、禁用ctrl+alt+del重启9、设置时间同步10、history优化1、关闭selinux、关闭防火墙a/关闭selinux[root@gitlab~]#sed-i
分类:
其他好文 时间:
2020-04-13 15:32:36
阅读次数:
84
select 是一个 I/O复用模型 select 函数主要调用步骤 1. 设置文件描述符 2. 设置检查范围 3. 设置超时 4. 调用 select 函数 5. 调用结果 fd_set 的一些操作都由以下宏完成 FD_SET(fd, fdsetp) 设置文件描述符 FD_CLR(fd, fdse ...
分类:
系统相关 时间:
2020-04-10 13:30:25
阅读次数:
75
1. select (能监控数量有限,不能告诉用户程序具体哪个连接有数据) 1. select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点 2. select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024 3. select监控socket ...
分类:
其他好文 时间:
2020-04-09 09:12:10
阅读次数:
70
HTTP协议中POST、GET、HEAD、PUT等请求方法 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELET ...
分类:
Web程序 时间:
2020-04-07 18:23:19
阅读次数:
89
写过很多 bash 脚本的人都知道,bash 的坑不是一般的多。 其实 bash 本身并不是一个很严谨的语言,但是很多时候也不得不用。以下总结了一些鹅厂程序员在编写可靠 bash 脚本的一些小 tips。 0. set -x -e -u -o pipefail 在写脚本时,在一开始(Shebang ...
分类:
其他好文 时间:
2020-04-07 09:35:51
阅读次数:
93
https://mp.weixin.qq.com/s/EhUb1z5oiIw6dJ-90ifDJA 简单介绍TLDebugModule中的实现。 1. device device是一个设备描述符,包含了设备的各种信息: 2. dmOuter dmOuter是一个TLDebugModuleOuterA ...
分类:
其他好文 时间:
2020-04-06 00:21:21
阅读次数:
72
程序是一些保存在磁盘上的指令的有序集合,是静态的。进程是程序执行的过程,包括了动态创建、调度和消亡的整个过程,它是程序资源管理的最小单位。线程是操作操作系统能够进行运算调度的最小单位 ps -ef strace:跟踪进程内部的系统调用和信号1)启动新的进程:strace python sdf.py2 ...
分类:
其他好文 时间:
2020-04-05 18:53:46
阅读次数:
75
fd_set 使用数组实现,在内核中默认实现是 16个大小,但是他是long类型,每个元素64位,所以 16*64 =1024 个,select的瓶颈也就是1024个连接 所以遍历出来的对应数组就可以拿到文件描述符 epoll create 用来生成一个树的根节点、 epoll ctl ...
分类:
其他好文 时间:
2020-04-05 15:08:55
阅读次数:
66
问题1:oracle中监听程序当前无法识别连接描述符中请求服务 解决方法1: 查看oracle的服务是否开启,计算机->管理->服务和应用程序->服务,如下图 解决方法2: 找到oracle安装路径下的listener.ora, 本人在D:\Windows\app\product\11.2.0\db ...
分类:
其他好文 时间:
2020-04-03 00:56:23
阅读次数:
94