- 博客(77)
- 收藏
- 关注
原创 http请求工具类
import org.apache.commons.lang.StringUtils;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.method
2021-12-27 17:37:01
215
原创 手写一个简单的rpc框架
手写一个简单的rpc框架自己手写的一个小RPC框架,只是为了巩固自己所学的知识。几个概念RPC: Remote Procedure Call即远程过程调用,是分布式系统常用的一种通信方法,从跨进程到跨物理机已经有十几年的历史了。Procedure: 一段可执行的代码,自我可理解为java中的方法而已。跨进程的交互方式: RESTful、WebService、HTTP、基于DB做数据交换,基于MQ数据交换及RPC几个模块my-rpcmy-rpc-common:公共模块(工具类)my-rpc
2021-10-05 22:25:20
198
原创 axios
1. axios概述目标:axios的用途及了解常见方法小结:axios的作用:发送异步请求获取数据。常见的方法:get、post;在发送的时候可以指定参数(地址、请求方式和请求头部信息);返回数据结构(data/status/statusText/headers/config)2. axios方法及get、post方法使用目标:使用axios方法获取数据并在页面中将数据遍历显示;切换改为get/post方法实现数据加载小结:可以使用axios获取对应服务器数据;如果不是同一个服务的数据则可能
2021-03-30 23:43:59
144
原创 Vue基础指令
1. 搭建示例工程目标:使用IDEA创建示例工程并在工程中通过npm安装下载vue.js分析:vue是一个前端框架,也是其实是一个js文件;下载vue.js文件并在页面中引入该js文件。vue.js的下载方式:可以引用在线的vue.js;可以离线下载vue.js;npm包资源管理器,可以下载vue.js小结:使用了npm的方式安装vue模块:#初始化npm init -y#下载vue模块npm install vue --save2. 演示双向绑定与事件处理目标:创建0
2021-03-30 23:40:01
128
原创 分模块构建maven工程
分模块构建maven工程分模块构建maven工程分析在现实生活中,汽车厂家进行汽车生产时,由于整个生产过程非常复杂和繁琐,工作量非常大,所以车场都会将整个汽车的部件分开生产,最终再将生产好的部件进行组装,形成一台完整的汽车。maven工程的继承在Java语言中,类之间是可以继承的,通过继承,子类就可以引用父类中非private的属性和方法。同样,在maven工程之间也可以继承,子工程继承父工程后,就可以使用在父工程中引入的依赖。继承的目的是为了消除重复代码。maven工程的聚合在maven
2021-03-30 00:00:34
64
原创 基于maven构建SSM工程
Maven高级基于maven构建SSM工程需求描述本案例基于maven构建 SSM(Spring+SpringMVC+Mybatis)工程,通过maven坐标进行依赖管理。最终实现根据 id 查询商品信息的功能。构建maven工程1.数据库环境搭建 ①创建数据库ssmtest ②创建商品表itemCREATE TABLE `item` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) defaul
2021-03-29 23:54:16
75
原创 Maven高级【基础和依赖传递】
Maven1.maven基础知识1.1 maven介绍maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。1.2 maven的仓库类型1.本地仓库2.远程仓库①maven中央仓库(地址:http://repo2.maven.org/maven2/)②ma
2021-03-29 23:49:35
90
原创 快速排序
快速排序实现图解如果取消左右递归,结果是[-9,567,0,23,78,70]如果取消右递归,结果是[-567,-9,0,23,78,70]如果取消左递归,结果是[-9,-567,0,23,70,78]代码实现package com.hjx.datastructor;import java.util.Arrays;public class QuickSort { public static void main(String[] args) { int ar
2021-03-29 00:23:46
62
原创 Spring Boot整合-redis
Spring Boot整合-redis目标:在Spring Boot项目中使用Junit测试RedisTemplate的使用分析:添加启动器依赖;spring-boot-starter-data-redis配置application.yml中修改redis的连接参数;(redis需要启动)编写测试类应用RedisTemplate操作redis中的5种数据类型(string/hash/list/set/sorted set)小结:package com.hjx.pbip.common;i
2021-03-13 21:00:06
409
原创 OSI开放式互联七层参考模型
OSI开放式互联参考模型物理层:定义了物理设备的标准(网线的类型,光纤的接口类型,各种传输介质的传输速率等)。主要作用:传输比特流(就是所谓的0101的二进制数据,转化为电流强弱进行传输)。这一层的数据叫做比特。网卡,调制解调器就是工作在这一层。数据链路层:定义了如何格式化数据以进行传输,及控制如何对物理介质的访问。这层还提供错误检测和纠正,以确保数据传输的可靠性。将比特数据组成了帧(其实是将比特组合成字节,再将字节组合成帧)。其中交换机工作在这层。对帧解码,并根据帧中包含信息,把数据发送到正确的接收
2021-03-09 20:10:57
742
原创 docker中配置(安装启动)Redis
在docker中配置(安装启动)Redisyum install dockersystemctl start dockerdocekr versiondocker search redisdocker pull docker.io/redisdocker image lsdocker run -itd -name=myredis -p 6379:6379docker psdocker ps -adocker exec -i -t myredis /bin/bashdock
2021-03-04 23:06:18
134
1
原创 【SpringBoot】自动配置原理
自动配置原理目标:了解Spring Boot项目的配置加载流程小结:在 META-INF\spring.fatories文件中定义了很多自动配置类;可以根据在pom.xml文件中添加的 启动器依赖自动配置组件通过如下流程可以去修改application配置文件,改变自动配置的组件默认参数lombok应用目标:使用lombok的注解实现pojo类的简化分析:使用Spring Boot整合SSM工程;需要使用到数据库数据。将数据库表数据导入到数据库中(springboot_test)
2021-03-03 18:17:41
171
1
原创 【SpringBoot】多个yml文件配置
多个yml文件配置目标:可以将多个yml文件在application.yml文件中配置激活分析:yml与properties配置文件除了展示形式不相同以外,其它功能和作用都是一样的;在项目中原路的读取方式不需要改变。1)yml配置文件的特征:树状层级结构展示配置项;配置项之间如果有关系的话需要分行空两格;配置项如果有值的话,那么需要在 :之后空一格再写配置项值;将application.properties配置文件修改为application.yml的话:jdbc: driverC
2021-03-03 18:11:28
3055
1
原创 【SpringBoot】属性注入方式
Spring Boot属性注入方式目标:能够使用@ConfigurationProperties实现Spring Boot配置文件配置项读取和应用分析:需求:将配置文件中的配置项读取到一个对象中;实现:可以使用Spring Boot提供的注解@ConfigurationProperties,该注解可以将Spring Boot的配置文件(默认必须为application.properties或application.yml)中的配置项读取到一个对象中。实现步骤:创建配置项类JdbcPropert
2021-03-03 18:06:41
128
1
原创 【SpringBoot】Java代码配置数据库连接池
使用Java代码配置数据库连接池,并可以在处理器中注入并使用目标:可以使用@Value获取配置文件配置项并结合@Bean注册组件到Spring分析:需求:使用Java代码配置数据库连接池,并可以在处理器中注入并使用步骤:添加依赖;创建数据库;创建数据库连接参数的配置文件jdbc.properties;创建配置类;改造处理器类注入数据源并使用小结:package com.hjx.config;import com.alibaba.druid.pool.DruidDataSourc
2021-03-03 18:04:23
499
2
转载 在IDEA(2020.1)中配置Git,以及如何在idea中使用Git
目录展示: 一、 idea中配置git二、 idea中使用git可以直接在idea中使用命令操作git1.初始化本地仓库2.添加到暂存区3.提交到本地仓库4.推送至远程仓库5.直接克隆项目到本地6.拉取项目到本地7.创建分支 一、 idea中配置git 先配置好git的本地地址,然后test,出现版本号说明测试成功! 二、 idea中使用git 可以直接在idea中使用命令操作git 1.初始化本地仓库 选好项目点击OK即可。 2.添加到暂存区 3..
2021-02-24 17:57:30
1587
原创 Git分支
Git分支几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。1、 查看分支\# 列出所有本地分支$ git branch\# 列出所有远程分支$ git branch -r\# 列出所有本地分支和远程分支$ git branch -a
2021-02-24 17:51:17
81
原创 Git常用命令
Git常用命令1、环境配置当安装Git后首先要做的事情是设置用户名称和email地址(这里的email地址可以随意写)。这是非常重要的,因为每次Git提交都会使用该用户信息设置用户信息 git config --global user.name “hjx” git config --global user.email “hjx@.cn”查看配置信息 git config --list git config user.name通过上面的命令设置的信息会保存在~/.gi
2021-02-24 17:49:05
93
原创 Git-创建远程仓库
Git代码托管服务常用的Git代码托管服务前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器
2021-02-22 14:14:54
391
1
原创 Git与SVN对比及工作流程
Git与SVN对比SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。集中式版本控制工具缺点:服务器单点故障容错性差Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:本地仓库和远程仓库本地仓库:是在开发人员自己电脑上的Git仓库远程仓库:是在远程服务器上的Git
2021-02-21 12:12:51
303
原创 Linux基础知识
Linux基础知识1、linux文件系统文件类型普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为: 1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读
2021-02-21 10:19:58
107
原创 如何快速整合搭建ssm框架
如何快速整合搭建ssm框架一、数据库:建库建表二、idea:新建maven项目,注意勾选create from archetype-webappUser settings file是需要手动修改为自己的maven\config\settings.xml文件的位置Local repository 指的是maven所下的jar包存放的位置,手动修改完上一步,这一步会自动变为你的settings里的文件输出位置。1、创建完项目后就需要引包mysql\druid\mybatis\lombok\s
2021-02-08 20:08:42
151
2
原创 HashMap底层实现
HashMap底层实现IMyHashMap接口;MyHashMap实现类;MyHashMapTest测试类。IMyHashMap接口package com.hjx.map;public interface IMyHashMap { int size(); boolean isEmpty(); Object get(Object key); Object put(Object key, Object value); interface E
2021-02-08 20:03:41
71
原创 【服务器】
服务器浏览器从URL中解析出服务器的主机名浏览器讲服务器的主机名转化成服务器的IP地址(DNS解析)浏览器将端口号从URL解析出来浏览器建立一条鱼web服务器的TCP连接浏览器向服务器发送一条http请求报文服务器向浏览器回送一条http响应报文关闭连接,浏览器显示文档URL通用格式:– 最重要的3个部分:scheme:方案,访问服务器以获取资源时要使用哪种协议,如:http ,方案名是大小写无关的。host:主机,资源宿主服务器的主机名,ip地址 【最重要】path:路径,
2020-12-11 02:06:55
148
原创 JavaWeb开发
JAVAWEB开发一、环境集成1.1、创建项目创建项目-选择开发模块完成源码的关联 在web-inf下创建文件夹classes,用来存储编译后java源码。引入jar包1.引入servlet和jsp的jar。2.将需要的第三方jar包导入到web-inf下的lib1.2、测试项目启动项目访问首页,不会出现500和404即为成功!可以通过web配置和开发工具设置来改变,部署项目名。二、流程搭建2.1、全局配置 设置欢迎页面在web.xml里找到标签 welco
2020-12-09 21:56:18
356
原创 2020-11-26【路灯】动态规划
2020-11-26【路灯】动态规划题目描述一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai ,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要使这个d最小,请找到这个最小的d。输入描述:每组数据第一行两个整数n和l(n大于0小于等于1000,l小于等于1000000000大于0)。第二行有n个整数(均大于等于0小于等于l),为每盏灯的坐标,多个路灯可以在同一点。输出描述:输出答案,保留两位小数。示例1输入7
2020-11-26 23:25:42
402
原创 2020-11-25 【炮台攻击】数学
2020-11-25 【炮台攻击】数学题目描述兰博教训提莫之后,然后和提莫讨论起约德尔人,谈起约德尔人,自然少不了一个人,那 就是黑默丁格------约德尔人历史上最伟大的科学家. 提莫说,黑默丁格最近在思考一个问题:黑默丁格有三个炮台,炮台能攻击到距离它R的敌人 (两点之间的距离为两点连续的距离,例如(3,0),(0,4)之间的距离是5),如果一个炮台能攻击 到敌人,那么就会对敌人造成1×的伤害.黑默丁格将三个炮台放在N*M方格中的点上,并且给出敌人 的坐标. 问:那么敌人受到伤害会是多大?输入描述
2020-11-26 00:29:52
159
原创 【求最大公因数的方法】
总结一下:【求最大公因数的方法】方法1:穷举法 //求最大公约数方法1:穷举法 private static int maxCommon1(int a,int b){ if(a<b){ //如果a<b,先把ab交换,方便以后操作 int tmp=a; a=b; b=tmp; } //如果b能直接整除a,说明b是它们的最大公约数 if(a%b==
2020-11-25 00:21:25
886
原创 2020-11-24【小易的升级之路】递归
2020-11-24【小易的升级之路】递归题目描述小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系列的锻炼后,小易的最终能力值为多少?输入描述:对于每组数据,第一行是
2020-11-25 00:16:40
284
原创 2020-11-23【奖学金问题(动态规划)】
2020-11-23奖学金问题(动态规划)题目描述小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。输入描述:第一行三个整数n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等于1e9,avg大
2020-11-23 22:08:45
541
原创 2020-11-11【找出数组中重复的数字】
2020-11-11找出数组中重复的数字。在一个长度为 n 的数组nums 里的所有数字都在 0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000解答方法:遍历数组由于只需要找出数组中任意一个重复的数字,因此遍历数组,遇到重复的数字即返回。为了判断一个数字是否重复遇到,使用
2020-11-23 22:07:31
87
原创 前端【JS】
【JS】一、JavaScriptJavaScript是web的第三个支柱,除了HTML和CSS之外,它通常用于使web页面具有交互性。要理解JavaScript (JS),我们需要知道DOM是什么。**文档对象模型(DOM)**是一种独立于语言的应用程序编程接口,它将HTML文档转换为树结构。每个文档的节点都被组织在树结构中,称为DOM树,其中最顶层的节点称为“文档对象”。**浏览器对象模型(BOM)**统管浏览器的属性、结构、功能的。1、概述**JavaScript:**是客户端脚本语言。 *
2020-11-19 22:37:30
497
原创 前端【CSS】
前端【CSS】层叠样式表(Cascading Style Sheets, CSS)是一种样式表语言,用于描述用标记语言编写的文档的表示。基本的格式和样式可以通过HTML来完成,但是最好是使用CSS。web应用程序包含许多页面,无论是动态的还是静态的。如果我们使用HTML标签来设计信息,我们必须在每个页面中重复这些信息。假设我们想要改变背景颜色——我们必须为网站的每一个页面编辑HTML。相反,我们可以使用CSS在一个位置存储我们的样式定义,并将每个HTML页面引用到该位置。通过改变CSS文件,我们可以改
2020-11-19 22:30:57
172
原创 前端【HTML】
前端【HTML】一、HTML1、初始HTMLHTML 指 超文本标签语言,HTML 是通向 WEB 技术世界的钥匙。**WEB 技术:Web就是在Http协议基础之上, 利用浏览器进行访问的网站。Web Page指网站内的网页. 我们常说的WWW(World Wide Web 万维网)**就是这个概念下的内容。而Internet(互联网)则是一个更大的概念 Internet 上不只有Web, 还有FTP, P2P,Email, 或者App等其他多种不同的互联网应用方式. Web只是其中最广泛的一种
2020-11-19 22:25:45
78
原创 TCP三次握手四次挥手
TCP三次握手过程如下:第一次握手(客户端发送请求)客户机发送连接请求报文段到服务器,并进入SYN_SENT状态,等待服务器确认。发送连接请求报文段内容:SYN=1,seq=x;SYN=1意思是一个TCP的SYN标志位置为1的包,指明客户端打算连接的服务器的端口;seq=x表示客户端初始序号x,保存在包头的序列号(Sequence Number)字段里。第二次握手(服务端回传确认)服务器收到客户端连接请求报文,如果同意建立连接,向客户机发回确认报文段(ACK)应答,并为该TCP连接分配TCP缓存和
2020-11-19 22:22:28
54
原创 JDBC
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-11-06 21:17:29
67
原创 数据库【高级查询】
数据库【高级查询】1、嵌套查询嵌套查询也叫子查询,是把内层的查询结果作为外层的查询条件 。语法格式:select 字段名列表 from 表名 where 字段名 运算符(select 字段名 from 表名 where 条件)注意:外层的where的条件必须和内层的select查询的字段名一样,个数也一样如:把攻击值小于平均攻击值的名字和攻击值显示出来(sanguo表)2、多表查询语法格式:select 字段名列表 from 表1,表2 where 条件;笛卡尔积的匹配规则(面试中
2020-10-13 14:48:18
514
原创 数据库【主外键】
数据库【主外键】1、主外键的定义主关键字(primary key ): 是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。外关键字(foreign key) : 是用于建立或加强两个表数据之间的链接的一列或多列。如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表(父表),具有此外键的表被称为主表的从表(子表)。外键又称作外关键字。2、主外键的区别区别主键外键
2020-10-13 14:46:29
1544
原创 数据库【SQL语言】
数据库【SQL语言】1、数据定义语言DDL(Data Definition Language)对象: 数据库和表关键词: create 、alter、 drop、 truncate(删除当前表再新建一个一模一样的表结构)创建数据库:create database 库名;删除数据库:drop database 库名;切换数据库:use 库名;创建表:create table 表名(字段名 类型(大小) 关系描述);查看数据库里存在的表:show tables;修改:alter tab
2020-10-13 14:44:36
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人