【java基础】
天青色的烟雨.
本博客只为加深自身知识体系,不为任何商业用途呦呦呦!
展开
-
String类、StringBuilder、StringBuffer
String特点:字符串的内容是用不可变的 字符串是常量,是可以共享使用的 字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组 String类的一个最大特性是不可修改性,而导致其不可修改的原因是在String内部定义了一个char类型的常量数组,因此每次对字符串的操作实际上都会另外分配一个新的常量数组空间(这片空间位于jvm的方法区)。三种...原创 2019-06-28 22:31:19 · 236 阅读 · 0 评论 -
HTTPS原理、单向和双向认证
参考文章:https://blog.51cto.com/11883699/2160032https://www.songma.com/news/txtlist_i39807v.html众所周知,WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输目前主流的网站基本上开始默认采用H...转载 2019-04-21 22:38:26 · 555 阅读 · 0 评论 -
应用层(DNS、HTTP)
7层模型主要包括:1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。 2. 数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设...原创 2019-07-18 21:58:37 · 1431 阅读 · 0 评论 -
浅克隆和深克隆的区别与实现
什么是克隆克隆就是依据已经有的数据,创造一份新的完全一样的数据拷贝。实现克隆有多种方式,可以手工的new出一个新的对象,然后将原来的对象信息一个一个的set到新的对象中。还有就是使用clone方法。使用clone方法必须满足:对象的类实现Cloneable接口; 覆盖Object类的clone()方法 (覆盖clone()方法,访问修饰符设为public,默认是protected);...转载 2019-04-21 20:11:40 · 5080 阅读 · 3 评论 -
java序列化机制Serialize接口
概念 Java 平台允许我们在内存中创建可复用的 Java 对象,但一般情况下,只有当 JVM 处于运行时, 这些对象才可能存在,即,这些对象的生命周期不会比 JVM 的生命周期更长。但在现实应用中, 就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。 Java 对象序列化就能够帮助我们实现该功能。 序列化对象以字节数组保...原创 2019-04-21 19:37:20 · 453 阅读 · 0 评论 -
java注解
概念 Annotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据(metadata)的途径和方法。Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotation 对象,然后通过该 Annotation 对象来获取注解中的元数据信息。 注释是给人看的,注解是给程序看的,注解可以替代配置文件,java里...原创 2019-07-06 16:21:12 · 166 阅读 · 0 评论 -
反射
反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的...转载 2019-05-29 17:09:16 · 160 阅读 · 0 评论 -
异常处理
概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。 常见的异常输入输出异常:IOException 算术异常类:ArithmeticExecption 空指针异常类:N...原创 2019-07-06 15:24:34 · 175 阅读 · 0 评论 -
Lombok使用
官方介绍如下:Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/,github地址:https://github.com/rzwitserloot/lombok。Lombok使用方法 Lombok能以简单的注解...原创 2019-05-30 21:01:51 · 177 阅读 · 0 评论 -
StringUtils工具类常用方法汇总
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便。最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总结了一下,方便以后查阅,大家有兴趣也可以看一下。 首先需要说明的一点是,StringUtils类在操作字符串时,即使操作的为null值也是安全的,不会报NullPointerExc...转载 2019-06-11 17:23:36 · 524 阅读 · 0 评论 -
枚举类Enum
普通类的实例可以为无数个,枚举类的对象是有限个。所有可以用作单例模式java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么...转载 2019-06-13 16:21:52 · 139 阅读 · 0 评论 -
PrintStream和PrintWriter的区别简介
PrintStream:将基本的数据类型的数据或引用数据类型的对象格式化成字符串后再输出。使用该类不必书写转化成字符串的操作方法,可以直接输出。 PrintStream继承了FilterOutputStream.是"装饰类"的一种,所以属于字节流体系中(与PrintStream相似的流PrintWriter继承于Writer,属于字符流体系中),为其他的输出流添加功能.使它们能...转载 2019-06-20 09:27:05 · 857 阅读 · 0 评论 -
Lambda表达式
函数式接口 函数式接口在Java中是指:有且仅有一个公共抽象方法的接口。 函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。 从应用层面来讲,Java中的Lambda可以被当做是匿名内部类的“语法糖”,...原创 2019-06-28 11:48:09 · 279 阅读 · 0 评论 -
Stream流
概述 Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream的操作有两个特点:可以多个操作链接起来运行;内部迭代; 集合和流的区别:集合包含目前的所有元素,你...原创 2019-06-28 16:42:15 · 177 阅读 · 0 评论 -
Comparable、Comparator、Arrays
Comparable简介 Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过 Collections.sort或 Arrays.sort进行自动排序。此外,实现此接口的对象可以用作有序映射中的键或有序集合中的集合,无需指定比较器。该接口定义如下:package java.lang...原创 2019-06-29 10:23:53 · 266 阅读 · 0 评论 -
传输层协议TCP、UDP
UDP用户数据报协议 用户数据报协议(User Datagram Protocol,简称UDP)是一种允许在基于IP的网络中无连接地发送数据报的协议。通过使用用户数据报协议,应用程序可以非常快速地发送信息,因为既不必建立与收件人的连接,也不必等待答案。但是,不能保证数据包将到达完成,并在同一顺序它们被发送。此外,该协议不提供自己的保护,以防止第三方操纵或访问。但是,可以通过可选...原创 2019-07-19 11:22:42 · 725 阅读 · 0 评论