自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 java 枚举常见用法

用法一:常量  在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW ​​​​​​​ } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。package com;p...

2020-05-22 10:40:02 340

原创 java 断言的开启和使用

一、java断言机制java断言assert是jdk1.4引入的。 jvm断言默认是关闭的。 断言可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。 断言主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。 断言一般用于程序执行结构的判断,千万不要让断言处理业务流程。二、判断idea是否开启了断言public static void main(String args[]) { .

2020-05-22 09:48:28 2468

原创 Java排序之Comparable和Comparator接口的区别

一、java集合类框架图二、集合的特点三、集合的排序方法一、集合元素实现Comparable泛型接口,重写comparable方法现有一个歌曲表单.txt,需要对其进行排序双截棍/周杰伦五环之歌/岳云鹏Black/PinkFloyd/NumbComfortable/Van HalenBreath/Kiss1、先创建歌名实体类,public class Song implements Comparable<Song>{ String

2020-05-21 12:14:17 1231

原创 Java 编写一个简单的客户端和服务端聊天室

一、创建客户端import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java

2020-05-20 16:45:53 5413 3

原创 Socket 通信过程

使用JAVA可以进行网络编程,网络运作的底层细节已经都由java.net函数库处理掉了。JAVA中传送与接受网络上的数据只不过是连接上使用不同的输入/输出流而已,不过首先的建立Socket,然后再根据Socket进行连接一、建立Socket连接二、使用BufferedReader从Socket上读取数据1、建立对服务器的socket连接Socket socket = new Socket("127.0.0.1",5000);2、建立连接到到Socket上的输入串流 ..

2020-05-20 15:12:15 567

原创 JAVA —— 向上转型、向下转型

父子对象之间的转换分为了向上转型和向下转型,它们区别如下:向上转型: 通过子类对象(小范围)实例化父类对象(大范围),这种属于自动转换 向下转型: 通过父类对象(大范围)实例化子类对象(小范围),这种属于强制转换1. 向上转型class A { public void print() { System.out.println("A:print"); }}class B extends A { ...

2020-05-18 10:47:43 279

原创 springboot 集成shiro

一、shiro的定义Shiro是Apache下的一个开源项目。shiro属于轻量级框架,相对于SpringSecurity简单的多,也没有SpringSecurity那么复杂。官方架构图如下:二、主要的功能1、shiro主要有三大功能模块:Subject:主体,一般指用户。 SecurityManager:安全管理器,管理所有Subject,可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet) Realms:用于进行权限信息的验证,一般需.

2020-05-17 15:53:23 406

原创 springboot 集成Swagger2

一、Swagger简介Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。Swagger 是一种通用的,和编程语言无关的 API 描述规范。二、应用场景如果你的 RESTful API 接口都开发完成了,你可以用 Swagger-editor 来编写 API 文档( yaml 文件 或 json 文件),.

2020-05-16 14:16:51 501

原创 线程本地变量 ThreadLocal

一、ThreadLocal介绍threadlocal是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据。ThreadLocal 的作用是:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度。总结:1. 线程并发: 在多线程并发的场景下2. 传递数据: 我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量3. 线程隔离: 每个线程的变量都是独

2020-05-15 15:27:18 505

原创 IDEA 实用插件

在阅读源码注释的时候,有些英文可能看不懂,这时候就需要使用翻译插件了一、打开settings-plugins,打开Browse repositories(如图):二、搜索”Translation”,往下找,找到图中插件install即可(我是已经安装了的)三、我的插件版本现在是支持谷歌、有道、百度三种翻译,其中有道和百度的需要填写应用id及secret等才能用,这个需要到有道智云(百度的没有试过)申请。直接用谷歌免费版四、使用很简单:选中单词或者段落ctrl+s...

2020-05-14 09:08:03 14728 3

原创 Java 装箱与拆箱机制

java有8种基本类型,在Java中,一切都以对象作为基础,但是基本类型并不是对象,如果想以对象的方式使用这8中基本类型,可以将它们转换为对应的包装类型。基本类型和包装类型的对int(4字节) Integer byte(1字节) Byte short(2字节) Short long(8字节) Long float(4字节) Float double(8字节) Double char(2字节) Character ...

2020-05-12 08:58:19 262

原创 Spring IOC容器

根据源码分析,Spring容器创建过程如下:1、Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息​ 1、xml注册bean​ 2、使用注解;@Service、@Bean、@Component、...2、Spring容器会在合适的时机创建这些Bean​ 1、用到这个bean的时候,利用getBean方法创建bean,创建好以后保存在容器中​ 2、统一创建剩下所有bean的时候,即finishBeanFactoryInitialize...

2020-05-11 16:17:50 162

原创 [事务] 事务的回滚机制

一、事务管理的意义:在service类或所有service方法都加上事务操作;用来保证一致性,即service方法里的多个dao操作,要么同时成功,要么同时失败,保证了事务的原子性二、springboot配置事务管理的步骤1、导入相关依赖 数据源、数据库、SpringJdbc模块 <dependency> <groupId>org.springframework</groupId> &l.

2020-05-10 20:42:38 11454

原创 网络安全

一、网络安全的概述:随着互联网的发展,对网络的依赖程度越高就越应该重视网络安全,尤其是现在,对系统攻击手段的多样化,某种特定的技术已不足以确保一个系统的安全。网络安全最基本的的要领是要有预备方案。既不是在遇到问题时才去处理,而是通过对可能发生的问题进行预测,为系统制定安全对策和日常维护。二、网络安全技术1、网络防护技术(1)、防火墙当组织内部的网络与互联网连接时,为了避免受到非法访问的威胁,往往会设置防火墙如下图所示,这是一个设置防火墙的例子。图中,对路由器设置了只向其发送特定.

2020-05-10 09:41:57 2597

原创 springboot AOP

一、什么是AOP:AOP又称动态代理,指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程模式二、AOP示例代码第一步、导入AOP相应的依赖 <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects --> <dependency> <groupId>org.springframework</gr.

2020-05-09 20:43:16 358 3

原创 应用层——协议

前言:本章将介绍关于应用层的协议,如下图所示一、应用协议的概要利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登陆、文件传输、网络管理等,能够让这些应用进行通信处理的正是应用协议。网络应用由不同的用户和软件供应商开发而成。为了实现网络应用的功能,在应用之间进行通信时将其连接的网络协议是非常重要的。设计师和开发人员根据所开发模块的功能,可以利用现有的应用协议,也可以自己定义一个新的应用协议。应用协议可以直接享用传输层以下的基础部分。因为开发和只要关心选用那种应用协议、如何开.

2020-05-09 16:50:21 10376

原创 springboot 根据当前环境动态的激活和切换

一、@Profile的作用:可以根据当前环境,动态的激活和切换一系列组件的功能,指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册1、加了环境标识的bean,只有这个环境被激活的时候才能注册到容器中,默认是default环境2、加在配置类上,只有是指定的环境的时候,整个配置类里面的所有配置才能生效3、没有标注环境标识的bean在任何环境下都加载二、通过命令行参数设置虚拟机环境,并指定@Profile1、创建一个实体类public class Boo.

2020-05-09 09:59:08 1209

原创 路由协议

路由协议的意义:在互联网的世界中,夹杂着复杂的LAN和WAN,然而再复杂的网络结构,也需要通过合理的路由将数据发送到目标主机,而决定这个路由的正是路由控制模块和实现路由控制模块的相关协议一、路由控制的定义1、IP地址与路由控制互联网是路由器连接的网络组合而成。为了让数据包正确达到目标主机,路由器必须正确的转发,这种向正确的方向转发数据所进行的处理叫做路由控制或路由。路由器根据路由控制表转发数据包,它根据所接收到数据包中目标主机的IP地址与路由控制表...

2020-05-09 08:42:49 903

原创 传输层——TCP与UDP

一、传输层的定义当电脑进行网络通信时,光有IP和MAC地址是不够的,因为IP将信息发送到对方主机的位置,但是并不知到由那个端口上的应用程序来接受和处理信息,所以我们还需要知道对方应用程序的端口号,这样才能完成一次真正的通信。下图可以看出端口号的管理和连接控制都属于TCP协议的内容。这也就是传输层的作用二、UDP协议UDP协议全称是用户数据报协议,在网络中它与TCP协议...

2020-05-08 14:10:07 1147

原创 NAT和NAPT 技术

一、什么是NATNAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除了转换IP地址,还出现了可以转换TCP\UDP端口号的NAPT(Network Address PortTranslator)技术二、NAT的工作机制如下图所示,以10.0.0.10的主机与163.221.120.9的主机通信...

2020-05-08 11:23:11 1122

原创 DHCP 协议详解

一、什么是DHCP协议试想一下逐一为每一个电脑设置IP地址是一件非常繁琐的事情。特别是移动笔记本,每到一个地方都要重新设置IP地址,于是,为了实现自动设置IP地址、统一管理IP地址,就产生了DHCP协议,有了它计算机只要连接到网络,就会自动被分配一个IP地址。二、DHCP自动分配IP地址的过程DHCP运行分为四个基本过程,分别为发现阶段、提供IP、选择IP租约和确认IP租...

2020-05-08 10:26:27 3420

原创 ICMP协议详解

一、什么是ICMP协议详解ICMP协议是一个网络层协议。一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议。二、ICMP协议的功能ICMP协议的功能主要有:1. 确认IP包是否成功到达目标地址2. 通知在发送过程...

2020-05-08 10:07:27 19104

原创 ARP和RARP协议

一. 什么是ARPARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。...

2020-05-08 09:49:52 11228

原创 DNS原理和解析过程

1、DNS系统的简介:DNS是一套从域名到IP的映射系统。TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆。于是人们发明了一种叫主机名的东西是一个字符串,并且使用hosts文件来描述主机名和IP地址的关系。 用户可以简单的输入主机名xxxx,这样就可以简单的得到主机名和IP地址的映射关系,它存储在hosts文件中。最初通过互连网信息中心(SRI-...

2020-05-08 09:01:48 1272

原创 springboot 组件注册

本文介绍的方法比较简洁,需要有Spring基础方法一:包扫描+注解1.配置类,标明注解扫描的范围//告诉Spring这是一个配置类@Configuration//注解所扫描的范围,类似于spring配置文件的 context:component-scan@ComponentScan(value="com.java")public class MainConfig { ...

2020-05-07 16:20:14 429

转载 超网合并详解

一、超网的概念超网(Supernetting)是与子网类似的概念,IP地址根据子网掩码被分为独立的网络地址和主机地址。超网,也称无类别域间路由选择(CIDR),它是集合多个同类互联网地址的一种方法。与子网划分(把大网络分成若干小网络)相反,它是把一些小网络组合成一个大网络,就是超网。二、超网合并网段1、合并网段示例:某企业有一个网段,该网段有200台主机,使用192.16...

2020-05-07 15:23:25 1750

转载 子网划分详解

一,子网划分概述1、为什么要划分子网?IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。2、IPv4子网划分与聚合为了解决IPv4的不足,提高网络划分的灵活性,诞生了两种非常重要的技术,那就是VLSM(可变长子网掩码)和CIDR(...

2020-05-07 15:14:41 3195 1

转载 子网掩码详解

一、子网掩码IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。1、子网掩码的概念及作用①、子网掩码(Subnet Mask)又叫网络掩码、地址掩码,必须结合IP地址一起对应使用。②、只有通过子网掩码...

2020-05-07 14:49:12 126114 13

原创 IP地址详解

一、IP地址和MAC地址1、MAC地址MAC(Media Access Control,介质访问控制)地址,或称为物理地址,也叫硬件地址,用来定义网络设备的位置,MAC地址是网卡出厂时设定的,是固定的(但可以通过在设备管理器中或注册表等方式修改,同一网段内的MAC地址必须唯一)。MAC地址采用十六进制数表示,长度是6个字节(48位),分为前24位和后24位。1、前24位叫做组织唯一标...

2020-05-07 14:09:29 666

原创 Spring Boot 自动配置原理

Spring Boot的出现,得益于“习惯优于配置”的理念,没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成),这是基于Spring 4.x提供的按条件配置Bean的能力。自动配置原理作为Spring Boot的精髓,深入的理解Spring Boot的自动配置原理,在工作中将无往不利。一、Spring Boot的配置文件初识Spring Boot时我们就知道,Spring ...

2020-05-06 12:50:04 348

原创 Java文件编译与反编译:javac命令和javap命令

1.创建一个Test.java文件,并输入内容public class Test{ private int m; public int inc(){ return m + 1; }}2.使用javac命令编译Test.java文件,得到Test.class文件javac Test.java 3.使用Sublime3打开Test.clas...

2020-05-06 10:08:00 673

原创 Java注解详解

Java Annotation是JDK5.0引入的一种注释机制。第1部分 Annotation架构从中,我们可以看出:(01) 1个Annotation 和 1个RetentionPolicy关联。 可以理解为:每1个Annotation对象,都会有唯一的RetentionPolicy属性。(02) 1个Annotation 和 1~n个Element...

2020-05-05 17:27:47 814

原创 网络的硬件构成

序言:互联网的目的是为了达到资源共享,使在不同网络上的用户可以相互访问达到信息资源共享的目的。搭建一个网络环境一般不能简单地直接连接,这其中涉及到了多种电缆和网络设备,在此简单说一下计算机的硬件设备。目录一、通信媒介&数据链路二、网卡三、中继器&集线器四、网桥&交换机五、路由器六、网关一、通信媒介&数据链路计算机之间需要通过电缆互...

2020-05-05 09:50:03 3466

原创 Web的攻击技术

序言:互联网上的攻击大都将 Web 站点作为目标。本章讲解具体有哪些攻击 Web 站点的手段,以及攻击会造成怎样的影响

2020-05-04 10:42:24 1343

原创 构建Web内容的技术

序言:在 Web 刚出现时,我们只能浏览那些页面样式简单的内容。如今,Web 使用各种各样的技术,来呈现丰富多彩的内容。这里面也运用了很多构建Web内容的技术一、Web页面几乎全由 HTML 构建HTML(HyperText Markup Language,超文本标记语言)是为了发送Web 上的超文本(Hypertext)而开发的标记语言。平时我们浏览的 Web 页面几乎全是...

2020-05-04 10:32:49 290

原创 基于HTTP的功能追加协议

一、HTTP 的瓶颈 :一条连接上只可发送一个请求。 请求只能从客户端开始。客户端不可以接收除响应以外的指令。 请求 / 响应首部未经压缩就发送。首部信息越多延迟越大。 发送冗长的首部。每次互相发送相同的首部造成的浪费较多虽然HTTP协议既简单又简捷,但随着时代的发展,其功能使用上的疲态已经凸显。本章我们将讲解基于HTTP新增的功能的协议。二、Ajax、Comet和SPD...

2020-05-04 09:12:56 387

原创 确认访问用户身份的认证

某些 Web 页面只想让特定的人浏览,或者干脆仅本人可见。为达到这个目标,必不可少的就是认证功能。下面我们一起来学习一下认证机制。 一、何为认证计算机本身无法判断坐在显示器前的使用者的身份。进一步说,也无法确认网络的那头究竟有谁。为了弄清究竟是谁在访问服务 器,就得让对方的客户端自报家门。核对的信息通常是指以下这些。密码:只有本人才会知道的字符串信息。 动态令牌:仅限本人持有...

2020-05-03 15:58:17 1784

原创 确保Web安全的HTTPS

一、HTTP的缺点到目前为止,我们已经介绍完HTTP,它具有相当优秀和方便的一面,但它也有不足之处,HTTP 主要有这些不足,例举如下。 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改除此之外,HTTP 本身还有很多缺点。而且,还有像某些特定的 Web 服务器和特定的 Web 浏览器在实际应用中存在的不足...

2020-05-03 15:35:49 391

原创 与HTTP协作的Web服务器

一、用单台虚拟主机实现多个域名一台Web服务器可以搭建多个独立域名到Web网站,也可以作为通信路径上的中转服务器提升传输效率。HTTP/1.1允许一台HTTP服务器搭建多个Web站点。这是利用了Virtual Host功能,即时物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假想已具有多台服务器。 如果一台服务器(同一个IP地址)内托管了两个域名,当收到请求时就需要弄清楚究竟要访...

2020-05-03 14:26:54 190

原创 HTTP报文

一、HTTP报文的结构用于HTTP协议交互的信息,称为HTTP报文。客户端的HTTP报文称为请求报文,服务端的称为响应报文。HTTP报文结构如下图:下面是请求报文的一个实例:请求行:包含用于请求的方法,请求URI和HTTP版本 状态行:表明响应结果的状态码 首部字段:包含请求和响应的各种条件和属性 其他:包含cookie等二、请求行与状态行(它们都标记有HTT...

2020-05-03 11:48:29 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除