JAVA后端
文章平均质量分 71
为本人后端学习之路上的总结
你得支棱起来呀-
如果想私聊博主帮忙解决问题,麻烦先关注一下,博主看到私信后且懂的话,一定帮忙解决。
展开
-
SSM框架的官方文档链接
MyBatis官方文档:Spring官方文档全英版:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.htmlSpring中文文档:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference原创 2021-08-01 22:27:48 · 929 阅读 · 1 评论 -
Redis基础概念以及面试问题
1、什么是 Redis?Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:① Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。② Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。 Redis 支持数据的备份,即 master-slave 模式的数据备份。原创 2021-04-13 15:18:08 · 132 阅读 · 0 评论 -
Kafka的简单原理以及和rabbitMq的区别
RabbitMQ和kafka的区别1.应用场景方面RabbitMQ:用于实时的,对可靠性要求较高的消息传递上。kafka:用于处于活跃的流式数据,大数据量的数据处理上。2.架构模型方面producer,broker,consumerRabbitMQ:以broker为中心,有消息的确认机制kafka:以consumer为中心,无消息的确认机制3.吞吐量方面RabbitMQ:支持消息的可靠的传递,支持事务,不支持批量操作,基于存储的可靠性的要求存储可以采用内存或硬盘,吞吐量小。kafka:内部原创 2021-03-13 14:41:50 · 1345 阅读 · 0 评论 -
SpringBoot + Redis 实现分布式缓存以及可能出现的问题
缓存概念缓存(Cache):指将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度。以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓存中,最后返回给调用方。本地缓存:指程序级别的缓存组件,它的特点是本地缓存和应用程序会运行在同一个进程中,所以本地缓存的操作会非常快,因为在同一个进程内也意味着不会有网络上的延迟和开销。本地缓存适转载 2021-03-13 14:17:22 · 348 阅读 · 0 评论 -
微服务和分布式的区别,个人看法
分布式:一个业务分拆多个子业务,部署在不同的服务器上微服务:在设计一个商城系统的时候,比如有用户模块,支付模块,购物车模块,订单模块等,此时可以采用SOA(面向服务的架构)模型,把这些功能模块拆分出来,做成一个个服务,如用户服务,支付服务等。这样就成了多个服务组成一个完整的商城系统。分布式:上边拆分出来的一个个服务就是微服务,这些服务之间通过良好的接口和协议联系起来。此时就要考虑如何部署这些微服务了,是选择部署到一个服务器上呢,还是部署到不同的服务器上。前者是微服务与分布式的细微区别,后者就是.原创 2021-03-13 11:36:40 · 1466 阅读 · 1 评论 -
zookeeper面试题常考和高频
推荐一位博主写的https://www.cnblogs.com/lanqiu5ge/p/9405601.html转载 2021-03-13 11:03:30 · 74 阅读 · 0 评论 -
分布式Zookeeper集群的Leader选举详细过程
最近在复习Zookeeper,leader选举过程,这位博主写的很好,转载一下https://www.cnblogs.com/leesf456/p/6107600.html一、前言 前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举 2.1 Leader选举概述 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一转载 2021-03-13 10:54:38 · 524 阅读 · 0 评论 -
SpringSecurity的内部执行流程
SpringSecurity是用来保护网页或者接口不被所有用户随意访问,因此它包含两个功能,认证和授权,认证就是登录,授权就是根据登录的用户的角色而给与不同的系统权限,比如你们的校园网,一般氛围管理员、教师和学生,你登录和老师登录系统后,得到的权限是不一样的,这就是权限管理。在不用SpringSecurity等权限管理框架的情况下,我们设计的登录系统的基本逻辑就是:前端表单输入用户名和密码——>通过用户名在数据库中查找该用户(queryByUsername)——>通过对比表单接收的密码和原创 2021-03-10 19:00:54 · 258 阅读 · 1 评论 -
java后端技术栈 基本齐全
java技术栈1 java基础:1.1 算法1.1 排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序 1.2 二叉查找树、红黑树、B树、B+树、LSM树(分别有对应的应用,数据库、HBase) 1.3 BitSet解决数据重复和是否存在等问题1.2 基本2.1 字符串常量池的迁移 2.2 字符串KMP算法 2.3 equals和hashcode 2.4 泛型、异常、反射 2.5 string的hash算法 2.6 hash冲突的解转载 2021-02-24 09:16:58 · 810 阅读 · 1 评论 -
简单和常用的设计模式的Java实现
1、单例模式单例模式(Singleton)的目的是为了保证在一个进程中,某个类有且仅有一个实例。因为这个类只有一个实例,因此,自然不能让调用方使用new Xyz()来创建实例了。所以,单例的构造方法必须是private,这样就防止了调用方自己创建实例,但是在类的内部,是可以用一个静态字段来引用唯一创建的实例的:单例模式的实现方式很简单:只有private构造方法,确保外部无法实例化; 通过private static变量持有唯一实例,保证全局唯一性; 通过public static...原创 2021-02-23 10:57:25 · 103 阅读 · 1 评论 -
redis简单操作
一、基本命令1、基础命令开启redis客户端: redis-cli2、二、发布订阅 开启本地 Redis 服务,开启两个 redis-cli 客户端。 在第一个 redis-cli 客户端输入SUBSCRIBE runoobChat,意思是订阅runoobChat频道。 在第二个 redis-cli 客户端输入PUBLISH runoobChat "Redis PUBLISH test"往 runoobChat 频道发送消息,这个时候在第一个 red...转载 2021-02-22 19:41:00 · 232 阅读 · 0 评论 -
编程菜鸟之SpringScurity的初体验
在不进行分布式的情况,在Springboot中配置SpringScurity很简单,只需要在创建spring boot项目时勾选SpringScurity依赖,或者在pom文件中添加依赖。1、引入SpringScurity或者在pom.xml文件中添加依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta原创 2021-02-20 14:38:40 · 261 阅读 · 0 评论 -
Zookeeper Leader的选举原理
为转载其他教程:https://www.runoob.com/w3cnote/zookeeper-leader.htmlzookeeper 的 leader 选举存在两个阶段,一个是服务器启动时 leader 选举,另一个是运行过程中 leader 服务器宕机。在分析选举原理前,先介绍几个重要的参数。服务器 ID(myid):编号越大在选举算法中权重越大 事务 ID(zxid):值越大说明数据越新,权重越大 逻辑时钟(epoch-logicalclock):同一轮投票过程中的逻辑时钟值是相同的,转载 2021-02-20 10:24:38 · 150 阅读 · 0 评论 -
基于Vue的前后端分离开发的前端项目构建
注:贴子是复制粘贴的,只是防止找不到帖子,原文章:https://learner.blog.csdn.net/article/details/88926242一、安装 Vue CLI因为需要使用 npm 安装 Vue CLI,而 npm 是集成在 Node.js 中的,所以第一步我们需要安装 Node.js,访问官网 https://nodejs.org/en/,首页即可下载。图中左边是长期支持版本,右边是当前版本,下载哪个都行,我一般选择长期支持版本。下载完成后运行安装包,一路下一步就.转载 2021-01-13 19:54:59 · 1102 阅读 · 0 评论 -
在spring boot中利用Junit测试dao层的方法
因为dao层是接口,而且实现类也没有了,用了xml文件来对接口进行实现,所以在测试类进行dao层的测试的时候,可能会有点不适应,但其实在spring boot环境下测试是更方便的在相同的目录下新建测试类,测试类代码如下@RunWith(SpringRunner.class) //这两个注解是为了让测试类能拥有同等的spring boot上下文环境@SpringBootTestpublic class UserDaoTest { @Autowired UserDao u原创 2020-12-15 00:30:59 · 2410 阅读 · 0 评论 -
springboot中遇到的坑!!!!警醒一下自己
愚蠢愚蠢愚蠢愚不可及一个很简单的错误,导致找了大半天那就是dao接口的方法名字,和接口所对应的xml文件中的方法名字要一样,比如dao接口public interface UserAdminDao { public UserAdmin queryUserAdmin(String username);//切记!!!!!!!对应的xml文件中的相同方法,方法名要一样,如xml中id要为queryUserAdmin}对应的xml文件UserAdminDao.xml原创 2020-12-14 00:44:47 · 167 阅读 · 0 评论 -
mall项目架构设计
mall项目架构设计一、系统架构后端:spring boot、redis、MySQL、springsecrity、es、mq前端:Vue角色:管理员、卖家、买家(登录和未登录)二、系统功能规划登录管理员权限用户列表 角色列表 菜单列表 资源列表营销秒杀活动列表 商品推荐 人气推荐订单订单列表 订单设置 退货申请处理 退货原因设置商品商品列表 操作商品(增删查改) 商品分类 商品类型买家首页秒杀 人气商品 猜你喜欢.原创 2020-12-13 14:08:36 · 313 阅读 · 1 评论 -
数据库链接的坑:org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection;
数据库链接的坑:报错:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: Error querying database原创 2020-12-08 01:03:07 · 691 阅读 · 0 评论 -
SSM框架整合笔记
本整合教程为参考狂神的教程来着,大家可以去狂神的博客看原文,也欢迎去B站看狂神的视频请点击:狂神原博客整合SSM环境要求环境: IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识; 数据库环境创建一个存放书籍数据的数据库表CREATEDATABASE `ssmbuild`;USE `ssm..转载 2020-12-07 15:53:53 · 107 阅读 · 0 评论 -
Java静态代理和动态代理
代理模式为其他对象提供一个代理以控制对某个对象的访问。代理类主要负责为委托了(真实对象)预处理消息、过滤消息、传递消息给委托类,代理类不现实具体服务,而是利用委托类来完成服务,并将执行结果封装处理。其实就是代理类为被代理类预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理。代理类和被代理类通常会存在关联关系(即上面提到的持有的被带离对象的引用),代理类本身不实现服务,而是通过调用被代理类中的方法来提供服务。静态代理创建一个接口,然后创建被代理的类实现该接口并且实现原创 2020-11-23 19:20:47 · 58 阅读 · 0 评论 -
基于xml配置开发的javaweb思路
一、构建项目用maven的方式新建一个javaweb项目,或者手动新建一个项目然后手动导入jar包补齐里面的Java文件夹和resources文件夹二、项目文件架构Java.cn.smbms文件夹下包括dao层、service层、表示层(MVC模式如: servlet、pojo、jsp)其中jsp展示层的代码放在webapp文件夹之下。pom.xml是整个项目的核心文件,包括项目的各种依赖。resources是放项目中的配置文件的webapp存放各种css文...原创 2020-11-17 15:51:25 · 194 阅读 · 0 评论 -
Java中JDBC的使用步骤和其中几个接口的简介
•创建一个以JDBC连接数据库的程序,包含7个步骤1、加载JDBC驱动程序在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(StringclassName)实现。 Class.forName("com.mysql.jdbc.Driver");2、提供JDBC连接的URL jdbc:mysql://localhost:3306/test?useUnicode=true&c...原创 2020-11-16 23:38:40 · 515 阅读 · 0 评论 -
遇见狂神说smbms.sql文件
USE `smbms`;DROP TABLE IF EXISTS `smbms_address`;CREATE TABLE `smbms_address` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `contact` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人姓名', `addressDesc` varchar(50) COLLATE.原创 2020-11-15 17:13:50 · 3556 阅读 · 22 评论 -
JAVA后端学习路线
1、java基础https://www.bilibili.com/video/BV1kx411h7jv?p=2042、javaeespring、springMVC、mybatishttps://www.bilibili.com/video/av56193747https://www.bilibili.com/video/av47952553https://www.bilib...原创 2020-04-07 22:26:16 · 176 阅读 · 0 评论