(4)在Linux下,线程是最小的执行单位,进程是最小的分配资源单位。...---- 线程属性 linux下线程属性是可以根据实际项目需要进行设置。 之前我们讨论的都是线程的默认属性,默认属性已经可以解决大部分线程开发时的需求。...这种效应成为”虚假唤醒”(spurious wakeup) Linux帮助里面有 为什么不去修正,性价比不高嘛。
fork调用一次返回两次 父进程中返回子进程id (就是大于0的意思) 子进程返回0 读时共享写时复制,可保高效
文章目录 Linux下的文件 文件描述符 文件I/O操作 打开/创建文件 关闭文件 读取/写入文件 文件指针偏移 测试代码示例 ---- Linux下的文件 引用一句经典的话:“UNIX下一切皆文件...文件描述符 在Linux下用文件描述符来表示普通文件和设备文件。文件描述符是一个整型的数据,所有对文件的操作都通过文件描述符完成。...在Linux系统中有三个已经被分配的文件描述符,分别是: 0 STDIN_FILENO 标准输入流 1 STDOUT_FILENO 标准输出流 2 STDERR_FILENO 标准错误流 这三个文件描述符和它们各自的功能是绑死的...---- 文件I/O操作 打开/创建文件 在Linux下,用open函数可以用来打开或创建一个文件: #include #include #include
下载go语言包,go1.9.2.linux-amd64.tar.gz https://www.golangtc.com/download 2....解压安装 [root@localhost local]# pwd /usr/local [root@localhost local]# tar -xzvf go1.9.2.linux-amd64.tar.gz...测试 [root@localhost go]# go [root@localhost go]# go version go version go1.9.2 linux/amd64 [root@
: AF_INET:用来产生IPV4 - socket 的协议,使用TCP或UDP来传输,用IPV4的地址 AF_INET6:和上面的差不多,这个是IPV6的 AF_UNIX:本地协议,用在Unix和Linux...level指定控制套接字的层次.可以取三种值: 1)SOL_SOCKET:通用套接字选项. 2)IPPROTO_IP:IP选项. 3)IPPROTO_TCP:TCP选项 以linux 2.6内核为例(在不同的平台上...Linux通过这一值来排列网络队列。 这个值在0到6之间(包括0和6),由option_value指定。赋给sock->sk->sk_priority。...在Linux中,缓冲区内的最小字节数是固定的,为1。即将sock->sk->sk_rcvlowat固定赋值为1。 SO_RCVTIMEO,设置接收超时时间。
此时,我心想,我一个Java后端,又不是运维,问我这个干嘛? 当然,我还是有一定的反思的,毕竟我也经常和Linux打交道。经过总结,形成此文,以供查阅,也是和大家分享一下。...行全部替换忽略大小写 :%s/str1/str2/gi 全文替换 :0,$s/str1/str2/gi 全文替换 末行模式下其他命令 :3,5d 删除第3到5行 :$-1d 删除倒数第2行 grep 正则表达式 Linux...查询指定包安装的帮助文件 rpm -q --scripts PACKAGE_NAME 查询指定包中包含的脚本 rpm -qf /path/to/somefile 查询文件是由哪个rpm包安装生成的 2. yum Linux
《操作系统精髓与设计原理 第8版》:时间不足章节选看 Linux 好嘞,到这里真正开始进入到Linux后端开发了。...先学习Linux知识,毫无疑问两本书UNP和APUE: APUE -- 《UNIX环境高级编程》 重点章节:3,4,5,7,8,10,11,12。...整个书只看 TCP/UDP 但有个难题,这两本书太厚了,对于初学者不友好,自己的方法是: 先看上面列举出的重点章节,其余章节用到了再看 配合视频:我自己看的是黑马Linux全套视频[5] 及 Linux...后端 如果上面都已经看完,则表示后端开发已经具备基础,下面可以开始学习服务器开发了: 《Linux高性能服务器编程》 开源项目-《Muduo》[7]及Muduo讲解视频[8] 游双老师的《Linux高性能服务器编程...后端进阶 RPC 如果到此,你还使时间充足,想要冲刺核心部门,那么可以学习RPC的相关知识。
Stevens 99年因病去世(享年48岁,1951年生),身后给我们留下了七本书,按时间逆序是:
epoll接口是为解决Linux内核处理大量文件描述符而提出的方案。该接口属于Linux下多路I/O复用接口中select/poll的增强。...其经常应用于Linux下高并发服务型程序,特别是在大量并发连接中只有少部分连接处于活跃下的情况 (通常是这种情况),在该情况下能显著的提高程序的CPU利用率。...---- epoll的设计思路 (1)epoll在Linux内核中构建了一个文件系统,该文件系统采用红黑树来构建,红黑树在增加和删除上面的效率极高,因此是epoll高效的原因之一。
[Unix] Linux: Linux是一套免费使用和自由传播的类Unix操作系统.Linux存在着许多不同的Linux版本,但它们都使用了 Linux内核 。...严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。...[Linux] 二 初探Linux 2.1 Linux简介 我们上面已经介绍到了Linux,我们这里只强调三点。...类Unix系统: Linux是一种自由、开放源码的类似Unix的操作系统 Linux内核: 严格来说,Linux这个词本身只表示Linux内核 Linux之父: 一个编程领域的传奇式人物。...Linux发行版本有很多种(ubuntu和CentOS用的都很多,初学建议选择CentOS),如下图所示: [Linux发行版本] 三 Linux文件系统概览 3.1 Linux文件系统简介 在Linux
后端程序员不管在什么公司,基本上都是以下三种情况中的一种: 开发加自主运维:公司没有专门的项目运维人员,后端程序员既做开发,又做运维; 开发加协助运维:公司有专门的项目运维人员,后端程序员以开发为主,日常协助运维...针对这种情况如果作为一个后端程序员不会 Linux 命令那基本上是无法胜任工作的,虽说常用的简单的命令大家可能都知道,但是当真正遇到线上问题的时候,往往时间就是金钱,能最早定位到问题就能最快的进行止血降低损失...,所以对于 Linux 命令是越熟悉越好,掌握的越多越好。...当然这里说的只是方式的差别,但是对应具体的问题排查方式和命令使用技巧,大家都是一样的,毕竟大厂的服务也是跑在类 Linux 上的,所以 Linux 的命令也还是完全适用的。...总结 总的来说就是,作为一个后端程序员,不管是在小公司还是大公司,除了会写后端代码之外,我们还需要掌握 Linux 的常用命令和服务器的相关知识,才能更好地发展。好了话不多说,下面是福利时间。
原文链接:https://mp.weixin.qq.com/s/5SwQMIJ6Amv4m_8cIOaw3Q 前后端分离 回顾一下自己学JavaWeb的历程:...这里压根就不需要JSP了(纯HTML+AJAX),这算是前后端分离的一种了 在开发上体验:如果完全使用HTML+AJAX的话,会发现其实需要写非常非常多的JavaScript代码,而且这些JavaScript...…流下不学无术的泪水 目前我了解到的前后端分离,首先部署是分离的(至少不会跟Java绑定在一起部署): ? 前端和Java部署机器分离 Java接口只返回JSON数据: ?...如果请求是调用后端服务,则经过Nginx转发到后端服务器,完成响应后经Nginx返回到浏览器。...URL请求统一分发到Node Server,在Node Server中根据请求类型从后端服务器上通过RPC服务请求页面的模板数据,然后进行页面的组装和渲染; API请求则直接转发到后端服务器,完成响应
随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情。正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精。...SPA 式的前后端分离,从物理层做区分(认为只要是客户端的就是前端,服务器端就是后端)这种分法已经无法满足前后端分离的需求,我们认为从职责上划分才能满足目前的使用场景: 前端负责 view 和 controller...如果controller层在后端手里,后端为了这些不同端页面展示逻辑,自己维护这些controller,模版无法重用,徒增和前端沟通端成本。...如果产品经理中途想要改动界面什么的,可以由前端自己专职维护,后端无需操心。前后端各司其职,后端专注自己的业务逻辑开发,前端专注产品效果开发。...前后端模板统一在无线领域很有用,PC页面和WIFI场景下的页面适合前端渲染(后端数据Ajax到前端),2G、3G弱网络环境适合后端渲染(数据随页面吐给前端),所以同样的模板,在不同的条件下走不同的渲染渠道
也不知道换个角度理解对不对,现在对于后端的设计已经从原来的荒漠阶段发展到了绿洲阶段,后台的设计已经一片繁荣了,所以前端的机会就多很多,出现一片繁荣的景象了。...这是Github上fork最多的项目,有大火的神经网络项目,第2名就是bootstrap了,再往下看React,从这个火热来看似乎已经超过了第10名的Linux了,当然这么而看还是片面的。 ?
装好这些之后,就用同事给的已经有的项目,将代码用svn插件导出到Eclipse中,然后更新下载maven库,pom.xml中的文件很多,用了一个上午的时间才下载...
grep [stringSTRING] filename grep [^string] filename 问题十七: Linux 中进程有哪几种状态?...问题三十八: 如果一个linux新手想要知道当前系统支持的所有命令的列表,他需要怎么做? 答案: 使用命令compgen -c,可以打印出所有支持的命令列表。...答案: 使用linux命令 ’disown -r ’可以将所有正在运行的进程移除。 问题四十一: bash shell 中的hash 命令有什么作用?...答案: linux命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所使用过的命令以及执行的次数。...答案: 数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的 问题四十五: 怎样查看一个linux命令的概要与用法?
1 java开发后端框架 java从推出到现在技术不断发展,语言也优化的越来越好,对于java工程师来说技术的不断发展,他们需要不断学习java进阶,而对于新手来说就能从基础到核心。...下面小编给大家说说java开发后端框架,希望能对你有些帮助。
什么是前端什么是后端?前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。多数后端开发人员从事于构建工作应用程序背后的实际逻辑。前后端需要相互配合,共同完成一个项目。...二、什么是后端? 1、后端概念:多数后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。...后端开发人员所需的一个重要技能与SQL和数据库有关。大多数后端系统需要连接到存储应用程序数据的数据库。...后端开发人员需要更多地了解应用程序架构,因为大多数情况下,后端开发人员需要去构建应用程序的体系结构和内部设计。...,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
简单分享一下jeeplus框架部署liunx服务器跨域问题 ,因为我这个是前后端服务器分离所以配置了俩份 java后端配置 1.跨域后端配置nginx(图-1) 上配置 server {...listen 80; server_name xxx.xx.xxx; #后端服务域名 #charset koi8-r; #access_log...上图 配置类 位置在:package com.jeeplus.modules.sys.security.shiro.JWTFilter; ===>最后一个方法preHandle 好啦,就这么简单;后端跨域就解决啦...location ^~ /userfiles { proxy_pass http://xxx.xx.xxx.xx:xx/userfiles; #后端...ip proxy_set_header Host xxx.xx.xxx.xx; #后端ip proxy_set_header X-Real-IP
做的项目中需要将后端提供的数据展示在前端页面,一开始我是用JS的setInterval()方法,设置一个时间,每过时间发起一次ajax请求。...虽然也能凑活着实现,但总感觉数据不是实时刷新的,而且还占用资源,所以学习WebSocke,并总结了一下,以下是本人总结的前后端WebSocke相关代码: ---- 一、后端: 1.pom.xml添加WebSocke...接收到消息的回调方法 websocket.onmessage = function (event) { let data = event.data; console.log("后端传递的数据...:" + data); //将后端传递的数据渲染至页面 $("#online").html(data); }; //连接关闭的回调方法
领取专属 10元无门槛券
手把手带您无忧上云