自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot的配置 和 日志文件

properties是以key=value的形式配置的键值类型的配置文件,而yml使用的是类似json格式的树形配置方式进行配置的,yml层级之间使用换行缩进的方式配置,key和value之间使用“”英文冒号加空格的方式设置,并且空格不可省略。properties为早期并且默认的配置文件格式,但其配置存在一定的冗余数据,使用yml可以很好的解决数据冗余的问题。......

2022-07-28 11:43:05 2848

原创 Spring Boot

我们之前了解过了Spring,我们知道Spring的诞生是为了简化Java程序的开发。而SpringBoot则是为了简化Spring程序开发。层层递进的关系。一、Spring Boot的优点二、Spring Boot的创建使用Spring Assistant插件,但是目前有问题,只能使用更复杂的方式创建。......

2022-07-28 10:59:10 539

原创 Spring的读取和存储对象

首先要明确的是这一步是非常重要的。只有被配置的包下的所有类,添加了注解才能被正确的识别并保存到Spring中。想要将对象存储在Spring中,有两种@Bean我们还要认识的是方法注解@Bean这块要注意的是如果我们单单使用Bean注解的话,要想获取Bean对象中的值,我们会发现获取不到。......

2022-07-20 12:18:29 554

原创 【EE进阶】Spring

1.学习框架相当于从“小作坊”到“工厂”的升级,小作坊什么都要自己做,工厂是组件式装配,特点就是高效。2.框架更加易用、简单且高效第三方框架使用也越来越多,几乎所有的java项目都会使用的基础框架,叫做javaee框架;.基于这些框架,对比之前的servlet、jdbc,灵活性,易用性,扩展性有很大提升。使用框架,主要要学习更多的注解;框架代码执行流程/顺序,与servlet相似,需要根据约定,先执行某个符合约定的类中哪个符合约定的方法,然后再执行其他哪个。......

2022-07-18 18:59:54 229

原创 JVM相关的知识点

当这块内存需要进行垃圾回收时,会将此区域还存活着的对象复制到另一块上面,然后再把已经使用过的内存区域一次清除掉。内存泄漏线程生命周期太长,导致始终只用一些不常使用的数据(这些数据gc无法正常回收),随着时间越来越长,最终导致OOM;概念遵循双亲委派机制的类加载,类加载不直接加载,认识委派给父类的加载器,以此类推,达到从上到下加载的方式。某个线程,调用方法,创建方法栈帧,入栈,如果栈中的栈帧超过jvm规定的数量,就会报这个异常。对象进入那个区域,哪个区域内存不足,哪个区域就触发该区域的gc。......

2022-07-16 12:48:32 311

原创 总结 HTTPS 的加密流程

总结 HTTPS 的加密流程

2022-06-26 19:16:48 581

原创 HTTP 协议的基本格式和 fiddler 的用法

HTTP 协议的基本格式和 fiddler 的用法1. 使用Chrome开发者工具来进行抓包,观察我们的HTTP协议。2. 使用Fiddler进行抓包

2022-06-26 18:45:46 208

原创 UDP 的报文结构和注意事项

UDP 的报文结构和注意事项

2022-06-26 16:51:50 455

转载 从输入URL到展示出页面“ 这个过程发生了什么

从输入URL到展示出页面" 这个过程发生了什么

2022-06-26 16:45:25 120

原创 TCP协议相关特性

1.确认应答机制(安全机制)2.超时重传机制(安全机制)3.连接管理机制(安全机制)4.滑动窗口(效率机制)5.流量控制(安全机制)6拥塞控制(安全机制)7.延迟应答(效率机制)8.捎带应答(效率机制)9.粘包问题---UDP和TCP的区别?以特点为基础。--- 基于传输层UDP协议,设计一个可靠是数据传输。或者,基于传输层UDP协议,设计一个可靠是数据传输--- 啥样的场景中适合使用TCP,啥用的场景中适合使用UDP?......

2022-06-26 16:10:52 888

原创 File 和 InputStream, OutputStream 的用法

File 和 InputStream, OutputStream 的用法文件路径分为 绝对路径 和 相对路径 两种。

2022-06-22 17:27:26 1703

原创 【概念】锁策略, cas 和 synchronized 优化过程

一 . 常见的锁策略1. 乐观锁和悲观锁2. 读写锁3. 重量级锁 vs 轻量级锁4 自旋锁5.公平锁 vs 非公平锁6 可重入锁 vs 不可重入锁二、CAS1. 实现原理2.CAS 有哪些应用1) 实现原子类2) 实现自旋锁3 CAS 的 ABA 问题三、Synchronized 原理基本特点优化过程:1. 锁消除2. 锁粗化

2022-05-25 14:13:11 339

原创 网络中的一些基本概念

1. IP地址IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。格式IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110。通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6特殊IP127.*的IP地址用于本机环回(loop back)测试,通常

2022-05-18 16:15:07 323

原创 线程安全问题的原因和解决方案

如果多线程环境下代码运行的结果是符合我们预期的,即在单线程环境应该的结果,则说这个程序是线程安全的。线程安全问题的原因1. 修改共享数据static class Counter {public int count = 0;void increase() {count++;}}public static void main(String[] args) throws InterruptedException {final Counter counter =...

2022-05-18 15:56:32 212

原创 wait和sleep有什么区别

wait和sleep的概念:sleep:他是让我们的线程休眠一段时间,在等待是时间结束后继续执行当前线程。public class ThreadDemo {public static void main(String[] args) throws InterruptedException {System.out.println(System.currentTimeMillis());Thread.sleep(3 * 1000);System.out.prin...

2022-05-18 15:24:54 284

原创 线程池的执行流程和拒绝策略

1. 线程池的执行流程当任务来了之后,线程池的执行流程是:先判断当前线程数是否大于核心线程数?如果结果为 false,则新建线程并执行任务;如果结果为 true,则判断任务队列是否已满?如果结果为 false,则把任务添加到任务队列中等待线程执行,否则则判断当前线程数量是否超过最大线程数?如果结果为 false,则新建线程执行此任务,否则将执行线程池的拒绝策略。2 线程池的拒绝策略当任务过多且线程池的任务队列已满时,此时就会执行线程池的拒绝策略,线程池的拒绝策略默认有以下 4 种: Abo

2022-05-18 15:10:07 672

原创 【JavaEE】java线程的几种状态

【JavaEE】java线程的几种状态我们先来看看Java线程状态的一幅图:1. New状态:初始状态,即安排了工作, 还未开始行动;2. Runnable状态:运行状态,这面还包含了就绪,运行等状态;3. Waiting状态:等待状态,就是在等待运行;4. Time_Waiting状态:超时等待,就是在等待运行;5. Blocked状态:阻塞状态,就是在等待运行;6. Terminated状态:终止状态。工作完成了。...

2022-05-02 14:43:50 429

原创 【JavaEE】Thread 类的基本用法

【JavaEE】Thread 类的基本用法1. 线程创建2. 线程中断3. 线程等待4. 线程休眠5. 获取线程实例

2022-05-02 13:57:47 239

原创 【JavaEE】进程和线程的区别与联系

线程我们在前文已经解释过了,那什么又是线程,线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。我们可以看出进程包含线程,那么他两有什么叙.

2022-05-01 21:11:53 278

原创 【JavaEE初阶】进程调度的过程

什么是进程调度?进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。那么我们先来看看进程的一个状态----》当计算机系统处于就绪状态的用户进程数多于CPU数时,就会产生多个进程或线程同时竞争CPU的结果。假设现在只有一个CPU可用,那么操作系统就必须选择下

2022-05-01 20:53:57 598

转载 逆波兰表达式

逆波兰表达式后缀表达式

2022-04-18 15:31:07 268

原创 栈和对列 stack和queue

栈会队列 和 环形队列

2022-04-18 14:42:06 131

原创 LinkedList 和 链表

LinkedList 和 链表我们之前已经学习了ArrayList,我们知道ArrayList是通过数组来储存元素的。所以,在我们使用他来插入删除链表的时候,时间复杂度达到了O(n),效率很低,所以ArrayList不适合于插入删除操作,因此,java又引入了一种新型的结构-------LinledList。LinkedList常用的方法ArrayList和LinkedList的区别

2022-04-18 11:08:37 626

原创 扑克牌 和 杨辉三角(ArrayList)

扑克牌 和 杨辉三角(ArrayList)

2022-04-13 16:24:18 270

原创 自己实现一个MyArrayList

自己实现一个MyArrayList

2022-04-13 15:29:43 215

原创 ArrayList 和 顺序表

ArrayList 和 顺序表 ArrayList的使用1.ArrayList的构造2. ArrayList常见的方法3. ArrayList的遍历ArrayList的扩容机制

2022-04-13 14:37:00 763

原创 Java中的泛型

泛型 通配符包装类(Wrapper Class)装箱和拆箱

2022-03-30 09:30:00 319

原创 final,finally,finalize 的区别

final,finally,finalize 的区别final 用于声明 属性(属性不可交变)、方法(方法不可覆盖)、类(类不可继承)。finally 是 异常处理语句结构 的一部分,不管是否有异常,他的语句总是执行。finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。

2022-03-16 23:15:55 5976

原创 链表练习题(续)

1. 链表的回文结构链表的回文结构_牛客题霸_牛客网思路:经过以前做题的经验,要找回文结构,我们首先要找他的中心结点,--->中心节点的求法,我们在上次已经写过了,那就直接用。找到了中心结点,那我们要做的是,将前半段反转,上次也写过了。(链表的练习题_大干部的博客-优快云博客),最终我们要写的只是,让两边的结点同时走,比较其的val,就可以了。代码:public class PalindromeList { public boolean chkPalindrome(Li

2022-03-16 15:38:52 117

原创 链表的练习题

1.删除链表中等于给定值val的所有节点。2. 反转一个单链表。3. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。4. 输入一个链表,输出该链表中倒数第k个结点。5. 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的

2022-03-14 22:22:13 622

原创 Iterable、Collection、List 的常见方法签名以及含义

Iterable、Collection、List 的常见方法签名以及含义

2022-03-14 13:58:17 445

原创 时间复杂度 和 空间复杂度

时间复杂度 和 空间复杂度时间复杂度例题; 计算阶乘递归Factorial的空间复杂度? 计算fibonacci的空间复杂度?/ 计算bubbleSort的空间复杂度? 计算斐波那契递归fibonacci的时间复杂度?/ 计算bubbleSort的时间复杂度?

2022-03-12 20:41:02 157

原创 选择排序 Java

选择排序的概念:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。 以此类推,直到全部待排序的数据元素的个数为零。 选择排序是不稳定的排序方法。另外,选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

2022-03-07 21:17:12 212 4

原创 二分查找 Java和C语言

针对 有序数组,可以使用更高效的二分查找。以升序数组为例, 二分查找的思路是先取中间位置的元素, 然后使用待查找元素与数组中间元素进行比较:如果相等,即找到了返回该元素在数组中的下标 如果小于,以类似方式到数组左半侧查找 如果大于,以类似方式到数组右半侧查找重点是有序数组。快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。Java实现:public static void main(String[] args) { int[] arr

2022-03-07 20:20:56 745 2

原创 冒泡排序(Java和C语言)

冒泡排序Java和C语言;冒泡排序的实现原理

2022-03-07 19:49:32 915

原创 【Java】一些数组练习

1. 数组转字符串

2022-03-07 17:02:11 161

原创 【Java】数组

1. 数组的基本概念数组:可以看做是 一种相同数据类型元素的集合。(在内存中占一段连续的内存单元)在java中包含6个整形类型元素的数组,就相当于上图中连在一起的6个车位,从上图中可以看到:1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号,其实位置的编号为0,即数组的下标。1.1数组的创建及初始化T[] 数组名 = new T[N];T:表示数组中存放元素的类型 T[]:表示数组的类型 N:表示数组的长度.

2022-03-07 13:14:34 153

原创 【Java】方法

1. 方法的概念和使用1. 是能够模块化的组织代码(当代码规模比较复杂的时候)。 2. 做到代码被重复使用, 一份代码可以在多个位置使用。 3. 让代码更好理解更简单。 4. 直接调用现有方法开发, 不必重复造轮子。方法的定义递归练习写一个递归方法,输入一个非负整数,返回组成它的数字之和. 例如,输入 1729, 则应该返回1+7+2+9,它的和是191. 按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)2. 递归求 1 + 2 + 3 + ... + 10

2022-03-07 11:04:20 332 2

原创 【Java】逻辑控制

If 语句1. 语法格式:第一种:if(布尔表达式){// 语句}如果布尔表达式结果为true,执行if中的语句,否则不执行。第二种:if(布尔表达式){// 语句1}else{// 语句2}如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。第三种:if(布尔表达式1){// 语句1}else if(布尔表达式2){// 语句2}else{// 语句3}......表达式1成立,执行语句1...

2022-03-06 15:59:06 105

原创 【Java】运算符

Java的运算符其实与C的运算符大体都是相同的,只有极个别几个在用法上会有一点点差异。我们也就简单的叙述一下了。算数运算符:1. 基本的四则运算符 :+ - * / % 这五种。2. 增量运算符:+= -= *= /=这种运算符,在运算完成之后会将结果 赋值 给左边的操作数。这种运算符非常的简便。3. 自增自减运算符:++ --这里的运算性质和C里面的是一样的。关系运算符:关系运算符主要由6个:== != < > <= >=注意:1...

2022-03-06 14:39:08 306

空空如也

空空如也

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

TA关注的人

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