
java
文章平均质量分 86
主要介绍javase的一些内容
IT自习小空间
写好每个代码!
展开
-
Java获取本地主机的外网IP
通过Java获取本地主机的外网地址, 该实验通过网址chinaz获取。原创 2022-09-18 12:32:26 · 933 阅读 · 2 评论 -
Docker常用命令以及常用服务的安装
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。(1) 查看docker引擎中运行的容器有哪些?查看所有容器(2) 运行一个容器运行tomcat镜像运行tomcat镜像, 加上端口号映射 -p后台运行tomcat镜像 -d指定容器名称 -name(3) 停止 重启 暂停 恢复容器(原创 2022-06-12 16:08:03 · 457 阅读 · 0 评论 -
Spring Security+JWT简述
目录一. 什么是Spring Security1. 登陆校验的流程2. SpringSecurity基础案例二. Spring Security原理流程一. 什么是Spring SecuritySpring Security是Spring家族的一个安全管理框架, 相比于另一个安全框架Shiro, 它具有更丰富的功能。一般中大型项目都是使用SpringSecurity做安全框架, 而Shiro上手比较简单spring security 的核心功能:认证(你是谁): 只有你的用户名或密码正确才能原创 2022-06-03 19:01:27 · 26084 阅读 · 1 评论 -
http 协议基本格式
目录一. http是什么二. 抓包工具1. 抓包工具原理a) 抓包结果**三. http请求一. http是什么http(超文本传输协议)是应用层协议http大部分基于传输层TCP协议实现, 其中http1.0、http1.1、http2.0均为TCP, http3基于UDP实现当我们使用浏览器访问一个网页时, 首先用户向服务器发送一个http请求, 然后服务器收到这个请求会返回一个http响应数据事实上, 当我们访问一个网站时, 可能涉及不止一次的http请求/响应的交互过程二. 抓包工具下原创 2022-05-21 19:45:07 · 3748 阅读 · 0 评论 -
CSS选择器常用方法
目录一. 什么是CSS1. 引入方式2. 代码风格二. 选择器1. 基础选择器a) 标签选择器b) 类选择器c) id选择器d) 通配符选择器2. 复合选择器a) 后代选择器b) 子选择器c) 并集选择器d) 伪类选择器一. 什么是CSScss是层叠样式表(Cascading Style Sheets), 是一种用来表现HTML或XML等文件样式的计算机语言,CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。1. 引入方式内部样式表写在style标签中, 嵌入原创 2022-05-19 16:24:01 · 372 阅读 · 0 评论 -
数据链路层以太网帧概述
目录一. 以太网二. MTU一. 以太网以太网是现有局域网最常用的通信协议标准以太网链路传输的数据包称作以太帧(以太网数据帧), 在以太网中,网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。以太网帧格式目的地址和源地址是网卡的硬件地址(MAC地址), 长度为48位不同的数据请求对应不同的类型, 0800的数据是IP数据、0806代表ARP请求/响应数据、8035代表RARP请求/响应数据数据表示要交给上层的数据. 以太网帧数据长度最小为46字节, 如果不够46原创 2022-05-11 21:04:00 · 4123 阅读 · 0 评论 -
IP协议报字段
目录IP数据报IP数据报头字段IP数据报在TCP/IP协议中, 使用IP协议传输数据的包称为IP数据包TCP和IP的区别TCP: 传输控制层协议, 位于传输层, 它是一种有连接、可靠、面向字节流、基于IP的传输层协议IP: 因特网协议, 位于网络层, 它是一种无连接、不可靠、IP协议规定了数据传输时的基本单元和格式IP数据报由首部和数据部分组成, 首部的前一部分是固定的, 共20字节, 然后还有一部分是可选字段, 它的长度是可选的IP数据报头字段版本: 表示IP协议的版本, 如目前广泛使用的原创 2022-04-30 16:45:14 · 3614 阅读 · 0 评论 -
TCP协议概述
目录1. TCP协议1. TCP协议TCP(Transmission Control Protocol), 传输控制协议原创 2022-04-25 13:13:14 · 3250 阅读 · 0 评论 -
UDP报文结构和注意事项
目录UDP协议UDP协议UDP是User Datagram Protocol的简称, 中文名是用户数据包协议, 是一种无连接的传输层协议, 提供面向事务的简单不可靠信息传送服务。协议格式16位端口号: 发送数据报的应用程序所使用的UDP端口16位目的端口号: 接收端计算机上UDP数据报端口长度: UDP数据报长度, 包含UDP报文头和UDP数据长度校验值: 可以校验数据在传输过程中是否被损坏伪首部: 又叫伪包头, 指在TCP的分段或UDP的数据报格式中, 在数据报首部增加源IP地址. 目的I原创 2022-04-18 16:44:16 · 816 阅读 · 0 评论 -
简要说明网络原理
目录1. IP地址2. 端口号3. 协议4. 协议分层5. 封装和分用1. IP地址概念IP地址主要用于标识网络主机. 其他网络设备(路由器)的网络地址. IP地址用于定位主机的网络地址格式IP地址是一个32位的二进制数, 通常被分割为4个8位二进制数, 通常用"点分十进制"的方式来表示. 如:101.1.1.1特殊IP地址127.*: 本机环回测试, 通常为127.0.0.1它主要用于本机的网络通信, 如果用网络方式进行本机通信, 会降低性能我们在进行网络通信时, 已经知道了网络的IP地原创 2022-04-10 16:27:21 · 2126 阅读 · 0 评论 -
多线程--锁策略 CAS Synchronized锁优化
目录锁策略1. 乐观锁和悲观锁2. 读写锁重量级锁和轻量级锁自旋锁锁策略1. 乐观锁和悲观锁乐观锁: 对于同一个数据的并发操作, 乐观锁不认为数据发生修改, 并不会对数据进行加锁操作, 只有当提交数据更新的时候才会对数据是否产生并发冲突而进行检测.悲观锁: 在并发同步的角度, 悲观锁认为对于同一个数据的并发操作, 它会认为数据是一定会发生修改, 哪怕没有被修改, 也会认为修改.通过上面的理解, 可以看出乐观锁适合用于读操作, 悲观锁适合用于写操作. 乐观锁常常采用的是CAS算法,典型的例子就是原子原创 2022-04-01 20:54:47 · 414 阅读 · 0 评论 -
多线程--线程状态和线程安全
目录一. 线程状态二. 线程安全线程安全问题线程问题解决方法一. 线程状态线程的状态是一个枚举类型public static void main(String[] args) { for (Thread.State state : Thread.State.values()) { System.out.println(state); }}通过上述代码可以得到NEWRUNNABLEBLOCKEDWAITINGTIMED_WAITINGTERMINA原创 2022-03-26 18:48:13 · 638 阅读 · 0 评论 -
多线程--线程创建和常见方法
这里写自定义目录标题原创 2022-03-26 14:37:55 · 431 阅读 · 0 评论 -
多线程--进程调度以及进程和线程的关系
目录一. 进程和线程什么是进程什么是线程二. 线程调度一. 进程和线程进程是操作系统分配资源的单位,线程是调度的基本单位,线程之间共享进程资源什么是进程我们在电脑中使用的应用程序都有exe文件, 这个文件被称为可执行文件, 在没有被执行前它只是一个文件, 然而当我们执行这个exe文件之后 ,操作系统会把这个exe加载到内存中, 并且执行exe内部的一些指令. 程序的运行就是进程的创建, 运行到销毁的过程以下就是windows操作系统在运行的进程什么是线程线程是比进程更小的执行单位, 一个原创 2022-03-25 16:46:24 · 651 阅读 · 0 评论 -
JDBC 操作教程
JDBC (Java DataBase Connection) 为Java应用程序提供了访问数据库的编程接口目录一. JDBC架构二. 建立连接通过DriverManager获取连接通过DataSource获取连接三. JDBC组件1. 执行组件StatementPreparedStatementCallableStatement2. 结果组件ResultSet四. 事务参考文献一. JDBC架构JDBC API:提供应用程序到JDBC管理器连接。Java为连接数据库所提供的接口, JDK自带 j.原创 2022-03-19 18:20:37 · 921 阅读 · 0 评论 -
Java反射机制
反射是Java的特性之一一.获取类对象我们可以使用三种方法获取对象的类1.通过静态变量class2.通过getClass()对象的方法3.使用Class.forName(“类的全路径”)public static void main(String[] args) throws ClassNotFoundException { Class<?> aClass1 = Class.forName("com.swei.Field.Relect");原创 2022-03-14 14:27:13 · 733 阅读 · 0 评论 -
Java IO解析和操作
目录一、IO1、IO的概念2、流的概念二、四大IO抽象类1、java流的分类三、IO类1、File类一、IO1、IO的概念在程序设计过程中,输入输出(Input/Output)尤为重要。程序在运行过程中需要获取外部数据进行操作。其中外部数据可能保存在文件、数据库、网络、其他程序中等等。所以我们需要运用IO来操作外部数据。输入(Input):程序从外部系统获取数据的过程输出(Output):程序输出数据到外部数据的过程数据源(Data Source):提供数据的一端2、流的概念流是一个抽象的原创 2022-01-23 20:25:35 · 565 阅读 · 0 评论 -
数据结构-二叉树
目录一、树1、有关树的几个重要概念二、二叉树1、概念2、两种特殊的二叉树3、二叉树的性质4、二叉树的遍历一、树树是一种非线性的数据结构。它是由n(n>=0)个有限结点组成一个具有层次关系的集合。1、有关树的几个重要概念①结点的度:一个结点含有子树的个数称为该结点的度。上图A结点的度为6②树的度:一棵树中,所有结点度的最大值。上图树的度为6③叶子节点:度为0的结点④双亲结点或父结点:若一个结点含有子结点,则这个结点称为其子结点的父结点⑤孩子结点或子结点:一个结点含有父结点,则这个结原创 2022-01-22 20:41:33 · 899 阅读 · 1 评论 -
Java 集合 ArrayList、LinkedList、HashSet底层源码分析
文章目录一、ArrayList源码分析1、创建对象2、add()3、判断当前容量大小4、扩容5、赋值二、LinkedList源码分析1、创建对象2、add()三、HashSet源码分析HashMap存储结构图1、创建对象2、add()3、数据存放操作4、扩容一、ArrayList源码分析public static void main(String[] args) { ArrayList arrayList = new ArrayList(); for (int i = 0原创 2021-12-05 20:36:41 · 659 阅读 · 0 评论 -
Java集合框架和重要接口、类
文章目录一、集合框架1、接口2、实现类3、集合类图4、集合框架的好处二、重要接口1、Collection2、List3、Set4、Queue5、Map5、迭代器接口一、集合框架Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes1、接口Java Collections Framework 接口提供抽象数据类型来表示集合。java.util.Co原创 2021-12-05 15:28:10 · 2423 阅读 · 0 评论 -
Java注解 Override Deprecated SuppressWarnings
文章目录一、Override二、Deprecated三、SuppressWarnings一、Overrideinterface Ia{ void fun();}class Dog implements Ia { @Override public void fun() { System.out.println("吃骨头!"); }}@Override表示重写父类的方法,当我们想覆盖超类的一个方法时,我们应该使用这个注解来通知编译器我们正在覆盖一个原创 2021-12-04 20:10:58 · 1003 阅读 · 0 评论 -
Java 静态内部类 匿名内部类 局部内部类
文章目录一、内部类二、局部内部类三、静态嵌套类一、内部类Java 内部类是在另一个类的主体内定义的。Java 内部类可以声明为私有、公共、受保护或具有默认访问权限,而外部类只能具有公共或默认访问权限。类的五大成员:属性、方法、构造器、内部类、代码块。内部类可以直接访问该类中的私有属性。任何非静态嵌套类在 Java 中都称为内部类。Java内部类与类的对象相关联,可以访问外部类的所有变量和方法。由于内部类与实例相关联,因此我们不能在其中包含任何静态变量。java内部类的对象是外部类对象的一部分,原创 2021-12-04 19:33:27 · 502 阅读 · 0 评论 -
JavaSE 异常
文章目录一、异常概念二、异常处理关键字三、自定义异常一、异常概念异常是一种错误事件,它可能在程序执行期间发生并中断其正常流程。异常可能由不同类型的情况引起,例如用户输入的错误数据、硬件故障、网络连接故障等。每当执行 java 语句时发生任何错误,都会创建一个异常对象,然后JRE 会尝试找到一个异常处理程序来处理该异常。如果找到合适的异常处理程序,则将异常对象传递给处理程序代码以处理异常,称为捕获异常。如果未找到处理程序,则应用程序向运行时环境抛出异常并且 JRE 终止程序。Java 异常处理框架仅用原创 2021-11-25 08:22:21 · 221 阅读 · 0 评论 -
Java 字符串 String、StringBulider和StringBuffer
文章目录一、String一、String在 Java 编程中广泛使用的字符串是一个字符序列。在 Java 编程语言中,字符串是对象。通过查看String.java的源码可以知道String是被final修饰的,因此它是不能被继承的。public final class String {}创建字符串public class StringTest { public static void main(String[] args) { char[] ch = {'h','e'原创 2021-11-23 17:14:07 · 500 阅读 · 0 评论 -
Java 接口之 Comparable、Comparator和Cloneable
文章目录一、Comparable接口二、Comparator接口三、Cloneable接口一、Comparable接口接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。Arrays类中的sort方法承诺可以对对象数组进行排序,但要求满足下列前提:对象所属的类必须实现了Comparabe接口下面是Comparable接口代码public interface Comparable<T> { public int compareTo(T o);}该接口原创 2021-11-21 17:06:15 · 580 阅读 · 0 评论 -
Java特性 包 继承 多态 抽象类和接口
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、包1.1 包概念1.2 类的导入1.3 静态导入1.4 包访问权限常见的系统包二、继承2.1 继承概念2.2 覆盖方法(重写)2.3 super关键字2.4 final关键字三、多态3.1 向上转型3.2 动态绑定总结一、包1.1 包概念我们在之前基础学习java的时候有时会遇到下面这种情况.原创 2021-11-14 22:25:38 · 712 阅读 · 1 评论 -
Java类和对象
面向对象程序设计与面向过程程序设计在思维方式上存在着很大的差别,如果之前没有接触过面向对象程序设计的应用背景,那么学习面向对象这种思维刚开始并不会那么容易目录一、面向对象程序设计二、类和对象1、类2、对象3、代码分析4、成员方法/变量之间的关系一、面向对象程序设计面向对象程序设计(简称 OOP) 是当今主流的程序设计范型, 它已经取代了 20 世纪 70年代的“ 结构化” 过程化程序设计开发技术。 Java 是完全面向对象的, 必须熟悉 OOP 才能够编写 Java 程序。面向对象与面向过程的比.原创 2021-10-31 20:05:16 · 179 阅读 · 0 评论 -
Java -- 类的内存分析
在学习Java的时候,我们或许理解不了面向对象的这种思想系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了.原创 2021-10-25 22:13:59 · 925 阅读 · 1 评论 -
JavaSE -- 数据类型+运算符
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录一、IDEA安装和使用二、数据类型和变量、常量1.数据类型2.变量3.常量二、使用步骤1.引入库2.读入数据总结一、IDEA安装和使用一般我们使用java语言需要安装IDEA软件1.IDEA软件的安装IDEA官网2.IDEA软件的使用打开IDEA软件我们会看到如原创 2021-10-16 22:40:58 · 201 阅读 · 0 评论 -
JavaSE -- 初识java
Java 语言源于 1991 年 Sun 公司 James Gosling 领导的的 Oak 项目,1995 年 Sun 公司正式起名为Java,并提出“Write once, Run anywhere" 的口号。文章目录前言一、java环境的配置二、"Write once, Run anywhere"什么意思?三、初识java程序1.main函数2.数据类型前言Java是最好的语言么?不是,因为在每个领域都有更合适的编程语言。C 语言无疑是现代计算机软件编程语言的王者,几乎所有的操作系.原创 2021-10-11 13:13:51 · 352 阅读 · 0 评论