accept

Linux(四)__javaee开发环境的搭建

£可爱£侵袭症+ 提交于 2020-02-29 19:38:50
一、VMware tools 通过VMware tools来实现主机和VM共享文件, 详细介绍 记得 重启 就能实现本机和虚拟机之间复制粘贴文件。 二、搭建java环境: 一般linux都会预装openjdk,先将其卸载。 1.下载dk-8u5-linux-x64.tar.gz文件,tar.gz格式只是一个压缩包,因此只要使用解压到相应路径就可以了 2.以root身份打开并编辑profile文件 vi /etc/profile 3.设置环境变量 JAVA_HOME=/home/xiangkejin/software/jdk1.8.0_05 JRE_HOME=$JAVA_HOME/jre PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH export JAVA_HOME JRE_HOME PATH CLASSPATH 4.使环境变量立即生效,输入命令:source /etc/profile 5.检验是否安装成功 输入命令:java #检测jdk bin环境 接着输入:javac #检测jdk classpath环境 参考文章 可是现在还是有 问题 : 每次进入系统都要输入source

5-共享内存

巧了我就是萌 提交于 2020-02-28 12:44:05
1. 套接字超时 1.1 accept/read/write超时 如何设置accept()函数等待连接时的超时时长? 答: accept() 函数本身会一直阻塞到有连接请求而无法计时,因此可以设置由内核监听连接并计时。即由 select()/epoll()/poll() 函数来计时。 如何设置read()/write()的等待时长? 答: read() 函数要一直监测缓冲区中有数据才能解除阻塞读数据,因此可以同 accept() 函数一样,由内核监测。而 write() 函数要一直监测缓冲区未满才能解除阻塞写数据,因此也可以由内核检测。 //1.设置监听时间 fd_set rdset ; FD_ZERO ( & rdset ) ; FD_SET ( fd , & rdset ) ; struct timeval timeout = { 10 , 0 } ; //2.设置为内核检测 int ret = select ( fd + 1 , & rdset , % rdset , NULL , & timeout ) ; if ( ret == 0 ) //若无描述符变化 { //监测超时 } else if ( ret > 0 ) //若有变化 { //accept则接受链接 struct sockaddr addr ; int len = sizeof ( addr ) ; int

如何关闭防火墙

折月煮酒 提交于 2020-02-28 07:15:59
一、window上 services.msc 找到Windows Firewall 右键关闭就可以啦 先禁用,再停止 二、linux上 刚安装linux系统后,可能会发生apache不能访问,mysql不能远程链接,ssh不能远程登陆,ftp不能链接上等问题,种种现象的发生和防火墙的配置都有一些直接原因。若是需要对linux防火墙设置需要什么命令吗? 不过因为是新手,未必就能马上把防火墙学通。所以,对于初学者最好的方法是先关闭防火墙,等日后学了防火墙的配置规则后再去配置。 linux防火墙设置命令:   1、永久性生效,重启后不会复原:   开启: chkconfig iptables on   关闭: chkconfig iptables off   2、即时生效,重启后复原:这个需要配置系统服务。   开启: service iptables start   关闭: service iptables stop    注: 需要说明的是对于linux下的其它服务都可以用以上命令执行开启和关闭操作。    也可以做简单的修改, 在开启了防火墙时,做如下设置,开启相关端口,修改/etc/sysconfig/iptables 文件,添加以下内容: -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j

http报文解析

五迷三道 提交于 2020-02-27 11:45:35
http报文结构 报文首部 起始行 请求报文的起始行: 方法(method) request-URL version(http协议版本) 响应报文的起始行 HTTP响应码 请求头 通用首部 请求首部 响应首部 内容首部 拓展首部 空行 报文主体(body) http请求过程 1.建立TCP连接 2.浏览器向服务器发送请求命令 3.web服务器应答 4.Web服务器关闭TCP连接 记录的比较散乱,这篇文章的思路写的很清晰,可以看这篇: http报文详解------klguang http报文结构 http报文主要包含三大部分 报文首部 空行 主体(body) http报文例子: GET / HTTP/1.1 Host: www.enjoytoday.cn Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Referer: http:/

Java8 Lambda表达式(二)System.out::println与Lambda表达式

吃可爱长大的小学妹 提交于 2020-02-25 22:16:51
1 System.out::println在哪里出现 在Java中,执行System.out.println("hello world");会在控制台打印“hello world”;而在Java8引入了Lambda表达式这一新特性后,是可能出现System.out::println这样的代码的,比如下面这段代码。 public class TestPrint { public static void main(String[] args) { // 创建一个Integer类型的List集合,并添加6个元素 List<Integer> numList = new ArrayList<>(); Collections.addAll(numList, 1, 2, 3, 4, 5, 6); // 遍历numList,并依次打印其中的元素 numList.forEach(System.out::println); } } 在这段代码中就将System.out::println作为了numList.forEach的参数,执行的结果后是在控制台依次打印了numList中的六个元素。 2 为什么会有System.out::println Lambda表达式是一个匿名函数,换句话说,Lambda表达式表达了一个被实现的接口,这个接口中只有一个抽象方法

使用SAP API portal进行SAP SuccessFactors的API测试

天大地大妈咪最大 提交于 2020-02-18 11:15:51
登录api.sap.com, 根据关键字SuccessFactors找到对应的API目录: 找到foundation/Platform级别的API,进入之后, 选择User Management: 点击Logon,以使用API控制台自带的控制功能: 点击Try Out, 就可以像使用postman一样,使用这个API控制台自带的测试功能了: $filter string里可以测试这个OData API的filter操作: 从测试结果可以发现,firstName为Sami的user,在这个sandbox系统里的user ID为50004: 点击Show API Key,拿到一个API key,这样就能在该API控制台以外的地方调用API. 点击Code Snipet,可以把自动生成的API调用代码复制下来,直接粘贴到应用里使用。 点击Curl,获得使用工具curl进行测试的命令行: curl --request GET --url “https://sandbox.api.sap.com/successfactors/odata/v2/User” --header “APIKey: e9ZLBOfexchhHN” --header “Accept: application/json” --header “Content-Type: application/json” curl -

2.1.2 BIO阻塞式网络编程

孤者浪人 提交于 2020-02-16 12:20:30
BIO - 阻塞IO的含义 阻塞(blocking) IO: 资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超时)。 非阻塞(non-blocking) IO: 资源不可用时,IO请求离开返回,返回数据标识资源不可用。 同步(synchronous) IO: 应用阻塞在发送或接收数据的状态,直到数据成功传输或返回失败。 异步(asynchronous) IO: 应用发送或接收数据后立刻返回,实际处理是异步执行的。 阻塞和非阻塞是获取资源的方法 , 同步/异步是程序如何处理资源的逻辑设计 。 代码中使用的API: ServerSocket#accept 、 InputStream#read 都是阻塞的API。操作系统底层API中,默认Socket操作都是 Blocking 型, send/recv 等接口都是阻塞的。 带来的问题:阻塞导致在处理网络I/O时,一个线程只能处理一个网络连接。 一个简单的BIOclient public class BIOclient { public static void main ( String [ ] args ) throws IOException { Socket socket = new Socket ( "localhost" , 8080 ) ; OutputStream outputStream = socket .

访问者模式

。_饼干妹妹 提交于 2020-02-15 16:13:50
个人博客 http://www.milovetingting.cn 访问者模式 模式介绍 访问者模式是一种将数据操作与数据结构分离的设计模式,它是《设计模式》中23种设计模式最复杂的一个,但它的使用频率不高。 访问者模式的基本思想是,软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有accept方法用来接受访问者对象的访问。访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中不同类型的元素作出不同的处理。在对象结构的一次访问过程中,我们遍历整个对象结构,对每一个对象都实施accept方法,在每一个元素的accept方法中会调用访问者的visit方法,从而使访问者得以处理对象结构的每一个元素,我们可以针对对象结构设计不同的访问者类来完成不同的操作,达到区别对待的效果。 模式定义 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 使用场景 对象结构比较稳定,但经常需要在此对象结构上定义新的操作。 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免这些操作污染这些对象的类,也不希望在增加新操作时修改这些类。 简单使用 定义Staff public abstract class Staff { public String name; public int kpi;

分布式---Paxos算法

左心房为你撑大大i 提交于 2020-02-15 09:04:32
5.Paxos   Paxos算法解决的问题是 一个分布式系统如何就某个值(决议)达成一致 。一个典型的场景就是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。Paxos算法就是一种 基于消息传递模型的一致性算法 。 主要有三类节点: 提议者 (Proposer):提议一个值; 接受者 (Acceptor):对每个提议进行投票; 告知者 (Learner):被告知投票的结果,不参与投票。 执行过程   规定一个提议包含两个字段: [n,v] ,其中 n为序号 (具有唯一性), v为提议值 。 1.Prepare阶段   下图演示了两个proposer和三个acceptor的系中运行该算法的初始过程, 每个proposer都会向所有的acceptor发送prepare请求 。   当acceptor接受到一个prepare请求,包含的提议为[n1,v1],并且之前还未接受过prepare请求,那么 发送一个prepare响应 ,设置当前接受到的提议为[n1,v1],并且 保证以后不会接受序号小于n1的提议 。   如下图,Acceptor X 在收到 [n=2, v=8] 的 Prepare 请求时

C#设计模式——访问者模式(Visitor Pattern)

元气小坏坏 提交于 2020-02-14 12:34:16
一、概述 由于需求的改变,某些类常常需要增加新的功能,但由于种种原因这些类层次必须保持稳定,不允许开发人员随意修改。对此,访问者模式可以在不更改类层次结构的前提下透明的为各个类动态添加新的功能。 二、访问者模式 访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。其结构图如下: Visitor为每一个ConcreteElement声明一个Visitor操作。 ConcreteVisitor实现了Visitor声明的操作,其定义的行为就是需要动态添加到ConcreteElement中的新功能。 Element定义一个以Visitor为参数的Accept操作。 ConcreteElement实现Accept操作。 ObjectStructure能枚举它的元素,可以提供一个高层接口以允许访问者访问它的元素。 访问者模式通过双重分派(double dispatch)的方法来透明的为各个类添加新的功能,第一重分派是指Accept方法的多态,第二重分派是指Visit方法的多态。 访问者模式的主要缺点在于增添新的Element子类的时候会导致Visitor类发生改变,而且随着Element子类的增加,Visitor类会越来越庞大。 三、示例 我们看一下访问者模式的简单应用。 首先定义一个公司的员工管理系统的基本员工类