![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 92
HUandroid
求偶遇一个美好的未来
展开
-
java8 String、StringBuffer、StringBuilder区别
String、StringBuffer、StringBuilder各自区别StringStringBufferStringBuilder知识扩展String特性ABStringBuffer和StringBuilder 使用考量ABString的创建机理应用场景ABC各自区别StringString 是Java语言非常基础重要的类,提供了构造和管理字符串的各种基本逻辑。他是典型的Immutable(不可变)的类,被声明成为final class,代表不能被基础,且所有的属性也都是final的。也由于它原创 2020-06-11 20:23:50 · 470 阅读 · 0 评论 -
网络分层与TCP的三次握手与四次挥手
一、网络分层 网络分层就是将网络节点所要完成的数据的发送、打包或者拆包,以及控制信息的加载等工作,分别由不同的硬件或者软件模块完成。 按照不同功能和硬软件从下到上分成:1,物理层;2,数据链路层;3,网络层;4,传输层;5,应用层物理层 所谓的物理层,是指光纤、电缆或者电磁波等真实存在的物理媒介。及负责比特流在节点间的传输,即负责物理传输。...原创 2018-08-15 14:19:46 · 391 阅读 · 0 评论 -
选择排序
选择排序:遍历整个列表的元素,找出最大的(最小的),并将其添加到一个新的列表里,然后找出第二大的(第二小的)放在新列表里,知道得到一个元素相同的有序列表。原创 2018-04-17 17:08:38 · 214 阅读 · 0 评论 -
二分法查找
二分查找是一种算法,其输入是一个有序的元素列表,而且列表必须是有序的。算法原理就是每次获取列表中间元素进行比较,每次排除一半的元素。 比如100个元素使用二分查找是: 100—50—25—13—7—4—2—1 只需要查找7次 而使用简单查找时候: 1–2–3–4……96–97–98–99-100 需要查找100次 注:算法都是按照最差情况计算原创 2018-04-17 14:31:46 · 966 阅读 · 0 评论 -
Android设计模式之单例模式(防止反序列化和反射构造器)
1. 饿汉单例模式 2. 懒汉模式 3.DCL(double check lock)双层检锁模式 4.静态内部类创建单例 5. .枚举单例 **防止反序列化* **通过反射产生多个实例*原创 2018-03-16 16:43:49 · 709 阅读 · 0 评论 -
TCP协议三次握手协议
connectTimeout:指http建立通道的时间,我们知道http底层是基于TCP/IP协议的,而TCP协议有个三次握手协议,所谓三次握手简单的理解为 客户端问服务端:我要准备给你发数据了,你准备好了么 服务端向客户端回答:我准备好了,你可以发数据了 客户端回答服务端:我收到你的消息了,我要发数据了 然后巴拉巴拉一堆数据过去了。 这里就能看出来,只有这三次握手建立后,才能开始发送数据,转载 2017-12-08 11:25:13 · 364 阅读 · 0 评论 -
java内存分配
内存定义原创 2017-09-05 17:59:35 · 369 阅读 · 0 评论 -
输入和输出流
当个程序需要读取磁盘上的数据或将程序得到的数据存储到磁盘时,就可以使用输入和输出流,简称I/O流。Java的SDK提供了各式的流类,用以获取不同类别的数据。I/O流提供了一条通道的程序,可以使用这条程序读取“源”中的数据,或把数据送入到目的地。在Java的IO流库中,提供了大量的流类,其中有4个比较重要的抽象类:InputStream(字节输入流);Read(字符输出流);OutStr原创 2016-08-02 20:55:01 · 732 阅读 · 0 评论 -
java线程
java的线程一个程序从头执行到尾,是一个单一的线程!Java语言的一大特点就是内置了多线程的支持。既是可以同时执行几个执行体,按几条不同的执行线索共同工作的情况,使得编程人员能够开发出多线程功能个、能同时处理多个任务的应用程序。注:多线程执行是一种错觉,其实是cpu会分配一个时间片给线程,在该线程执行完后,又会分配时间片给其他线程,由于cpu处理速度块,时间片极短,会给人一种几个事情同时发生原创 2016-08-04 17:29:06 · 480 阅读 · 0 评论 -
异常和数组
异常:异常的分类图:Throwable是所有异常的根,java.lang.ThrowableError是错误,java.lang.ErrorException是异常,java.lang.ExceptionThrowable是所有异常类的父类,而Error类是当程序发生不可控的错误时,通常做法是通知用户并中止程序的执行。与异常不同的是Error及其子类的对象不应被原创 2016-07-21 17:03:35 · 813 阅读 · 0 评论 -
面向对象的三大特性,动态绑定,抽象,接口
面向对象有三大特性:继承,封装,多态继承:继承是一种由已有的类创建新类的机制。利用继承,可以先创建一个共有属性的一般类,根据该一般类再创建具有特性属性的新类,新类会继承一般类的状态和行为,并根据需要增加自己的新的状态和行为。由继承而得到的类是子类,被继承的类称为父类。子类可以通过关键字extends 来继承父类,从而得到父类的成员变量和方法,而不需在重新写这些代码。但是子类也可以根据自原创 2016-07-19 18:10:10 · 896 阅读 · 0 评论 -
java中递归算法和汉诺塔
java中,一个方法调用它自身,被称为方法递归。方法递归中包含了一种隐藏式的循环。它会重复执行某段代码,而且不需要循环语句控制。例如有如下数学题。已知一个数列:f(0) =1 、f(1)=4、f(n+2) =2*f(n+1) + f(n),其中n是大于0的整数,求f(10)的值。这题中函数中带有函数的计算,for循环不好写代码,就可以使用递归方法来求。程序如下上面方法fn体中,再次调用原创 2016-07-28 20:42:12 · 3253 阅读 · 2 评论 -
Java环境的搭建
学习Jave的开发的第一步就是搭建java的开发环境!以本人电脑为win10的64操作系统为例。来演示环境的搭建:第一步:需要去官网上找到对应系统的java的jdk安装包,官网地址为:www.oracle.com 找到图标Downloads进去以后找到java for Developers。点击Java(咖啡)图标下的DOWNLOADS,并找到对应的系统的安装包并下载。第二步:安装JDK(原创 2016-07-08 08:33:21 · 309 阅读 · 0 评论 -
容器和String、Date、Calendar
容器是java中附带的集合工具类。Java集合用于存储数量不等的对象,还用于保存具有映射关系的关联数组。Java集合大致可以分为Set、List、Map等体系。Java集合类主要有二个接口派生出来的:Collection和Map,其二者是java集合框架的根接口,这两个接口又包含了一些接口和实现类。如图:Collection接口是List、Set的父类口,定义了如下的基原创 2016-07-26 16:39:15 · 383 阅读 · 0 评论 -
自学练习题
问答题1,在声明类时,类名应该有哪些习惯?答:类的名字不能为关键字,符合标识符的规范,必须为大写字母开头的单词组成,多个单词的每个单词首字母都写。而且一般定义类名是最好见名知意。2,类体内容有哪二种重要的成员?答:分为:成员变量 和 方法 成员变量分为:实例变量和类变量 方法分为:构造方法和其他方法;3,实例方法可以操作类变量吗?类方法可以操作实例变量吗?答:实例方法原创 2016-07-14 14:09:05 · 877 阅读 · 0 评论 -
对面向对象的理解和this static的理解
对象理解JAVA语言是直接面向对象的语言,与以往的当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后(比如,在函数A中调用函数B,在函数B中定义变量a,变量a的作用域只是函数B,在函数B运行完以后,变量a会自动被销毁。分配给它的内存会被回收),Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用本不同是:它的设计出发点更能直接原创 2016-07-12 10:56:45 · 792 阅读 · 0 评论 -
java语法基础
JAVA语法一,static A:只要这个类被加载,java虚拟机JVM就根据类名在运行时数据区的方法区内定找到它们;固static对象可以在它的任何对象创建之前访问,无需引用任何对象B:如果不加static修饰的成员是对象成员,也就是归每个对象所有的。 加static修饰的成员是类成员,就是可以由一个类直接调用,为所有对象共有的二,数据的类型Java各数据类型有固原创 2016-07-09 11:18:35 · 459 阅读 · 0 评论