Java学习
文章平均质量分 87
学习Java,解析Java面试题目
monkeyhlj
计算机专业学员,希望大家一起进步!加油!
Github: https://github.com/monkeyhlj
Gitee: https://gitee.com/monkeyhlj
展开
-
设计模式复习(Java)
享元是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。中介者是一种行为设计模式,能让你减少对象之间混乱无序的依赖关系。策略是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换。观察者是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。装饰是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。原创 2022-09-18 21:24:31 · 795 阅读 · 0 评论 -
DevOps流程demo(实操记录)
DevOps流程demo(实操记录)安装下载流程VMVare安装Centos下载centos-gitlab安装docker安装gitlabcnetos-jekinsjdk和maven安装jenkins安装配置jenkins简单走一下CI流程补充基础CD操作sonarQube安装jenkins整合sonarQubeHarbor安装(镜像仓库)把harbor整合到jenkinsjenkins流水线通知钉钉Kubernates安装k8s管理工具一个pod里面运行一个ngi原创 2022-08-03 17:20:13 · 712 阅读 · 1 评论 -
DevOps-了解学习
软件开发最开始是由两个团队组成:·开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。·运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。这看似两个目标不同的团队需要协同完成一个软件的开发。在开发团队指定好计划并完成coding后,需要提供到运维团队。运维团队向开发团队反馈需要修复的BuG以及一些需要返工的任务。...转载 2022-06-20 17:21:04 · 129 阅读 · 0 评论 -
设计模式笔记
文章目录设计模式笔记一、创建型模式工厂方法抽象工厂生成器原型单例二、结构型模式适配器桥接装饰代理三、行为模式迭代器观察者模板方法设计模式笔记这个只能理解记忆,很多时候有些结构容易记混淆,结合例子记忆会好些,记录一篇方便以后回来看看哈哈哈分为三种类型:一、创建型模式创建型模式提供了创建对象的机制,能够提升已有代码的灵活性和可复用性。工厂方法工厂方法是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。==== 示例:==============翻译 2022-05-08 21:57:10 · 209 阅读 · 0 评论 -
面向对象开发基本原则笔记-(理解记忆)
文章目录面向对象开发基本原则笔记-(理解记忆)单一职责原则开闭原则里式替换原则接口隔离原则依赖倒置原则面向对象开发基本原则笔记-(理解记忆)单一职责原则修改一个类的原因只能有一个。尽量让每个类只负责软件中的一个功能,并将该功能完全封装(你也可称之为隐藏)在该类中。这条原则的主要目的是减少复杂度。示例:===================================================================我们有几个理由来对 雇员 Employee 类进行修改。第原创 2022-05-08 19:08:03 · 311 阅读 · 0 评论 -
认识netty+实战
文章目录认识netty+实战一、初识netty二、Netty应用场景三、书籍推荐四、Netty名词介绍Netty线程模型(Reactor线程模型)一、单线程模型二、多线程模型三、主从线程模型Netty服务器搭建Netty实时通信原理一、实时通信二、websocket api(JS)认识netty+实战官网:https://netty.io/一、初识netty1、Netty 由JBOSS提供的一个开源框架,现为github上的独立项目2、Netty是一个异步的、基于事件驱动的网络应用框架,用于快速开原创 2022-05-04 15:31:36 · 1018 阅读 · 0 评论 -
基于Netty的简单聊天室的实现
基于Netty的简单聊天室的实现可以先看一下效果截图:首先服务端启动,随之启动三个客户端:其中,客户端2发送消息:I am monkeyhlj客户端1和客户端3分别接收到客户端2的消息:之后,客户端2和3分别下线:客户端1下线:Demo的代码如下:所需依赖: <dependencies> <dependency> <groupId>io.netty</groupId>原创 2022-04-27 16:06:07 · 378 阅读 · 0 评论 -
BIO,NIO,AIO实践学习笔记(便于理解理论)
文章目录BIONIOAIOBIOpackage com.monkey.bio;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class SocketServer { public static void main(String[] args) throws IOException{ //cmd命令: telnet localhost 9000原创 2022-04-25 17:22:00 · 870 阅读 · 0 评论 -
框架复习笔记-Java-案例:牛客网讨论社区
文章目录搭建开发环境Spring入门Spring IoC实例分析Spring MVC入门请求响应Mybatis入门案例:开发者社区首页调试技巧日志版本控制-Git发送邮件开发注册功能登录之会话管理登录之生成验证码登录退出登录注册之拦截器账号设置检查登录状态过滤敏感词-前缀树发布帖子及帖子详情事务管理-(重点:需要理解记忆)搭建开发环境mvn cmpile 编译mvn clean test 清理后测试浏览器访问:Spring入门Spring IoC实例分析原创 2022-01-11 22:18:40 · 710 阅读 · 1 评论 -
基于Java线程池读取数据库中数据(学习+运用)
基于Java线程池读取数据库中数据Main.javaimport java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit; public class Main { private static final int CORE_POOL_SIZE = 5;//核心线程数为5 private stati原创 2021-10-08 12:54:16 · 1742 阅读 · 0 评论 -
SpringCloud学习笔记(1)- Spring Cloud Alibaba
文章目录SpringCloud学习笔记(1)- Spring Cloud Alibaba服务治理Nacos 服务注册Nacos 服务发现与调用Ribbon 负载均衡Sentinel 服务限流降级流控规则流控效果降级规则热点规则授权规则自定义规则异常返回整合 RocketMQ安装 RocketMQ安装 RocketMQ 控制台Java 实现消息发送Java 实现消息消费Spring Boot 整合 RocketMQ服务网关Gateway 限流分布式事务模拟分布式事务异常Seata 解决(事务回滚)Sprin转载 2021-09-09 20:21:40 · 169 阅读 · 0 评论 -
SpringCloud学习笔记(1)- Spring Cloud Netflix
文章目录SpringCloud学习笔记(1)- Spring Cloud Netflix单体应用存在的问题Spring Cloud EurekaEureka Server代码实现Eureka Client 代码实现RestTemplate 的使用服务消费者 consumer服务网关Ribbon 负载均衡FeignHystrix 容错机制Spring Cloud 配置中心本地文件系统创建客户端读取本地配置中心的配置文件Spring Cloud Config 远程配置创建 Config Client服务跟踪创建原创 2021-09-08 18:29:28 · 120 阅读 · 0 评论 -
Spring Boot学习笔记-进阶(3)
文章目录Spring Boot学习笔记-进阶(3)一、Spring Boot与缓存二、Spring Boot与消息三、Spring Boot与检索四、Spring Boot与任务异步任务定时任务邮件任务五、Spring Boot与安全六、Spring Boot与分布式七、Spring Boot与开发热部署八、Spring Boot与监控管理Spring Boot学习笔记-进阶(3)一、Spring Boot与缓存JSR-107、Spring缓存抽象、整合Redispackage co转载 2021-09-06 20:40:51 · 178 阅读 · 0 评论 -
Spring Boot学习笔记-基础(2)
Spring Boot学习笔记-基础(2)Spring Boot 优点:– 快速创建独立运行的Spring项目以及与主流框架集成– 使用嵌入式的Servlet容器,应用无需打成WAR包– starters自动依赖与版本控制– 大量的自动配置,简化开发,也可修改默认值– 无需配置XML,无代码生成,开箱即用– 准生产环境的运行时应用监控– 与云计算的天然集成1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站原创 2021-09-04 19:55:20 · 352 阅读 · 0 评论 -
Spring Boot学习笔记(1)
文章目录Spring Boot学习笔记Spring Boot 整合 JSPSpring Boot HTMLThymeleaf 常用语法Spring Boot 数据校验Spring Boot 整合 JDBCSpring Boot 整合 MyBatisSpring Boot整合Spring Data JPASpring Boot学习笔记Spring Boot 是一个快速开发框架,可以迅速搭建出一套基于 Spring 框架体系的应用,是 Spring Cloud 的基础。Spring Boot 开原创 2021-09-01 21:29:12 · 399 阅读 · 0 评论 -
Shiro学习记录(详细)
文章目录Shiro学习记录shiro核心组件Spring Boot 整合 ShiroShiro 整合 ThymeleafShiro学习记录什么是 Shiro官网:http://shiro.apache.org/是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 就是用来解决安全管理的系统化框架。shiro核心组件用户、角色、权限(三者关系)会给角色赋予权限原创 2020-08-21 10:32:18 · 257 阅读 · 0 评论 -
mybatis-plus学习记录(详细)
文章目录mybatis-plusMyBatis Plus 快速上手常用注解查询自定义 SQL(多表关联查询)添加删除修改MyBatisPlus自动生成Spring Boot +MyBatis Plus 打包,发布阿里云获取代码地址见下GitHub链接mybatis-plus国产的开源框架,基于MyBatis核心功能就是简化 MyBatis 的开发,提高效率。MyBatis Plus 快速上手Spring Boot(2.3.0) + MyBatis Plus(国产的开源框架,并没有接入到 Sprin原创 2020-08-19 20:57:47 · 2289 阅读 · 0 评论 -
Hibernate学习笔记
文章目录Hibernate学习笔记如何使⽤具体操作Hibernate 级联操作Hibernate 实现⼀对多与多对多Hibernate 延迟加载⼀对多多对多Hibernate 配置⽂件Hibernate.xml实体关系映射⽂件hibernate-mapping 属性class 属性id 属性property 属性实体关系映射⽂件属性cascade:⽤来设置级联操作Hibernate HQL1、查询对象2、分⻚查询3、where 条件查询4、模糊查询5、order by6、查询实体对象的属性7、占位符8、级联原创 2021-08-30 22:15:51 · 207 阅读 · 0 评论 -
SSM框架整合
文章目录SSM框架整合SSM框架整合Spring + Spring MVC + MyBatisSpring MVC 负责实现 MVC 设计模式,MyBatis 负责数据持久层,Spring 负责管理 Spring MVC 和 MyBatis 相关对象的创建和依赖注入。创建 Maven 工程,pom.xml<dependencies> <!-- SpringMVC --> <dependency> <groupId>org.spr原创 2021-08-28 11:51:12 · 114 阅读 · 0 评论 -
Mybatis学习笔记
文章目录Mybatis学习笔记MyBatis如何使⽤Mapper.xml级联查询逆向⼯程如何使⽤MyBatis 延迟加载MyBatis 缓存MyBatis 动态 SQLMybatis学习笔记MyBatisORMapping: Object Relationship Mapping 对象关系映射对象指⾯向对象关系指关系型数据库Java 到 MySQL 的映射,开发者可以以⾯向对象的思想来管理数据库。如何使⽤新建 Maven ⼯程,pom.xml<dependencies&原创 2021-08-28 11:07:30 · 145 阅读 · 0 评论 -
SpringMVC学习笔记
文章目录SpringMVC学习笔记Spring MVC什么是 MVC 设计模式?Spring MVC 的核心组件Spring MVC 的工作流程如何使用?Spring MVC 注解Spring MVC 数据绑定Spring MVC 模型数据解析Spring MVC 自定义数据转换器Spring MVC REST特点如何使用Spring MVC 文件上传下载Spring MVC 表单标签库常用的表单标签Spring MVC 数据校验SpringMVC学习笔记Spring MVCSpring MVC原创 2021-08-27 18:17:32 · 128 阅读 · 0 评论 -
Spring学习笔记
文章目录Spring学习笔记Spring 框架两大核心机制(IoC、AOP)如何使用 IoC配置文件IoC 底层原理通过运行时类获取 bean通过有参构造创建 bean给 bean 注入集合scope 作用域Spring 的继承Spring 的依赖Spring 的 p 命名空间Spring 的工厂方法IoC 自动装载(Autowire)AOP如何使用AOPSpring学习笔记Spring 框架两大核心机制(IoC、AOP)IoC(控制反转)/ DI(依赖注入)AOP(面向切面编程)Spring原创 2021-08-26 19:03:09 · 94 阅读 · 0 评论 -
JavaWeb基础学习笔记
TomcatWeb 应⽤服务器:Tomcat、Jboos、Weblogic、Jetty安装 Tomcat1、官⽹下载压缩⽂件。https://tomcat.apache.org/download-90.cgi2、解压缩。bin:存放各个平台下启动和停⽌ Tomcat 服务的脚本⽂件。conf:存放各种 Tomcat 服务器的配置⽂件。lib:存放 Tomcat 服务器所需要的 jar。logs:存放 Tomcar 服务运⾏的⽇志。temp:Tomcat 运⾏时的临时⽂件。webapp原创 2021-08-25 18:18:48 · 594 阅读 · 0 评论 -
Java基础学习笔记
Java基础学习笔记一、Java体系1、Java基础1、跨平台2、面向对象编程语言3、分布式计算2、Java 的运行机制编程 Java 程序编译 Java 文件JVM 读取字节码文件运行程序3、Java 的三大体系Java SE(J2SE) ( Java Platform,Standard Edition)。Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支持Java Web 服务开发的类,并为原创 2021-08-24 12:09:34 · 375 阅读 · 8 评论 -
前后端分离项目部署(服务器或本地)
文章目录前后端分离项目部署(服务器或本地)前端部署(以vue项目为例)后端部署(以Springboot项目为例)前后端分离项目部署(服务器或本地)前端部署(以vue项目为例)部署环境:Nginx配置文件:vue.config.js更多可见此文章vue项目打包与配置-学习笔记(vuecli4):https://blog.csdn.net/hhhmonkey/article/details/119004525以下是vuecli2:CDN优化:module.exports = { ...原创 2021-08-02 21:26:15 · 2343 阅读 · 5 评论 -
Java合并pdf文件
Java合并pdf文件今天帮老师整理资料需要合并pdf文件,下了许多软件发现都需要VIP才行,所以写了个程序来帮助合并,直接在主程序中修改文件路径即可,如下图:主要代码如下:package com.pdf;import java.io.File;import java.io.IOException;import java.util.Date;import org.apache.pdfbox.exceptions.COSVisitorException;import org.apache.原创 2021-05-08 20:46:49 · 1714 阅读 · 0 评论 -
二叉树遍历(附Java实现代码)
二叉树遍历(附Java实现代码)二叉树遍历可以有两种方法:递归遍历的方式与非递归遍历的方式。先序遍历就是先遍历根节点再左再右;中序遍历就是先左再根再右;后序遍历就是先左再右再根;先构建这棵树,然后分别调用相应的方法实现,代码如下:package binarytree;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;import ja原创 2020-10-04 19:56:40 · 1050 阅读 · 0 评论 -
动态规划(Dynamic Programming)例题步骤详解
文章目录动态规划(Dynamic Programming)浅学题目特点:1、选择硬币组合问题:(Coin Change)动态规划题四个核心步骤:一、确定状态二、转移方程三、初始条件和边界情况四、计算顺序小结:编程代码:(Java)2、多少种路径问题(Unique Paths)1、确定状态2、转移方程3、初始条件和边界情况4、计算顺序编程代码:(Java)3、Jump Game1、确定状态2、转移方程3、初始条件和边界情况4、计算顺序编程代码:(Java)总结动态规划(Dynamic Programming原创 2020-08-22 18:31:49 · 717 阅读 · 0 评论 -
十大排序算法(Java)
文章目录十大排序算法(Java)一、冒泡排序(Bubble Sort)二、选择排序(Selection Sort)三、堆排序(Heap Sort)四、插入排序(Insertion Sort)五、归并排序(Merge Sort)六、快速排序(Quick Sort)七、希尔排序(Shell Sort)八、计数排序(Counting Sort)九、基数排序(Radix Sort)十、桶排序(Bucket Sort)扩展:十一、史上“最强”排序-休眠排序666(仅供参考,不要用!!)十大排序算法(Java)小猴原创 2020-08-13 16:48:36 · 292 阅读 · 0 评论