java
文章平均质量分 77
huisheng_qaq
翻过这座山,他们就会听到你的故事
展开
-
MAVEN的安装以及配置
maven的安装与配置1,先在官网中下载MAVEN安装包附上网址:http://maven.apache.org/点击左边的下载界面寻找到与相应系统的,如图所示再解压后选择安装路径,尽量放置在c盘以外的盘这是我的安装路径,接下来我们需要自己的安装路径,在系统环境中进行配置在系统变量中点击新建,如下图之后在系统变量的Path路径下,点击编辑,再然后在左边点击新建点击确定就ok了接下来就来测试是否安装配置成功打开我们的win + R,输入cmd命令在里面输入MAVEN -vers原创 2020-09-04 11:49:24 · 1050 阅读 · 2 评论 -
java设计模式---责任链模式详解
深入理解责任链模式原创 2022-09-11 21:43:18 · 16750 阅读 · 8 评论 -
java设计模式---代理模式详解
代理模式超级详解原创 2022-09-10 23:15:44 · 1607 阅读 · 1 评论 -
jvm之java内存区域(一)
一、概述用c或者c++写过算法的人都该知道,对于内存管理区域,需要手动设置和管理,即拥有每个对象的所有权,但也背负着每个对象生命的开始和结束。但是在java中,就不需要这么复杂的操作了,在虚拟机自动内存的管理机制下,不需要特意的去管理对象的 ‘生’ 和 ‘死’ 了,也因虚拟机的存在,不容易出现内存泄露和溢出问题。但是正是因为虚拟机帮java程序员解决了内存管理的问题,因此需要去学习 jvm 是如何操作的,这样一旦在出现内存泄露的问题的时候,将可以快速的排查错误和解决问题二、运行时数据区如上图所示,j原创 2021-05-05 23:10:01 · 459 阅读 · 3 评论 -
springcloud入门超级详解
一,什么是微服务微服务的核心就是将传统的一站式应用,根据业务拆分成一个个的服务,彻底去解耦,每一个微服务提供单个业务功能得服务,一个服务做一件事情,从技术角度上看,就是一种小而独立的处理过程,能够自行单独启动或销毁,拥有自己独立的数据库用官方的话来说基于springboot提供了一套微服务解决方案,包括服务注册与发现没配置中心,全链路监控服务网关,负载均衡,熔断器等组件。基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件在学习每一门的新技术之前,都离不开官方文档,如一下原创 2021-02-11 21:59:41 · 4107 阅读 · 13 评论 -
tcp/ip之三次握手,四次挥手(超级详解)
一,原理解析通过上图可知,tcp在发送报文时的基本数据情况列在上表。由于只对握手以及挥手进行讲解,那么仅需要对其中的几个参数进行分析即可,先记着以下的参数,有利于后面的分析32位序列号 : seq (该序列号为一个随机序列号)32位确认序列号 : ackACK : 确认接收的信号 状态为1FIN :建立断开的确认序列号 状态为1SYN :建立连接的确认序列号 状态为1二,三次握手如上图1,由客户端向服务端发送请求,如果发送成功,那么需要建立一个确认连接的序列号,并产生一个seq的随机原创 2021-02-08 13:44:15 · 1171 阅读 · 0 评论 -
一篇了解数据库中的控制事务
一,什么是事务事务,指一组相互以来的操作行为。只有事务中所有的操作成功,才意味着整个事务成功,只要有一个事务失败,就意味着整个事务失败。在数据库中,事务实际上是一组SQL语句,这些SQL语句通常会涉及到更新数据库中的数据操作。数据库系统会保证只要当事务执行成功时,才会永久保存事务对数据库所做的更新,如果事务执行失败,就会使数据库系统回滚到执行事务前的初始状态。二,用实例说明在现实生活中,假如小胡到银行办理转账事务,向把100元转到小李身上,那么必定有以下操作:从小胡身上减去100,小李身上加上100。原创 2021-02-08 00:50:29 · 595 阅读 · 1 评论 -
一篇吃透 HTTP 请求
一,什么是HTTPHTTP:Hypertext Transfer Protocol,超文本传输协议,该协议为网络应用层的协议,并且建立在TCP/IP。HTTP使用的是可靠的TCP连接(UDP连接是不可靠的),默认端口号为80。HTTP是基于客户/服务模式,客户端主动发送请求,服务器接收HTTP请求,返回HTTP响应结果。通俗的来说,就是当用户打开浏览器,输入一个URL地址,就能接收到远程HTTP服务器发送过来的网页。HTTP严格的规定了HTTP请求和HTTP响应的格式数据,只要HTTP服务器与客户程原创 2021-02-07 18:34:14 · 457 阅读 · 4 评论 -
java实现23种设计模式-观察者模式
一,引言观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。二,以天气气象台为例,来讲述什么是观察者模式以天气气象台为例,subject接口用于对观察者的注册,删除,以及查询所有的观察者。ObServer接口用于对观察者的具体实现.并在 气象台更新数据后,通知所有的观察者去修改数据subject接口packa原创 2021-02-01 12:27:25 · 489 阅读 · 0 评论 -
java实现23种设计模式-策略者模式
一,什么是策略者模式定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法原则:1,把变化的代码从不变的代码中分离出来2,针对接口编程而不是具体类,定义策略接口3,多用组合/聚合二,以鸭子为例子,介绍什么是策略者模式定义一个鸭子类public abstract class Duck { public void fly(){ System.out.println("我会飞"); } public void swim(){原创 2021-01-31 22:05:18 · 607 阅读 · 0 评论 -
java实现23种设计模式-引言
一,引言设计模式不局限于任何语言,只是一种编程的解决方案二,设计模式的作用为了解决程序带来的耦合性,内聚性,可维护性,可扩展性,重用性,灵活性代码重用性:可用的代码不需要多次的编写可读性:程序规范性,便于其他程序员阅读可扩展性:当需要增加新的功能时,非常的方便可靠性:当我们增加新的功能后,对原来的功能没有新的影响使程序与程序之间呈现高内聚,低耦合功能三,设计模式七大设计原则开闭原则分别为:单一职责,接口隔离原则,依赖倒置原则,里氏替换原则,开闭原则,迪米特法则,合成复用原则1,单一职责原创 2021-01-31 14:32:56 · 285 阅读 · 1 评论 -
Mybatis-Plus之逆向工程之旅
一,任何学习都离不开官方文档文档:https://baomidou.com/guide/generator.html二,使用逆向工程1,当别人丢给你一个sql脚本时,这时使用逆向工程简直不要太爽,当然逆向工程的方式有很多种,如有很多插件也可以逆向工程。这里主要对mybati-plus进行讲解2,使用逆向工程也有不足之处,就是需要有数据库以及数据表,这是有点可惜的。这也解释了为什么有的人在考虑设计一个项目时先考虑设计数据库了,对于 java 工程师真的爽,也正是越来越简便的缘故,不得不说 java工程原创 2021-01-23 20:36:23 · 799 阅读 · 12 评论 -
springboot整合mybatis-plus详解
1,简介简称MP:是一款MyBatis的增强工具,在mybatis的基础上只做增强,不做改变,为简化而生,提高工作效率官网:https://baomidou.com/guide/2,新建springboot项目3,新建数据库user4,所需要的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring原创 2021-01-06 00:35:16 · 868 阅读 · 3 评论 -
springboot整合swagger2
1,概念Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。2,使用swagger优势支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。3,接下来开始整合,使用原创 2020-12-31 20:38:51 · 664 阅读 · 0 评论 -
springboot整合redis超级详解
redis中文官网:http://www.redis.cn/redis-windows安装下载:https://github.com/tporadowski/redis/releases接下来正式实现整合,在springboot中使用redis1,创建springboot项目2,需要的依赖 jedis,同时需要使用下面的fastjson <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <depen原创 2020-12-30 02:27:29 · 3667 阅读 · 8 评论 -
java实现hash算法
package sanguigu.shujujiegou;import java.util.Scanner;public class HashTableQaq { public static void main(String Args[]){ int data = 7; //创建一个hash表 Hashtable hashtable = new Hashtable(data); String key = "";原创 2020-11-05 21:13:36 · 425 阅读 · 1 评论 -
springboot整合mybatis(详解)
springboot整合mybatis1,整体结构2,需要的依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>原创 2020-11-05 14:01:02 · 111838 阅读 · 61 评论 -
java实现基数排序
基数排序,又称为桶排序的拓展1,接下来看图理解实现的过程定义10个桶,相当于定义了一个二维数组,每个桶相当于一个以为数组以数组中的每个数据的各个位数上的值进行比较,即先各位,再1十位,再百位…一直下去以int data[] = {53,3,542,748,14,214}为例对以个数的大小进行划分,顺序的存入到不同的桶中第一轮,先判断各位上的数,得到的的数据为{542,53,3,14,214,748}![在这里插入图片描述](https://img-blog.csdnimg.cn/202011原创 2020-11-04 16:39:21 · 646 阅读 · 1 评论 -
java实现归并排序
用java写归并排序主要思想:先分再合,使用分治的方法1,第一步,先说如何分假设有数组8个数字,先分为4,在分为2,再分为1这边使用递归,详情见图片这样的话就将所有的数据递归,即将所有的数据给分开,再来组合2,合两两组合,在组合时并且比较大小3,代码package sanguigu.sort;import java.util.Arrays;/** * 快速排序,使用分治的方法 * @author:zhenghuisheng */public class Kuaipai原创 2020-11-04 11:58:05 · 425 阅读 · 0 评论 -
idea实现spring + springMVC + mybatis 整合(2)
承接上文,在测试完成后,简单实现猴子信息的增删改查1,编写公共页面,test.jsp,并且自带查询全部猴子信息功能<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head> <title>Title</title> <%--BootStrap美化界面--%> <link href="https://cdn原创 2020-10-08 11:34:47 · 371 阅读 · 1 评论 -
idea实现spring + springMVC + mybatis 整合(1)
使用mave项目,实现简单地从页面到数据库的增删改查1,目录结构2,需要的依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.8.RELEASE</version>原创 2020-10-07 18:03:51 · 645 阅读 · 2 评论 -
idea简单实现mybatis(详解),使用maven项目
使用maven项目,前面有详解如何配置mavenmybatis,主要就是在mvc中的dao层,用于对数据库进行操作,接下来可以分成一条线,相当于工厂模式一样掌握这个mybatis1,目录2,编写pojo中的实体类package com.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data//全参构造@AllArgsConstructor//无参构原创 2020-10-05 22:14:15 · 541 阅读 · 0 评论 -
Idea简单实现springMVC,使用maven项目(详解)
在idea中,依旧使用maven项目(前面详解)步入主题,springMVC主要就是封装了servlet,以DispatcherServlet的形式出现在配置文件中,接下来进行详细的配置目录视图展示,防止在讲哪个文件在哪里时出现懵b状态1,导入依赖springMVC可以说就是一个spring的一种具体实现,因此需要spring的核心包,还需要servlet以及jsp的核心包,可以使用juint测试<dependency> <groupId>org.sp原创 2020-10-05 21:34:38 · 774 阅读 · 0 评论 -
spring中List,Set,Map集合的输出(详解)
注入依赖:注入:bean的所有属性都由容器来注入依赖:bean的所有配置都离不开容器附:学习spring可以直接看文档基于setter配置1,使用list将集合输出(需要的jar包上一章有),主要区分value和ref的使用区别value:即字面量属性ref:非字面量属性接下来看代码,新建两个javabean,建在pojo包下代码分别为Student.javapackage pojo;public class Student { private String name;原创 2020-09-16 15:04:15 · 917 阅读 · 0 评论 -
使用idea写的第一个spring详解
创建一个maven项目(具体前面有写)导入java包,由于我们使用的是maven,因此导入依赖即可需要导入核心依赖以及日志依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.8.RELEASE</原创 2020-09-16 12:40:39 · 473 阅读 · 0 评论 -
使用java实现qq邮箱信息的发送(纯java实现)
需要的jar包准备:附上jar包下载链接:mail的jar包下载链接activation的jar包下载接下来在我们的浏览器中获取我们的email的邮箱授权码登录网页上的qq邮箱,找到里面的设置下面的账户在往下面找到我们的各个服务,如下:获取授权码接下来在idea中或者eclipse中创建普通项目就行,在导入我们先前所下载的jar包到lib目录下接下来就代码实现了都写在一个类中,代码有点繁琐。。package zhenghuisheng;import com.sun.mail.ut原创 2020-09-16 00:33:55 · 1505 阅读 · 1 评论