Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出一个对象: InetAddress类可以通过InetAddress类的静态方法获得InetAddress的对象: InetAddress.getLocalHost();//获取本地对象 InetAddress.getByName("");//获取指定名称对象 主要方法使用: //获取本机的…
一.InetAddress类 标识网络上的硬件资源 package com.homework; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Arrays; //获取InetAddress类 public class TestInetAddress { public static void main(String[] args) throws UnknownHostExcep…
我的博客园:https://www.cnblogs.com/chenzhenhong/p/13825286.html 我的CSDN博客:https://blog.csdn.net/Charzous/article/details/109016215 目录 一.前言:认识UDP 二.UDP的特点(与TCP相比) 三.UDP网络Socket编程(Java实现) 1.创建客户端 2.客户端图形界面 3.创建服务器端 四.服务器端和客户端完整代码 五.效果展示 六.总结 一.前言:认识UDP UDP,全…
前提 在深入理解URL.URI等概念,或者学些Socket相关的知识之,有必要系统理解一下Internet相关的一些基础知识. Internet地址 连接到Internet(因特网)的设备称为节点(node),而任意一个计算机节点称为主机(host).每个节点或者主机都由至少一个唯一的数来标识,这称为Internet地址或者IP地址. IP和域名 如果使用Java作为开发语言的话,不需要担心IP或者域名的工作原理,但是我们需要理解IP寻址的一些基础知识.我们目前常用的网络都是IPv4网络,每个计…
以下内容引用自http://wiki.jikexueyuan.com/project/java/networking.html: 术语网络编程指编写跨多种设备(电脑)执行的,设备使用一个网络互相连接的程序. J2SE API的java.net包包含了一个类的集合和提供底层通信细节的接口,允许编写专注解决即将到来的问题的程序. java.net包为两种常用的网络协议提供支持: TCP:TCP代表传输控制协议,允许两个应用程序间的可靠通信.TCP通常在因特网协议上被使用,这被称为TCP/IP. UD…
一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机. 而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的. 目前较为流行的网络编程模型是客户机/服务器(C/S)结构.即通信双方一方作为服务器等待客户提出请求并予以响应.客户则…
目录 一:socket编程 1.简介 2.参数说明: 3.socket套接字方法 4.socket编程思路: 二:socket套接字编程 1.socket简易版编程 2.通信循环 三:通信循环及代码优化 四:粘包现象 1.什么是粘包? 2.为什么会有粘包与半包? 3.如何解决粘包以及半包问题? 4.报头 5.TCP特性 5.为什么会发生粘包和拆包的TCP反而被称为可靠的连接与传输? 五:struct模块 1.struct用法 2.简易版本报头 六:防优酷项目(视频传输) 一:socket编程 1…
Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hold住这堆东西了. 常用的类 表示类 java.util.Date :能够准确记录到毫秒级别的时间表示类,但是其中的各种get set(修改时间或者获取时间中某一个特殊参数)都已经被废弃. java.sql.Date :为数据库提供的日期类,继承自util包中的Date,但是这个类只能够操作日期,不能…
最近耗时多天,成功的将RT3070驱动.并解决了socket的网络编程,成功的在BA9G10上面实现了USB wif.连上家里的无线路由器,通过ubuntu下面建立的服务端程序,将BA9G10中的数据成功读取到PC机上面了.其过程的艰辛和曲折说起来是满眼血泪史啊.下面将记录其中解决问题的大致过程.     最开始设计方案时,为了整体的方便.我借用了外面开发板的文件系统.本来是为了偷懒的,不知道最后我为这件事情付出了沉重的代价.开始在编译RT3070驱动时,我直接将别人的文件系统加载到BA9G10…
一.前述. Hbase shell启动命令窗口,然后再Hbase shell中对应的api命令如下. 二.说明 Hbase shell中删除键是空格+Ctrl键. 三.代码 1.封装所有的API package com.sxt.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; impor…
1,Java中Collection和Collections的差别 java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作的通用接口方法. Collection接口在Java 类库中有非常多详细的实现.Collection接口的意义是为各种详细的集合提供了最大化的统一操作方式. java.util.Collections 是一个包装类.它包括有各种有关集合操作的静态多态方法. 此类不能实例化.就像一个工具类,服务于Java的Collection框架. 2,List…
[参考文章]:Java文件路径(getResource) [参考文章]:关于java:如何获取正在运行的JAR文件的路径? [参考文章]:关于Class.getResource和ClassLoader.getResource的路径问题 [参考文章]:java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别 [参考文章]:关于System.getProperty("user.dir")的研究 1. 代码示例 // 当前 jar…
Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表是节点数小于6. 原因:红黑树的平均查找长度是log(n),长度是8时,平均查找长度是3,链表的平均查找长度是8/4=2,存在转换的必要:当链表的长度小于6,平均查找长度是小于3,速度与树效率类似,转化需要时间等因此不会生成树.…
通过前面的笔记我们可以知道:一个客户端要想发起一次通信,先决条件就是需要知道运行在服务端程序的主机的IP地址是多少,端口号是多少.然后我们才能够通过这个地址向服务器特定的应用程序发送信息.对于网络上的两台计算机来说,用户操作的计算机称为本地主机,与该计算机通信的另一台计算机称为远程主机.识别远程主机依靠两部分组成:一是主机标识,用于识别与本地主机通信的远程主机:二是端口号,用于识别是再和远程主机中的哪个进程通信. 阅读目录: 1.获取主机地址信息 2.获取网卡信息和网络检测 2.1 获取网卡信息…
[转自:https://www.cnblogs.com/IPrograming/archive/2012/10/11/CSharp_Socket_2.html] 一个客户端想要发起一次通信,先决条件就是需要知道运行着服务器端程序的主机的IP地址是多少,端口号是多少.然后我们才能够通过这个地址向服务器特定的应用程序发送信息.对于网络上的两台计算机来说,用户操作的计算机称为本地主机,与该计算机通信的另一台计算机称为远程主机.识别远程主机依靠两部分组成:一是主机标识,用于识别与本地主机通信的远程主机:…
概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向对象的核心思想就是用合适的对象去做合适的事情.什么是合适的对象呢?一种是自己根据需要创建的类而生成的对象,另一种是sun官方描述的好多常用的类,我们使用这些类创建的对象,这也就是API的概念. sun定义的那么多类的终极父类是Objec类.Object描述的是所有类的通用属性与方法. 所以,API的…
protected Object clone()创建并返回此对象的一个副本. String     toString()返回该对象的字符串表示. boolean equals(Object obj)指示其他某个对象是否与此对象“相等”. (不是值相等,而是是不是指向同一块内存空间) int        hashCode()返回该对象的哈希码值. 与垃圾回收相关 protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法. 与反射相…
Timer和TimerTask JDK自带,具体的定时任务由TimerTask指定,定时任务的执行调度由Timer设定.Timer和TimerTask均在包java.util里实现. 本文基于java version "1.8.0_191"展开分析学习. TimerTask负责实现指定的任务 创建一个TimerTask实例. /** * Creates a new timer task. */ protected TimerTask() { } 抽象方法,实现具体的任务 /** * T…
前两节中分别介绍了Object和String,这一节主要介绍StringBuffer和StringBuilder. StringBuffer 由于String是不可变的,所以导致String对象泛滥,在频繁改变字符串对象的应用中,需要使用可变的字符串缓冲区类. StringBuffer有如下特点: · 默认缓冲区的容量是16. · StringBuffer : 线程安全的所有的缓冲区操作方法都是同步的.效率很低. 1. 添加方法 StringBuffer("jack") 在创建对象的时…
本文参考了 <关于ArrayList的5道面试题 > 1.ArrayList的大小是如何自动增加的? 这个问题我想曾经debug过并且查看过arraylist源码的人都有印象,它的过程是:当试图在一个arraylist中增加一个对象时,Java会去检查arraylist,确保已存在的数组中有足够的容量(默认是10),如果没有足够的容量,那么就会新建一个长度更长(是原来数组长度的1.5倍)的数组,旧的数组就会使用Arrays.copyOf()方法被复制到新的数组中. 来看源代码: /** * A…
这个说的api即python自动化测试中经常会使用到的一些api,具体如下: 1.find_element_by_id/find_elements_by_id 定位元素api,使用方法如下: driver.find_element_by_id('digit8') 2.find_element_by_name 定位元素api,使用方法如下: driver.find_element_by_name(') 3.find_element_by_accessibility_id 定位元素api,使用方法如…
三种方式: 1.JVM启动时加参数设置代理 在系统启动时,使用-D项来设置代理. 例如: java -Dhttp.ProxyHost="proxyUrl" -Dhttp.ProxyPort="proxyPort" "java项目" 代理的作用域:整个系统 2.代码中设置系统参数 其中,代理类型有http.https.socks等,代理属性有: proxyHost(代理的IP或域名): proxyPort(代理的端口号): proxyUser(用户…
原文地址:http://blog.csdn.net/chuyuqing/article/details/19629229 在对<Set和hashCode()>的一篇原创文章写完后,由于对自己的一些论断产生了模糊和怀疑,因此又对Set进行了一些研究,形成本篇. 在Set的使用场景中,我们不外乎看中了她存储数据的唯一性,即不能存储重复值,这在某些应用场合下是很必要的一个特性.那么从更深一层来考虑,Set究竟如何使数据不重复的呢?从另一个层面来考虑,她又如何确保在验证数据是否重复过程中的快速性呢?假…
在TensorFlow中封装好了一个高级库,tf.contrib.layers库封装了很多的函数,使用这个高级库来开发将会提高效率,卷积函数使用tf.contrib.layers.conv2d,池化函数使用tf.contrib.layers.max_pool2d和tf.contrib.layers.avg_pool2d,全连接函数使用 tf.contrib.layers.fully_connected,下面来看里面封装好的函数接口: 以最复杂的卷积为例,其他的几个函数与之类似: layers.c…
流量转发和桥接 Kubernetes的核心是依靠Netfilter内核模块来设置低级别的集群IP负载均衡.需要两个关键的模块:IP转发和桥接 IP转发(IP Forward) IP forward 是一种内核态设置,允许将一个接口的流量转发到另外一个接口,该配置是 Linux 内核将流量从容器路由到外部所必须的. 查看 sysctl net.ipv4.ip_forward # 0意味着未开启 设置 sysctl -w net.ipv4.ip_forward=1 echo net.ipv4.ip_…
前面说三篇文章分别介绍了Object.String.字符缓冲类的API,接下来我们简要介绍一下其他常用的API. 1.System System类用于获取各种系统信息,最为常用的是: System.out.println(); 学过Java肯定就会知道,这时一条简单的输出语句. 下面这张图片就是System的一般用法: 2.RunTime Runtime的一些具体方法的简介如下: exit() 退出Java虚拟机 long freeMemory() 获取可用的内存数 gc() 调用垃圾回收程序…
在第一节中我们介绍了Object类的方法以及操作,那么这一节,我们将介绍一个新的类:String. String类是我们经常使用的类,应用十分广泛.同时,String类中封装了一系列的方法,非常常用,接下来我们就一一介绍. String String类描述的是文本字符串序列. 一般我们使用String类的时候,都是直接赋值,代码如下: String name = "luck"; 还有另外一种使用String类的方法,那就是new一个String对象,代码如下: String name…
1.JVM内存模型 •程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有. •Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有. •本地方法栈:和虚拟栈类似,不过它服务于本地方法,线程私有. •Java堆:Java内存中最大的一块,所有对象的实例,数组都存放在Java堆,GC回收的地方,线程共享. •方法区:存放已被加载的类信息,常量,静态变量,即时编译器编译后的代码数据等.(即永久带),回收目标主要是常量池的回收和类型的卸载,各线程…
1:判断字符串中是否包含某个字符(字符串): startsWith(): 这个方法有两个变体并测试如果一个字符串开头的指定索引指定的前缀或在默认情况下从字符串开始位置 此方法定义的语法如下: public boolean startsWith(String prefix, int toffset) or public boolean startsWith(String prefix) prefix – 要匹配的前缀.这里是参数的细节: toffset – 从哪里开始寻找字符串. 返回值为true…
String方法来介绍 两种声明: 1.String str="1";这种首先检查常量池中是否已经有该常量字符串"1" 如果有的话,不会创建新的常量字符串,若有,将共享. 2.String str = new Stirng("1");这一句话做两个操作:首先查看字符 串常量池中是不是存在这个常量,如果存在的话返回地址,若不存在的话 就会创建再返回地址.然后,在在堆地址中创建一个常量的副本. 常用的String的"获取类"方法:…