自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阿里云白嫖计划:在阿里云搭建自己的云服务器

阿里云白嫖计划:在阿里云搭建自己的云服务器最近阿里云顺势推出了学生“在家实践”计划,经过认证的在校生可以免费获得6个月的一台入门云服务器!详情点击当然,不符合的话也不用慌,新用户的话点击这里领取代金券,也可以领取代金券购买打折后的服务器,优惠还是挺划算的。12-24岁的用户还可以用阿里云的云翼计划获得学生优惠价购买云服务器。云翼计划详情点击总的来说阿里云的优惠力度还是挺大的,使用阿里云入门搭建自己的服务器还是很划算的。为什么要搭建自己的服务器呢?在云端搭建了一个服务器的话,就相当于你在云端有了自

2020-06-12 18:00:50 6102 22

原创 在GitHub上开始一个小组项目

在GitHub上开始一个小组项目1.组长或负责人首先创建一个repository仓库并由负责人初始化创建一些空的分好任务的代码文件2. 为自己的项目添加成员进入自己仓库的setting,点击Collaborators即可按用户名或邮箱地址查找添加你的成员了3.项目组的各个成员将GitHub上的javaweb仓库clone到本地各个小组的成员将在自己工作的目录下,在导航栏输入cmd回...

2020-02-19 23:16:17 5225 1

原创 设计模式六大原则

设计模式六大原则是软件设计中的基本准则,包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则和迪米特法则。这些原则可以在实际系统开发中,帮助软件开发人员设计出易于维护、扩展和重用的高质量软件系统,本文就将对设计模式的六大基本原则进行一个科普性的说明。

2023-04-08 23:38:21 430

原创 ChatGPT浅谈

ChatGPT是基于GPT-3(Generative Pre-trained Transformer 3)模型训练而来的一种语言模型,其目的是使计算机能够以自然语言的方式进行对话。与其他聊天机器人相比,ChatGPT通过自我学习和不断优化来不断提高自己的表现,从而使得对话的流畅度和真实感更高。

2023-04-02 21:17:14 6625

原创 深入理解kafka-1

kafka快速入门1、kafka简介1.1 kafka是什么1.2 kafka基础架构1.3 kafka模块概述2、kafkka结构剖析2.1 kafka工作流程2.2 kafka文件存储2.2.1 顺序写2.2.2 分片,索引2.3 broker集群2.3.1 主从结构2.3.2 ISR2.3.3 Controller控制器及选举机制2.3.4 数据一致性2.3.5 Exactly Once2.4 生产者2.4.1 生产者分区策略2.4.2 ACK机制2.5 消费者2.5.1 消费者分区策略2.5.2 o

2022-12-26 19:10:24 451

原创 Idea快速搭建一个Spring Boot项目

Idea快速搭建一个Spring Boot项目Idea有着非常简便的Spring Boot新建过程,同时依靠pom自动下载依赖,让我们能快速入门搭建并运行Spring Boot项目。注:在这里我们使用的是MyBatis持久层框架和MySql数据库,下面也会有相关的配置内容。一、新建项目1、首先点击 File-> New-> Project,在弹出的窗口选中Spring Initializr,SDK选择1.8,点击next,如图2、接着在Group和Artifact输入包名和项目名

2022-02-18 11:40:42 5472

原创 java多线程:ThreadLocal详解

场景: 在MVC模型中,我们要拿到登陆用户的session信息来获取用户名userName。提出问题:ThreadLocal是什么?用来解决什么问题?ThreadLocal的优缺点ThreadLocal的使用ThreadLocal的内存泄漏问题ThreadLocal是什么ThreadLocal是一个保存线程局部变量的工具,每一个线程都可以独立地在ThreadLocal中保存与获取自己的变量,而该变量不会受其它线程的影响。ThreadLocal的使用

2022-02-08 18:50:44 6072

原创 java多线程:callable和futureTask获取异步任务的返回值(实现并行计算)

场景: 我们要计算1+…+10和20+…+30相加的结果,当然可以用a=1+…+10,b=20+…+30,之后resutl=a+b。 但实际上第一个任务A和第二个任务B互不影响, 我们可以使用多线程的方法,将任务A和任务B并行执行,最后将两个任务的执行结果相加。那这样怎么用java实现呢?引言: 在之前的 java多线程入门 中介绍了java创建多线程的方法,本质上就一种:通过Thread thread = new Thread(Runnable)创建新线程对象,实现的Runnable的run方法则为们

2022-01-04 21:20:38 6931

原创 java多线程:线程池入门详解

java多线程:java多线程:线程池详解什么是线程池为什么要用线程池new Thread()执行的缺点使用线程池的优点线程池的核心参数线程池的执行流程从任务角度:从线程的生命周期角度:线程池的创建使用自带CachedThreadPoolFixedThreadPoolSingleThreadExecutor自定义参数创建进阶:线程池是怎么区分核心线程和非核心线程的?在开始这篇文章之前,首先提出几个问题:什么是线程池?为什么要用线程池?线程池的核心参数线程池的执行流程?线程池的使用进阶:线程池

2021-12-31 17:17:14 6071

原创 java基础----serialVersionUID及序列化详解

引言:在开发项目时,我们经常会看到在实体DTO中有一行 private static final long serialVersionUID = 1L; 的,那么这个serialVersionUID是用来干嘛的呢?不加貌似也没事?serialVersionUID是用来干什么的serialVersionUID是类的序列化版本,适用于java序列化机制,因此在实现了serializable接口时才有意义。java在反序列化时会验证本地类版本与IO流中的类版本是否一致,若一致则会进行序列化IO流为对象的过

2021-12-22 21:00:47 1906

原创 单点登录-----读后感笔记

单点登录-----读后感笔记背景什么是单点登录传统的单机登陆:SSO具体实现记简单了解单点登录之后的笔记背景随着微服务和分布式系统的流行,传统的在单机上通过session保存登陆状态的方式已经行不通了。此时需要一种高效的登录状态保存方案,能在一次登陆后,即可访问其他的内部系统,又可访问相同系统的不同的分布式的服务器。什么是单点登录单点登录SSO(Single Sign On)指的是在多个应用系统之间,只需登录一次,便可保持登陆状态,访问其他系统。拿访问a.xyz.com举例,用户访问xyz网站,

2021-07-18 19:03:05 139 2

原创 nginx的简介与安装

nginx的简介与安装一、nginx的介绍1、什么是nginx2、nginx有什么特点二、在Ubuntu上安装nginx1、安装依赖2、解压安装nginx一、nginx的介绍1、什么是nginx什么是nginx呢?根据百度百科的解释,Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。http服务器指的是其响应客户端的http请求,并保持tcp连接;那反向代理又是指的什么?(1)正向代理打个比方,由于某些原因,我们在国内访问不了google.com,但我们可以通过代理

2021-01-25 11:13:37 128

原创 在云服务器搭建Java web项目2 ——— 在服务器运行web项目

在云服务器搭建Java web项目2 ——— 在服务器运行web项目1、资源文件的准备一、配置好环境的云服务器二、可运行的web项目2、配置数据库3、安装配置redis3、开放端口,运行项目1、资源文件的准备需要提前准备好的资源包括:一、配置好环境的云服务器具体可参照上篇博客在云服务器搭建Java web项目 1 ——— 基础环境的配置二、可运行的web项目我的是自己做的bbs论坛系统,使用到了redis。2、配置数据库3、安装配置redis3、开放端口,运行项目...

2021-01-23 21:30:57 150

原创 在云服务器搭建Java web项目 1 ——— 基础环境的配置

在云服务器搭建Java web项目 1 ——— 基础环境的配置资源文件的准备云服务器的创建二级目录三级目录jdk环境的配置MySQL的安装资源文件的准备云服务器的创建二级目录三级目录jdk环境的配置MySQL的安装...

2021-01-15 10:30:18 229 2

原创 redis入门第三篇-------idea连接redis

redis入门第三篇-------idea连接redis本次我们是使用maven导入jar包。使用maven管理的好处在于往pom文件中导入依赖后,maven会自动下载配置jar包,以后使用maven的项目都可以共享 jar包。一、在src下的pom.xml中添加依赖<dependencies> <!--redis数据库的连接驱动包--> <dependency> <groupId>redis.clien

2020-06-30 16:45:40 2818

原创 redis入门第二篇-------redis五种数据类型及常使用命令

redis入门第二篇-------redis五种数据类型及常使用命令redis是键值对<key,value>形式的数据库,因此redis的命令都是对键值对进行操作的。其中value为redis支持五种数据类型:String、list、set、zset、hash。对String类型进行操作其中String是最redis中最基本的数据类型,String表示的不只是字符串,还可以是数值类型,jpg格式或序列化的对象。而其它四种类型相当于Java中的集合,最终存储的数据还是String类型。常

2020-06-30 12:31:42 890

原创 redis入门第一篇-------redis的介绍与安装启动redis

redis入门第一篇-------redis的介绍与安装启动redis前言现在开始了学习redis的过程。在学习一个新事物之前我们一定要问清楚自己为什么要学,以及要学到什么程度,带有很强的目的性的学习才不会轻易放弃。系统性学习的途径最好就是买书来啃,当然也可以看相关的视频什么是redisredis是一种实现NoSql的、存在内存中的非关系型数据库,通过将一些高访问量的数据存放在redis中可以减少对数据库的IO访问,以提高系统性能。redis特点key,value型的数据库,支持Stri

2020-06-28 14:59:43 220

原创 初识HDFS----编程实现对HDFS文件的读写

初识HDFS----编程实现对HDFS文件的读写目标:1、了解hdfs常规的命令2、在配置好hadoop开发环境的eclipse中编程实现Merger功能,实现从云端 (HDFS)中一个包含多个文件的路径(文件夹),将所有文件合并后保存到本地,或从云端合并文件下载到本地。首先我们启动hadoop,运行jps验证启动成功。一、了解HDFS命令在终端输入hdfs dfs回车,可以看到关于HDFS操作的所有命令。我们可以根据名字发现与我们Linux下常用的命令类似,如cat,chmod,ls等都

2020-05-30 00:00:36 2388

原创 Java多线程入门超详解(小白也可以看懂的)

Java多线程入门超详解(小白也可以看懂的 一、名词详解1.1 进程和线程1.2 并行和并发1.3 同步和异同步1.4 临界资源和临界区二、为什么要用多线程三、线程的五种状态四、Java创建线程的两种方法1、继承Thread类2、实现Runnable接口五、Java线程的常用方法1、wait()和notify()2、sleep(),yield(),join()3、setPriority()六、sy...

2020-05-10 23:39:50 2685 2

转载 throw和throws区别

请简述在异常当中,throw和throws有什么区别① throw代表动作,表示抛出一个异常的动作;throws代表一种状态,代表方法可能有异常抛出② throw用在方法实现中,而throws用在方法声明中③ throw只能用于抛出一种异常,而throws可以抛出多个异常举例:throws E1,E2,E3只是告诉程序这个方法可能会抛出这些异常,方法的调用者可能要处理这些异常,而这些异...

2020-05-04 23:57:23 1011

原创 Java高级特性---反射机制详解

什么是反射反射指的是在运行状态,对于任意的一个类或对象,都能获取及调用其所有的属性和方法。如在idea中我们创建了一个object对象,输入object. 之后idea会自动提示object的所有属性和方法。原理Java在编译时会生成.class文件,运行时jvm会将.class文件加载进内存生成对应的class对象。什么时候用到反射我们在编写jdbc使用Class.forName加载...

2020-05-03 22:52:23 2588

原创 String,StringBuffer和StringBuilder的区别详解

Java中常用的String类String类的底层是一个不可变的char数组,一旦初始化之后便不可再更改。但是我们在实际开发中会经常发现可以重新指定字符串类型的值,这是在堆内存中重新创建了一个对象。如 String a = "hello"; a = a+"world";StringBuffer和StringBuilder类在实际开发中我们经常会对字符串进行修改操作,而String修改会频...

2020-04-27 22:44:31 2857

原创 Java为什么要有包装类型

Java中有八种数据类型,同时每种类型都有对应的包装类。那么,Java为什么要定义包装类型呢?或者说什么时候需要用到包装类型呢?丰富基本类型的操作Java是面向对象的编程,有了包装类型可以使基本数据类型有了对象的性质,丰富了其操作。可以添加进集合中在集合容器(如List,Map)中不能添加基本数据类型,只能添加引用类型的数据,使用包装类型后可以添加进集合框架开发中结果准确基本数据类...

2020-04-27 17:56:11 974

原创 Java String中的==和equals的区别

在初学Java时,我们经常会涉及到字符串的比较。如下问题 String a = "ab"; String b = "ab"; String c = new String("ab"); String d = new String("ab"); String e = d; System.out.println(a == b); System.out.println(a ==...

2020-04-27 17:00:10 1234

原创 Java面向对象的四个特性

java基础篇1---Java面向对象的四个特性1、封装2、抽象1)抽象类2)接口3、继承4、多态多态存在的必要条件方法的执行过程1、封装封装指的是将描述一个对象的属性和行为封装到一个模块里,Java中称为类。属性用变量定义,行为用方法表示,方法可以访问修改同一个对象中的属性。2、抽象抽象指的是将现实世界的实际存在或逻辑抽象为一个类,要实现数据抽象和过程抽象。如汽车类,要在类中定义汽车的品...

2020-04-27 13:33:43 2558

原创 deepin上配置eclipse的hadoop开发环境

deepin上配置eclipse的hadoop开发环境一:环境准备二:导入jar包三:启动hadoop四、eclipse配置连接一:环境准备Linux系统: deepin15.11Hadoop: hadoop-2.6.5Eclipse: java-2019-9所需jar包: hadoop-eclipse-plugin-2.6.5.jarhadoop-eclipse-plugin-2....

2020-04-26 17:11:20 1145

原创 Java集合List、Set和Map总结

Java集合概述特点总结Collection:--- List:元素可重复,有序--- Set: 元素不可重复,唯一,无序Map:使用场景概述List、Set和Map都是接口,其中List和Set都是继承自Collection接口,而Map是单独的接口List :元素可重复,有序(即可知元素的添加顺序),具体实现有ArrayList,LinkedList,VectorSet:集合元素不...

2020-04-26 10:45:29 1823

原创 在deepin上安装配置jdk,ssh,伪分布式hadoop,这一篇就够了

云计算学习第一篇---在deepin上安装配置hadoop并运行hello world一、实验环境ssh配置无密码登录jdk的环境配置hadoop的安装配置在hadoop平台运行自己的hello程序一、实验环境Linux系统: deepinssh配置无密码登录jdk的环境配置hadoop的安装配置在hadoop平台运行自己的hello程序...

2020-04-20 00:21:29 801

原创 Java多线程实现生产者消费者问题

Java多线程实现生产者消费者问题问题描述:假设在汉堡店中,有最多能放10个汉堡的窗口,有生产汉堡的厨师,还有前来消费汉堡的消费者。厨师在窗口没摆满汉堡时一直生产汉堡放到窗口,消费者在窗口有汉堡时能进行消费。模型抽象:生产者(厨师):新加产品到缓冲池,当缓冲池产品达到最大值(满了)时进入wait状态。消费者:提取缓冲池中的产品,当缓冲池产品为空时进入wait状态等待缓冲池(窗口):存放...

2020-03-29 12:15:53 1519

空空如也

空空如也

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

TA关注的人

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