自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 数据结构 概述

数据结构定义 数据结构分为数据的逻辑结构和数据的存储结构 1、数据的逻辑结构:线性结构(线性表、数组、栈和队列)、非线性结构(树、图) 线性结构:数据元素之间是一种线性关系,数据之间一个接一个的排列,具有单一的前驱和后继的数据关系 非线性结构:一个数据元素可能有...

2020-01-04 16:08:38 28 0

原创 SpringBoot——对于JSON数据的返回以及处理(二)

我们在进行开发的过程的难免会进行对象的返回,比如一个用户对象User,以及一个集合list,Map等等。在这篇博客中我们就是需要学习一下怎么对一个对象中某些属性的处理。需要补充的一点就是SpringBoot采用的是JackSon进行的序列化以及反序列化,不用我们自己去进行实现,它是自动实现。我们也...

2020-05-26 09:47:18 17 0

原创 SpringBoot——对于JSON数据的返回以及处理(一)

在后台的开发过程中不可避免的就是一系列对JSON数据的返回,需要我们进行的就是提供各种各样的数据。一般情况下数据类型最常用的就是JSON以及XML,在这里我们就讲讲在SpringBoot里面我们怎样进行JSON数据的返回以及数据一些特殊情况的处理。    如下图所示,我们建立好Controlle...

2020-05-26 09:44:56 25 0

原创 集群部署的session共享问题
原力计划

随着业务量的增加,系统开始由单一部署向集群部署演化。那么问题就来了,应用集群需要有一个组件来管理请求的分发,负载均衡就来了。 上面是几款负载均衡的组件,其中最受行业主流青睐的是Nginx。但是,问题又来了,Nginx虽然优点诸多,但是却有一个问题,那就是不能存储session,所以,要想对N...

2020-05-24 15:40:40 37 0

原创 IDEA 创建包含多个module的Maven工程

一开始学习开发的时候,习惯把所有的包都写在一个模块下面,维护起来是很是麻烦,耦合性比较高。接触到企业级开发之后,发大多项目都是分模块进行开发,利于协作和维护。 本文将带领大家创建一个多mudule的Maven工程。最终效果如下: 1、在Idea中,单击file > new >...

2020-05-22 15:20:40 18 0

原创 java 枚举常见用法

用法一:常量   在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELL...

2020-05-22 10:40:02 20 0

原创 java 断言的开启和使用

一、java断言机制 java断言assert是jdk1.4引入的。 jvm断言默认是关闭的。 断言可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。 断言主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序...

2020-05-22 09:48:28 23 0

原创 java 集合类、排序和去重
原力计划

一、java集合类框架图 二、集合的特点 三、集合的排序 方法一、集合元素实现Comparable泛型接口,重写comparable方法 现有一个歌曲表单.txt,需要对其进行排序 双截棍/周杰伦 五环之歌/岳云鹏 Black/Pink Floyd/Numb Comfor...

2020-05-21 12:14:17 28 0

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

一、创建客户端 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedRe...

2020-05-20 16:45:53 68 0

原创 Socket 通信过程

使用JAVA可以进行网络编程,网络运作的底层细节已经都由java.net函数库处理掉了。 JAVA中传送与接受网络上的数据只不过是连接上使用不同的输入/输出流而已,不过首先的建立Socket,然后再根据Socket进行连接 一、建立Socket连接 二、使用BufferedRea...

2020-05-20 15:12:15 46 0

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

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

2020-05-18 10:47:43 36 0

原创 springboot 集成shiro
原力计划

一、shiro的定义 Shiro是Apache下的一个开源项目。shiro属于轻量级框架,相对于SpringSecurity简单的多,也没有SpringSecurity那么复杂。 官方架构图如下: 二、主要的功能 1、shiro主要有三大功能模块: Subject:主体,一般指用...

2020-05-17 15:53:23 37 0

原创 springboot 集成Swagger2

一、Swagger简介 Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。 Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。 Swagger 是一种通用的,和...

2020-05-16 14:16:51 28 0

原创 ThreadLocal 全面解析

一、ThreadLocal介绍 threadlocal是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据。 ThreadLocal 的作用是:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或...

2020-05-15 15:27:18 27 0

原创 java线程和线程池
原力计划

一、线程模型 线程模型分为两类,用户级线程(ULT)和内核级线程(KLT) 用户级线程(ULT):user level threads,系统内核对ULT无感知,线程的创建和调度都由用户级APP进程管理;即APP自行管理的线程,就是用户级线程 内核级线程(KLT):kernel l...

2020-05-14 17:30:38 31 0

原创 Java多线程必须掌握的11个问题

一、进程与线程?进程代表一个运行中的程序,是资源分配与调度的基本单位。进程有三大特性: 1、独立性:独立的资源,私有的地址空间,进程间互不影响。 2、动态性:进程具有生命周期。 3、并发性:多进程可以在单核CPU上并发运行。线程代表进程中的一个顺序执行流,多线程就是一个进程中的多个顺序执行流。线程...

2020-05-14 11:24:12 28 0

原创 idea翻译插件:Translation

在阅读源码注释的时候,有些英文可能看不懂,这时候就需要使用翻译插件了 一、打开settings-plugins,打开Browse repositories(如图): 二、搜索”Translation”,往下找,找到图中插件install即可(我是已经安装了的) 三、我的插件版...

2020-05-14 09:08:03 171 0

原创 Java 装箱与拆箱机制

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

2020-05-12 08:58:19 54 0

原创 Spring容器创建总结

根据源码分析,Spring容器创建过程如下: 1、Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息 ​ 1、xml注册bean ​ 2、使用注解;@Service、@Bean、@Component、... 2、Spring容器会在合适的时机创建这些Bean ​ 1、...

2020-05-11 16:17:50 32 0

原创 springboot 事务管理

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

2020-05-10 20:42:38 50 0

原创 网络安全
原力计划

一、网络安全的概述: 随着互联网的发展,对网络的依赖程度越高就越应该重视网络安全,尤其是现在,对系统攻击手段的多样化,某种特定的技术已不足以确保一个系统的安全。网络安全最基本的的要领是要有预备方案。既不是在遇到问题时才去处理,而是通过对可能发生的问题进行预测,为系统制定安全对策和日常维护。 ...

2020-05-10 09:41:57 128 0

原创 springboot AOP
原力计划

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

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

原创 应用层——协议

前言:本章将介绍关于应用层的协议,如下图所示 一、应用协议的概要 利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登陆、文件传输、网络管理等,能够让这些应用进行通信处理的正是应用协议。 网络应用由不同的用户和软件供应商开发而成。为了实现网络应用的功能,在应用之间进行通信时将...

2020-05-09 16:50:21 124 0

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

一、@Profile的作用: 可以根据当前环境,动态的激活和切换一系列组件的功能,指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册 1、加了环境标识的bean,只有这个环境被激活的时候才能注册到容器中,默认是default环境 2、加在配置类上,只有是指定的环境的时...

2020-05-09 09:59:08 71 0

原创 路由协议

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

2020-05-09 08:42:49 127 0

原创 springboot 组件注入

一 、什么是自动装配(自动注入) springboot利用依赖注入,完成对IOC容器中各个组件的依赖关系的赋值 二、springboot注入的方式 1、使用@AutoWired自动注入【Spring定义的】 1、默认按照类型去容器中找对应的组件 applicationContext...

2020-05-08 20:46:21 42 0

原创 传输层——TCP与UDP

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

2020-05-08 14:10:07 21 0

原创 NAT和NAPT 技术

一、什么是NAT NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除了转换IP地址,还出现了可以转换TCP\UDP端口号的NAPT(Network Address PortTranslator)技术 二...

2020-05-08 11:23:11 18 0

原创 DHCP 协议详解

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

2020-05-08 10:26:27 78 0

原创 ICMP协议详解

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

2020-05-08 10:07:27 45 0

原创 ARP和RARP协议

一. 什么是ARP ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。 在局域网中,网络中实际传输的是“帧”,帧里面是有...

2020-05-08 09:49:52 35 0

原创 DNS原理和解析过程

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

2020-05-08 09:01:48 69 0

原创 springboot 组件属性赋值

一、内部直接赋值 直接赋值 @Value("") 可以写@Value("#{20-5}")进行数值赋值 1、创建Dog类 package com.example.demo; import org.springframework.beans.fa...

2020-05-07 21:32:57 67 0

原创 springboot 组件的生命周期

bean的生命周期:bean创建--初始化--销毁的过程 构造(对象创建)   * 单实例:在每次容器启动的时候创建对象   * 多实例:在每次获取的时候创建对象初始化:   对象创建完成,并赋值好,调用初始化方法销毁:   单实例:容器关闭的时候   多实例:容器不会不会管理这个bean的销毁...

2020-05-07 20:42:09 28 0

原创 springboot 组件注册
原力计划

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

2020-05-07 16:20:14 76 0

原创 超网合并详解

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

2020-05-07 15:23:25 38 0

原创 子网划分详解

一,子网划分概述 1、为什么要划分子网? IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。 2、IPv4子网划分与聚合 为了解决IPv...

2020-05-07 15:14:41 22 0

原创 子网掩码详解

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

2020-05-07 14:49:12 46 0

原创 IP地址详解

一、IP地址和MAC地址 1、MAC地址 MAC(Media Access Control,介质访问控制)地址,或称为物理地址,也叫硬件地址,用来定义网络设备的位置,MAC地址是网卡出厂时设定的,是固定的(但可以通过在设备管理器中或注册表等方式修改,同一网段内的MAC地址必须唯一)。MAC地址...

2020-05-07 14:09:29 19 0

原创 Spring Boot 自动配置原理

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

2020-05-06 12:50:04 46 0

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