
Java编程技术
文章平均质量分 84
一起趣学Java
一宿君
专注于Java基础、进阶、面试以及计算机基础知识分享。偶尔认知思考、日常水文。
展开
-
Linux系统下命令行安装MySQL5.7+详细步骤
Linux系统命令行安装MySQL5.7+详细步骤原创 2023-02-25 21:34:32 · 3393 阅读 · 6 评论 -
RocketMQ快速入门:消息发送、延迟消息、消费重试
RocketMQ快速入门:消息发送、延迟消息、消费重试原创 2023-02-20 22:00:06 · 1380 阅读 · 2 评论 -
RocketMQ云服务器和本地基础安装搭建及可视化控制台安装使用
RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。主要功能是异步解耦和流量削峰。原创 2023-02-19 12:21:33 · 1899 阅读 · 1 评论 -
Spring之RestTemplate常用API实践
Spring之RestTemplate常用API实践。原创 2022-10-30 21:00:51 · 2342 阅读 · 0 评论 -
Java递归实现树形结构的两种方式
Java递归实现树形结构的两种常见方式。原创 2022-10-23 10:06:36 · 13730 阅读 · 2 评论 -
JavaSE系列(一)Java基础
Java基础、JavaSE。原创 2022-07-19 08:43:13 · 2231 阅读 · 7 评论 -
Github如何回滚代码?
Github回滚代码原创 2022-06-19 11:57:19 · 6488 阅读 · 1 评论 -
SpringBoot工程接入第三方支付渠道支付宝(C扫B支付)
目录1、C扫B的概念2、支付宝接口调研2.1、产品列表2.2、线下场所接入支付3、配置支付宝沙箱环境3.1、简介3.2、注册开放平台账号3.3、配置密钥3.4、沙箱账号4、测试环境准备4.1、安装模拟器1、C扫B的概念C扫B,即顾客(Customer)扫描商户(Business)提供的二维码来完成支付。下图是支付宝提供的C扫B业务流程:商家出示付款二维码。客户打开支付宝或微信的扫一扫,扫描二维码。确认支付,完成支付。C扫B支付分为两种方式:一是固定金额支付,顾客扫描后无需输入金额直接确原创 2022-04-07 14:59:25 · 5608 阅读 · 4 评论 -
安装Node.js
Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, [1] 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScr原创 2022-04-01 22:26:21 · 2348 阅读 · 4 评论 -
IDEA常用快捷键
IDEA快捷操作原创 2022-03-16 11:04:11 · 8529 阅读 · 0 评论 -
IDEA在控制台显示出services,统一管理所有的springboot服务,及显示Toolbar快捷操作导航栏
IDEA快捷操作原创 2022-03-15 12:13:45 · 7769 阅读 · 2 评论 -
Webhooks应用概述
Webhooks是一个API概念,是微服务API的使用范式之一,也被成为反向API,即:前端不主动发送请求,完全由后端主动向前端推送原创 2022-02-07 19:51:20 · 1128 阅读 · 0 评论 -
Java8 新特性:Lambda 表达式、方法和构造器引用、Stream API、新时间与日期API、注解
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等等。原创 2021-12-18 22:12:16 · 1148 阅读 · 4 评论 -
Vue.js脚手架搭建项目
一、node环境首先下载node.js官网下载:https://nodejs.org/en/安装步骤,除了安装路径最好修改下到D盘,其他无脑操作next即可!安装好之后,在cmd或者VsCode中终端均可查看是否安装成功,如果显示版本号,即安装成功。二、Vue脚手架1.全局安装脚手架:vue-cli安装方式:npm(常用)npm i vue-cli -g此命令只需运行一次,安装上之后就不用再安装了!2.安装vue指令npm install vue安装完成,查看vue版本vue原创 2020-12-23 12:51:28 · 345 阅读 · 0 评论 -
HTML系列(一)、W3C联盟指定标准及HTML骨架
1 软件架构C/S:客户端(需要下载、更新)—— 服务器B/S:浏览器(无需下载)—— 服务器1.1 全栈工程师前端:html、css、js(框架)后端:Java2 浏览器谷歌、Edge、IE、狐火、Safari、Opera(内核)、360(以IE为内核)...原创 2021-07-20 14:09:56 · 455 阅读 · 6 评论 -
算法设计与分析
一、概念和问答1、算法,时间复杂性(时间复杂度),贪心法,分治法,搜索法,递归,算法分析。算法:对问题求解步骤的准确而完整的描述,是一些列有穷规则指令集合。时间复杂度:在算法运行期间所花费的时间贪心法:是一种在每一步选择中都采取当前状态下最有利的选择,从而希望结果是最有利的算法。分治法(设计思想-分而治之):将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同,然后递归求解子问题,最后子问题的解合并得到原问题的解。搜索法:利用计算原创 2021-07-07 08:32:01 · 466 阅读 · 4 评论 -
计算机网络——名词专场汇
五层体系传输的数据单元(自下而上)物理层:透明的传输比特流数据链路层:透明的传输帧网络层:传输分装成的数据报运输层:向应用层提供通信服务,是面向通信部分的最高层,为相互通信的应用进程提提供了逻辑通信。应用层:为主机的应用进程提供端到端的逻辑通信服务(各应用进程在主机中完成通信)。...原创 2021-06-23 15:09:07 · 211 阅读 · 0 评论 -
第一章、计算机网络概述
1.1.1、概念、功能、组成和分类计算机网络的概念计算机网路:是一个将分散的、具有独立功能的计算机系统,通过通信设备和线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的、自治的计算机集合。互连-互联互通 通信链路自治-无主从关系计算机网络的功能1、数据通信(连通性)2、资源共享 硬件、软件、数据3、分布式处理 多台计算机各自承担同一任务的不同部分 eg:Hadoop平台4、提高可靠性 eg:如果说其中一台计算机宕机了,会有另外一台计算机原创 2021-07-07 08:29:52 · 158 阅读 · 1 评论 -
计算机操作系统知识点汇总(第四版同步陆续更新)
第一章、操作系统引论1.1 操作系统的目标和作用操作系统是什么?操作系统(Operating System OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要作用是管理好这些设备,提高它们的利用率和吞吐量,并未用户和应用程序提供一个简单的接口,便于用户使用。操作系统为用户完成所有“硬件相关,应用无关“的工作,以给用户方便、高效、安全的使用环境。1.1.1 目标方便性:配置OS后计算机系统更容易使用。有效性:改善资源利用率,提高系统吞吐量可扩充性:原创 2021-06-27 12:06:18 · 711 阅读 · 0 评论 -
JavaSE系列(一)、java语言开发环境
1.1 Java虚拟机–JVMJVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系 统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。1.2原创 2021-01-24 16:54:36 · 163 阅读 · 0 评论 -
JavaSE系列(二)、java入门程序说明
2.1 编译和运行是两回事编译:是指将我们编写的Java源文件翻译成JVM认识的.class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。运行:是指将.class文件交给虚拟机JVM去运行,此时JVM就会去执行我们编写的程序了。2.2 标识符标识符 HelloWorld案例中,出现的标识符有类名字 HelloWorld 。命名规则 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号原创 2021-01-24 16:55:29 · 139 阅读 · 0 评论 -
JavaSE系列(十七)、多态
十七、多态17.1 概述定义多态: 是指同一行为,具有多个不同表现形式。前提继承或者实现【二选一】方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】17.2 多态的体现多态体现的格式:父类类型 变量名 = new 子类对象; 变量名.方法名();例:Fu f = new Zi(); f.method()父类类型:指子类对象继承的父类类型,或者实现的父接口类型。当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,执原创 2021-02-24 22:13:37 · 172 阅读 · 0 评论 -
JavaSE系列(十六)、接口
十六、接口16.1 概述接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法 (JDK 9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。小贴士:引用数据类型:数组、类、接口接口的使用,它不能创建对象(不能被实例化,但原创 2021-02-24 22:12:47 · 129 阅读 · 0 评论 -
JavaSE系列(五)、运算符
5.1 算数运算符(Java中,整数使用这些算数运算符,无论怎么计算,也不会得到小数)算术运算符包括:+、-、* 、/、%、++、- -。++运算/–运算:变量自增1/自减1 独立运算:独立运算时,变量前++和变量后++没有区别; 混合运算(i=1)变量前++(++i):先加一再赋值。变量后++(i++):先赋值再加一。public static void main(String[] args) { int a = 5; //先对a进行+1操作,原创 2021-01-24 16:57:12 · 139 阅读 · 0 评论 -
JavaSE系列(十二)、String类、Arrays类、Math类
十二、String类、Arrays类、Math类12.1 String类String类概述概述java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如 “abc” )都可以被看作是实现此类的实例。类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。特点字符串不变:字符串的值在创建后不能被更改。String s1 = "abc"; s1 += "d"; Syste原创 2021-02-24 21:34:09 · 158 阅读 · 0 评论 -
JavaSE系列(六)、流程控制语句
六、流程控制语句6.1 判断语句if语句if(关系表达式){ 语句体;}执行流程:首先判断关系表达式看其结果是true还是false如果是true就执行语句体如果是false就不执行语句体[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OegkkA4C-1611665534222)(C:/Users/wang’bo’shi/AppData/Roaming/Typora/typora-user-images/image-20210126201647..原创 2021-01-26 20:53:43 · 187 阅读 · 0 评论 -
JavaSE系列(三)、常量和变量
3.1 常量常量:是指在java程序中固定不变的数据。常量的分类类型含义数据举例整数常量所有的整数0,1, 567, -9小数常量所有的小数0.0, -0.1, 2.55字符常量单引号引起来,只能写一个字符,必须有内容‘a’ , ‘好’字符串常量双引号引起来,可以写多个字符,也可以不写“A” ,“abc” ,“你好” ,""布尔常量只有两个值(流程控制中讲解)true , false空常量只有一个值(引用数据类型中讲解)n原创 2021-01-24 16:56:03 · 148 阅读 · 0 评论 -
javaSE系列(八)、面向对象2
一、maven环境main 开发环境test 测试环境二、类、对象2.1、什么是类类是一个抽象概念,是一组相关属性和行为的集合,比如:人类属性(特征、成员变量、全局变量):姓名、身高、体重、年龄、性别行为(动作):唱歌、跳舞、游泳、学习2.2、什么是对象是指具体的一个实体,比如:张三、李四家的那个小猫2.3、访问修饰符不写—默认访问修饰符public–公共访问修饰符private–私有访问修饰符protect–保护访问修饰符final修饰符:表示不能被继承2.4、原创 2021-01-29 21:20:18 · 134 阅读 · 0 评论 -
JavaSE系列(八)、面向对象
八、面向对象面向对象:区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。面向对象包含了三大基本特征,即封装、继承和多态。区别:面向过程:强调步骤;面向对象:强调对象。8.1 类和对象什么是类? 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。 现实中,描述一类事物:属性:就是该事物的状态信息。行为:就是该事物能够做什么。原创 2021-01-29 21:19:27 · 174 阅读 · 5 评论 -
JavaSE系列(九)、封装
九、封装概述:面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。原则: 将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。9.1 封装的步骤1.使用private关键字来修饰成员变量。2.对需要访问的成员变量,提供对应的一对getXxx方法、setXxx方法。9.2 封装原创 2021-01-31 13:17:19 · 133 阅读 · 0 评论 -
JavaSE系列(七)、数组
七、数组7.1 数组的定义和访问数组的概念数组的概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。数组的定义(三种) #### 格式一:```数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];int[] arr = new int[3];```>int 数组存储的数据类型:创建的数组容器可以存储什么数据类型。[]:表示数组。数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。new:关键字,创建数原创 2021-01-26 20:55:02 · 159 阅读 · 0 评论 -
JavaSE系列(十)、引用类型和匿名对象
十、引用类型和匿名对象10.1 引用类型使用步骤导包使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。格式:import 包名.类名举例:java.util.Scanner;创建对象使用该类的构造方法,创建一个该类的对象。 格式:数据类型 变量名 = new 数据类型(参数列表);举例:Scanner sc = new Scanner(System.in);调用方法调用该类的成员方法,完成指定功能。格式原创 2021-02-24 21:29:41 · 112 阅读 · 0 评论 -
JavaSE系列(十三)、static关键字
十三、static关键字13.1 概述关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。13.2 定义和使用格式类变量当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改 该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。类变量:使用 static关键字修饰的成员变量。定义格式:static 数原创 2021-02-24 21:35:52 · 128 阅读 · 0 评论 -
JavaSE系列(十五)、抽象类
十五、抽象类15.1 概述由来父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类 。定义抽象方法 : 没有方法体的方法。抽象类:包含抽象方法的类。15.2 abstract使用格式抽象方法使用 abstract 关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。定义格式:修饰符 abs原创 2021-02-24 22:09:29 · 120 阅读 · 0 评论 -
JavaSE系列(十四)、继承
十四、继承14.1 概述由来:多个类可以称为子类,单独的那一个类称为父类、基类或超类。继承描述的是事物之间的所属关系,这种关系是: is-a 的关系。父类更通用,子类更具体。 我们通过继承,可以使多种事物之间形成一种关系体系。定义:继承就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。好处:1. 提高代码的复用性。类与类之间产生了关系,是多态的前提。小贴士:多态的实现是建立在继承上的。14.2 继承的格式原创 2021-02-24 22:08:11 · 130 阅读 · 0 评论 -
JavaSE系列(四)、数据类型及数据类型转换
4.1 数据类型java数据类型分为两大类:引用数据类型和基本数据类型。引用数据类型 包括类、数组、接口。基本数据类型(4类8种数据类型)数据类型关键字内存占用取值范围字节型byte1个字节-128~127短整型short2个字节-32768~32767整型int(默认)4个字节-2147483648~2147483647长整型long8个字节-2的63次方~2的63次方单精度浮点数float4个字节1.40原创 2021-01-24 16:56:35 · 154 阅读 · 0 评论 -
JavaSE系列(十一)、Scanner类、Random类、ArrayList类
十一、Scanner类、Random类、ArrayList类11.1 Scanner类什么是Scanner类?一个可以解析基本类型和字符串的简单文本扫描器。例如,以下代码使用户能够从 System.in 中读取一个数:public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i = sc.nextInt(); }备注:System.in 系统输原创 2021-02-24 21:31:25 · 148 阅读 · 0 评论 -
RabbitMQ系列(一)、RabbitMQ入门
RabbitMQ入门学习目标1. 消息队列概述1.1. 消息队列MQ1.2、AMQP 和 JMS1.3. 消息队列产品1.4. RabbitMQ2、安装及配置RabbitMQ2.1. 安装说明2.2. 用户以及Virtual Hosts配置2.2.1、用户角色2.2.2、Virtual Hosts配置3、RabbitMQ案例入门3.1、搭建rabbit模块工程及引入依赖3.2、编写生产者3.3、编写消费者3.4、测试3.5、小结4、RabbitMQ工作模式4.1、Work queues工作队列模式4.1.1原创 2021-09-30 16:39:47 · 476 阅读 · 0 评论 -
安装Erlang和RabbitMQ详细教程
安装Erlang OTP和RabbitMQ1、RabbitMQ简介2、基本概念2.1、RabbitMQ服务支持下列操作系统:2.2、RabbitMQ支持下列编程语言:2.3、主要特性2.4、友情提醒3、安装Erlang3、安装RabbitMQ4、配置插件(关键步骤)4.1、插件安装方式4.2、常见问题1、RabbitMQ简介RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件 (亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平原创 2021-08-26 21:34:10 · 3286 阅读 · 7 评论 -
ElasticSearch分布式搜索引擎从入门到实战应用(入门篇-基本命令操作)
ElasticSearch分布式搜索引擎从入门到实战应用1、入门须知2、ElasticSearch概述2.1、ES简介2.2、应用场景3、ES和Solr的对比3.1、ES作用3.2、Solr作用3.3、实际应用对比3.4、总结4、ElasticSearch安装4.1、下载安装es4.2、安装安装elasticSearch-head插件(es可视化界面)5、安装kibana5.1、下载kibana5.2、安装5.3、kibana汉化6、了解ELK7、ElasticSearch核心概念1、入门须知笔记记录原创 2021-11-26 15:40:11 · 1539 阅读 · 3 评论