自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大白的成长之路

真正的大师,永远的怀着一颗学徒的心

  • 博客(194)
  • 资源 (1)
  • 收藏
  • 关注

原创 logstash 使用webhdfs 上传文件出现的问题

记录一次 logstash 6.5.4使用webhdfs插件向hdfs导入数据错误:[WARN ][logstash.outputs.webhdfs ] Failed to flush outgoing items {:outgoing_count=>1, :exception=>"LogStash::Error", :backtrace=>["org/logstash/ext/JrubyEventExtLibrary.java:177:in `sprintf'", "/expor

2022-02-24 10:49:17 1376

原创 自己的Java学习路线

时间技术栈教程名字(时长)2021.1-2021.3JavaSE动力节点·Java零基础教程视频(适合Java 0基础,Java初学入门)183:34:462021.3-2021.4Mysql动力节点·MySQL基础入门到精通视频教程-MySQL数据库实战(内含MySQL34道面试题)16:33:262021.3.25-2021.3.27Maven动力节点·2020最新Maven教程-Maven基础篇之Maven实战入门 5:52:53Spring B...

2021-12-25 16:21:57 1049 11

原创 spring boot 线上故障 上传文件出错:org.springframework.web.multipart.MultipartException: Failed to parse multip

spring boot 线上故障 上传文件出错:异常org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.4969464838095977377.9999/work/Tomcat/localhost/RO

2021-11-11 18:27:30 4092 2

原创 解决IDEA Warning: Class ‘XXX‘ not found in module ‘XXX‘

Spring Boot启动类有一个红叉打开之前的Spring Boot项目,启动类上有一个红叉,但项目能正常启动解决方式:将 import org.springframework.boot.autoconfigure.SpringBootApplication 删掉,然后重新导入 @SpringBootApplication 注解的包即可...

2021-11-08 22:36:25 12592 14

原创 Java面经之多线程(本人亲身经历)

本人的春招就告一段落了,也找到了理想的工作,特分享一下自己整理的资料来做成的一个面经(都是本人亲自经历过的面试题),用于自己以后的学习和进步,由于都是网上搜集而来如有错误,望各位指正。并且会实时更新。。。 PS:如果想知道每个公司问我的什么可以私聊我。1、进程和线程的区别进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。一个进程都有若干个线程,至少包含一个线程。资源开销上进程有独立的代码和数据空间(程序上下文),进程的切换有较大的开销,线程有共享的代码和数据空间,线程之间切换开

2021-07-18 17:48:39 949 7

原创 Java基础面经(本人亲身经历)

目录1、final关键字2、传参方式3、抽象类和接口的区别4、This与super5、Try..catch..finally中return的执行顺序6、Exception与error7、Int与Integer的区别、自动封箱与自动装箱8、OOP9、String、StringBuffer与StringBuilder的区别以及应用10、重载和重写的区别?11、聚合与组合的关系1、final关键字Final修饰的变量无法被修改,如果修饰引用,表示引用不可变,引用

2021-05-27 21:11:33 2851 4

原创 Java线程中的sleep方法详解

关于线程的sleep方法static void sleep(long mills)1、静态方法:Thread.sleep(1000);2、参数是毫秒3、作用:让当前线程进入休眠,进入“阻塞”状态,放弃占有CPU时间片,让给其他线程使用。public class ThreadTest06 { public static void main(String[] args) { //让当前线程进入休眠,睡眠5秒 //当前线程是主线程!!! try

2021-03-15 14:48:54 24307 1

原创 Java基础总结(学Java这一篇就够了)

java基础总结目录java基础总结一、java基础知识二、数据类型三、控制语句四、方法五、面向对象六、关键字一、java基础知识1、 DOS和Java特性Java——集成开发环境2、java程序的编译和运行、JDK、JRE、JVM的关系、环境变量、HelloWorld程序3、公开类、标识符、关键字二、数据类型4、字面值、变量、数据类型基础、编码方式5、char、转义、整数型、精度损失6、浮点型、布尔型、类型转换、算数运算符、关系运算符、逻辑运算符7、赋值运算符、字符串连接运算符、三目

2021-02-03 22:07:31 1119 12

原创 Java类中的 is-a、is-like-a、has-a

has a从属关系:聚合凡是能够使用 has a 来描述的,统一以属性的方式存在例如 Customer has a FoodMenu(顾客有一个食物菜单)is a继承关系:继承凡是满足is a的表达式都可以设置为继承例如 Cat is a Animal(猫是一种动物)is like a组合关系:接口满足 is like a 的表达式也是一种继承但是在继承中,仅覆盖了父类方法即为Is-a;若在覆盖父类方法基础上有新增方法,则为Is-like-a。例子:1.假设你确定两件对象之

2021-02-03 21:13:10 1871 7

原创 Java初级面试10连问

1.JDK JRE JVM 分别是什么?JDK:开发者提供的开发工具箱,是给程序开发者用的,它包括完整的jre、Java运行环境,还包括了其他供开发者使用的工具包。JRE:运行时所必须的包依赖的环境都在jre中JVM:当我们运行一个程序时,JVM负责将字节码转换为特定机器代码,JVM提供了内存管理、垃圾回收和安全机制等,他独立于硬件和操作系统,正是java程序可以一次编写多处执行的原因。2.什么是面向对象?封装: 封装把一个对象的属性私有化、同时提供一些可以被外界访问的属性的方法。继承:ja

2021-01-26 11:44:30 1076 15

原创 《Redis核心技术与实战》学习笔记1——基本架构:一个键值数据库包含什么?

我们知道,Redis 是典型的键值数据库,所以今天,我准备手把手地带你构建一个简单的键值数据库。为啥要这么做呢?还记得我在开篇词说过吗?Redis 本身比较复杂,如果我们一上来就直接研究一个个具体的技术点,比如“单线程”“缓存”等,虽然可以直接学习到具体的内容,甚至立马就能解决一些小问题,但是这样学,很容易迷失在细枝末节里。从我自己的经验来看,更好的学习方式就是先建立起“系统观。

2024-02-06 18:21:06 1648 2

原创 《Redis核心技术与实战》学习笔记0——开篇词 | 这样学Redis,才能技高一筹

作为键值数据库,Redis 的应用非常广泛,如果你是后端工程师,我猜你出去面试,八成都会被问到与它相关的性能问题。比如说,为了保证数据的可靠性,Redis 需要在磁盘上读写 AOF 和 RDB,但在高并发场景里,这就会直接带来两个新问题:一个是写 AOF 和RDB 会造成 Redis 性能抖动,另一个是 Redis 集群数据同步和实例恢复时,读 RDB 比较慢,限制了同步和恢复速度。那这个问题有没有好的解决方法呢?哈哈,这里我卖了个关子。

2024-02-05 14:42:30 849

原创 《代码之丑》学习笔记18——写代码是一件可以一生精进的事

在很多人心目中,程序员是一个辛苦的职业,一方面,各种新东西层出不穷,程序员们要努力追随,另一方面,业务飞速发展,我们唯有积极应对。那么,是什么支撑你在这个富有挑战的行业里坚持前行呢?于我而言,这个问题的答案是,热爱。在我的心目中,编程是一项有趣的智力活动,从最初解决一个特定的小问题,到现在创造一个方案去解决一个系统的问题,无不需要费尽心力去探寻一个好的解决方案。时至今日,即便我写程序已经二十多年了,但每次程序运行通过时,我心里依然还是有一些小激动,因为支撑程序运行的每行代码里都有自己的思考在里面。

2024-02-04 17:57:09 800

原创 《代码之丑》学习笔记17——发现“你”代码里的坏味道

使用缩写;用 I 表示接口,用 Impl 表示实现;使用 static 函数或变量;使用 singleton 模式;写得潦草的 README。你在写代码时也要注意这些问题。我还借着 static 函数的调整过程,给你演示了如何一步一步地重构代码,保证代码的安全。希望你能够理解,重构不是大开大合的过程,而就是这样细小而微的操作。尽量不使用 static。

2024-01-30 21:24:57 834

原创 《代码之丑》学习笔记16——什么代码应该被重构?

Kent Beck 在前言里说“这是一本关于‘如何编写别人能懂的代码’的书”,尽管他还谦虚地说这本书“不是模式书籍”,但实际上《实现模式》充分地展现了“模式”的本意:它提供了一整套“用代码表述意图”的模式语言,这套语言能让程序员在最短的时间内学会如何写出具有表现力的代码,并且自然而然地远离坏味道。例如“高内聚低耦合”,尽管这是所有人都赞同的设计原则,但究竟什么样的代码呈现了“低内聚”、什么样的代码呈现了“高耦合” 、“低内聚”与“高耦合”是否总是同时出现、应该以何种办法提高内聚降低耦合……

2024-01-30 09:29:42 975

原创 《代码之丑》学习笔记15——新需求破坏了代码,怎么办?

增加新接口;改动实体。接口和实体,其实也是一个系统对外界产生影响的重要部分,一个是对客户端提供能力,一个是产生持久化信息。所以,我们必须谨慎地思考它们的变动,它们也是坏味道产生的高发地带。对于接口,我们对外提供得越少越好,而对于实体,我们必须仔细分析它们扮演的角色。谨慎地对待接口和实体的变动。

2024-01-23 20:22:37 841

原创 《代码之丑》学习笔记14——多久进行一次代码评审最合适?

多久进行一次代码评审最合适?

2024-01-19 14:45:00 953

原创 《代码之丑》学习笔记13——落后的代码风格:使用“新”的语言特性和程序库升级你的代码

落后的代码风格:使用“新”的语言特性和程序库升级你的代码

2024-01-19 10:31:58 867

原创 《代码之丑》学习笔记12——不一致的代码:为什么你的代码总被吐槽难懂?

为什么你的代码总被吐槽难懂?

2024-01-17 19:40:02 906

原创 《代码之丑》学习笔记11——依赖混乱:你可能还没发现问题,代码就已经无法挽救了

依赖混乱:你可能还没发现问题,代码就已经无法挽救了

2024-01-15 11:16:47 1004

原创 【记录】如何提高sql执行效率?

先,然后drop table,这样可以避免系统表的较长时间锁定。

2024-01-06 00:18:14 1221

原创 Day65 调度算法的评价指标以及FCFS、SJF、HRRN调度算法

它包括四个部分:作业在外存压备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/O操作完成的时间。一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。对于操作系统来说,更关心系统的整体表现,因此更关心所有作业的周转时间的平均值。,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。

2022-11-13 21:37:39 652 1

原创 Day64 进程调度的时机、切换与过程、方式

注意:进程切换是有代价的,因此如果过于频繁的进行进程调度切换,必然会使整个系统的效率降低,使系统大部分时间都花在了讲程切换上,而真正用于执行进程的时间减少.在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。的,比如进程的就绪队列(由各就绪进程的PCB组成)(这个进程可以是刚刚被暂停执行的进程,也可能是。

2022-11-12 17:49:30 388

原创 Day63 处理机调度的概念和层次

PCB中会记录进程数据在外存中的存放位置,进程状态等信息,操作系统通过内存中的PCB来保持对各个进程的监控、管理。注意“挂起”和“阻塞”的区别,两种状态都是暂时不能获得CPU的服务,但挂起态是将进程映像调到外存去了,而阻塞态下进程映像还在内存中。高级调度主要是指调入的问题,因为只有调入的时机需要操作系统来确定,但调出的时机必然是作业运行结束才调出。在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。,就是要决定将哪个处于挂起状态的进程重新调入内存。

2022-11-11 16:03:08 775

原创 Day60-62 线程概念和多线程模型

还没引入进程之前,系统中各个程序只能串行执行。有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。为此,引入了“线程”,来增加并发度。可以把线程理解为“轻量级进程”。线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)引入线程后,进程只作为除CPU之外的系统资源的分配单元。

2022-11-10 17:59:32 317

原创 Day56-59 进程的状态、进程控制、进程通信方式

进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。简化理解:反正进程控制就是要实现进程状态转换顾名思义,进程通信就是指进程之间的信息交换。进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。为了保证安全,一个进程不能直接访问另一个进程的地址空间。但是进程之间的信息交换又是必须实现的。为了保证进程间的安全通信,操作系统提供了一些方法。

2022-11-07 22:22:56 395

原创 Day54、55 进程的定义、组成、组织方式、特征

程序段、数据段、PCB三部分组成了进程实体(进程映像)。一般情况下,我们把进程实体就简称为进程,例如,所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质上是撤销进程实体中的PCB。注意:PCB是 进程存在的唯一标志。

2022-11-03 22:11:26 478 2

原创 Day49-53 操作系统的中断、异常以及系统调用

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。“系统调用”是操作系统提供给应用程序(程序员/编程入员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。问题:操作系统为什么要提供“系统调用”功能?生活场景:你去学校打印店打印论文,当你按下“打印”之后,打印机开始工作。你的论文打印到- -半时,另-位同学按下了“打印”按钮开始打印他自己的论文。

2022-11-01 22:38:09 506

原创 Day 47、48 操作系统的运行机制与体系结构

问题:“指令”和我们平时所说的“代码”有什么区别?简单来说,“指令”就是处理器(CPU)能识别、执行的最基本的命令,比如加法指令就是让CPU进行加法运算。

2022-10-27 22:35:05 558

原创 Day45、46 操作系统的特征、发展及分类

一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)当今的计算机,一般都是多核CPU,比如Intel的第八代i3处理器就是4核CPU,这意味着同一时刻可以有4个程序并行执行,但是操作系统的。因此,没有并发性,就谈不上虚拟性。所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行。:使用QQ和微信视频。

2022-10-24 23:04:43 428

原创 Day45、46 操作系统的特征、发展及分类

一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)当今的计算机,一般都是多核CPU,比如Intel的第八代i3处理器就是4核CPU,这意味着同一时刻可以有4个程序并行执行,但是操作系统的。因此,没有并发性,就谈不上虚拟性。所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行。:使用QQ和微信视频。

2022-10-24 23:02:38 628

原创 Day44 操作系统——操作系统的概念、功能和目标

操作系统(Operating System,OS) 是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。Yo~结合生活经验来理解计算机系统的层次结构:Step1:买一台裸机Step2:安装Windows操作系统Step3:安装QQStep4:开始使用QQ和好友聊天计算机系统的层次结构如上图所示。负责管理协调硬件、软件等计算机资源的工作。

2022-10-22 21:01:35 336

原创 Day43 尚硅谷JUC——异步回调

同步和异步的通俗解释,比如需要找一个A同学,同步的话就是我在这个A同学的位置上一直等着他回来,不能干其他事情,而异步就是告诉其他一个B同学,A同学如果回来了通知我一声,我就可以干别的事情。查看原码分析,它是一个继承Throwable的类,查看其实现类发现都是异常,由此可知,返回的应该是异常。在java中可以使用CompletableFuture类来实现异步调用。通过CompletableFuture类来展示。发现u是一个null,那么他到底是什么含义呢?1.无返回值的异步任务。2.有返回值的异步任务。

2022-10-21 23:54:16 476

原创 Day42 尚硅谷JUC——Fork_Join分支合并框架

Fork/Join它可以将一个大的任务拆分成多 个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork:把一个复杂任务进行分拆,大事化小。Join:把分拆任务的结果进行合并1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割2.执行任务并合并结果:分割的子任务分别放到双端队列里,然后几个启动线程分别从双端队列里获取任务执行。

2022-10-20 22:19:36 623

原创 Day39、40、41 尚硅谷JUC——ThreadPool线程池

线程池(thread pool) : 一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。例子: 10年前单核CPU电脑,假的多线程,像马戏团小丑玩多个球, CPU需要来回切换。现在是多核电脑, 多个线程各自跑在独立的CPU上,不用切换效率高。1、corePoolSize(核心线程数)

2022-10-19 22:26:23 500

原创 Day38 尚硅谷JUC——BlockingQueue阻塞队列

阻塞队列,顾名思义,首先它是一个队列,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端输出;

2022-10-16 23:03:08 486

原创 Day37 尚硅谷JUC——乐观锁、悲观锁、读写锁、锁降级

JUC之乐观锁、悲观锁、读写锁、锁降级、表锁和行锁

2022-10-16 00:08:18 683

原创 Day35、36 JUC强大的辅助类

JUC——计数器CountDownLatch、循环栅栏CyclicBarrier、信号量Semaphore

2022-10-15 00:09:11 619

原创 Day34 尚硅谷JUC——Callable接口

继承Thread类实现Runable接口,没有返回值,不抛出异常} }实现Callable接口,有返回值,会抛出异常。这个返回值可以被Future 拿到,也就是Future 可以拿到异步执行任务的返回值,可以声明异常,需要以实现的callable接口的类为参数创建FutureTask对象,将FutureTask作为参数创建Thread对象;while(!} //如果没有计算完成就要去强求,会导致阻塞,值得计算完成 int result2 = futureTask . get();

2022-10-12 23:01:24 415

原创 Day32、33 尚硅谷JUC——多线程锁

Java中的每一个对象都可以作为锁。具体表现为以下3种形式。对于普通同步方法,锁是当前实例对象。对于静态同步方法,锁是当前类的Class对象。对于同步方法块,锁是Synchonized括号里配置的对象死锁就是两个或者两个以上进程在执行过程中,因为争夺资源而造成一种互相等待的现象,如果没有外力干涉,他们无法再执行下去。

2022-10-11 22:30:52 599

软件需求分析报告.docx

掌上易生活需求分析报告,关于掌上生活app的需求分析的一份完善的实验报告,包括需求规定,运行环境规定等内容

2020-04-27

空空如也

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

TA关注的人

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