- 博客(131)
- 资源 (10)
- 收藏
- 关注
原创 使用动态代理+Netty+Zookeeper+Protobuff手撸一个RPC框架
RPC是一种计算机之间的远程调用技术,客户端能够在不知道服务器底层的通信架构的情况下调用服务器端的方法,就像调用自身的方法一样。那RPC的底层是如何实现的呢?本文会带大家自己完成一个RPC框架。
2022-12-12 15:58:13 1450 1
原创 Redis并发问题(雪崩、击穿、穿透)
Redis作为目前最火的NoSQL数据库,在大量互联网企业作为重要的核心技术,Redis作为数据库的缓存,在高并发情况下也会出现各种问题,下面我们来了解这些问题以及解决方案,这些也是程序员面试时的高频问题。
2022-10-31 10:58:26 1363 2
原创 使用Lua+Redis+OpenResty实现电商首页并发优化
在Nginx中使用Lua脚本实现MySQL和Redis的读写,提高首页的并发性能。
2022-06-16 16:28:02 614
原创 Lua学习(三)与Nginx整合
Openresty简介OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。OpenResty通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各
2022-04-06 15:39:52 480
原创 Lua学习(二)与Redis整合
Lua脚本简介Redis 在 2.6 版本中推出了脚本功能,允许开发者将 Lua 语言编写的脚本传到 Redis 中执行。使用 Lua 脚本的优点有如下几点:减少网络开销:本来需要多次请求的操作,可以一次请求完成,从而节约网络开销;原子操作:Redis 会将整个脚本作为一个整体执行,中间不会执行其它命令;复用:客户端发送的脚本会存储在 Redis 中,从而实现脚本的复用。Redis执行Lua脚本使用redis-cli登录Redis后就可以执行脚本简单的Lua脚本eval "return
2022-04-06 15:38:24 1092
原创 Lua学习(一)基础入门
Lua简介Lua 是由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于1993年开发的一种轻量、小巧的脚本语言,用标准 C 语言编写,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua的特性轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能
2022-04-06 15:36:50 599
原创 使用Sharding-JDBC实现分库分表
超详细的Java知识点路线图Sharding-JDBC分库分表1. 概述1.1. 分库分表是什么某电商平台涉及了店铺、商品的相关业务,设计如下 数据库:通过以下SQL能够获取到商品相关的店铺信息、地理区域信息:SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉] FROM [商品信息] pLEFT JOIN [地理区域] r ON p.[产地] = r.[地理区域编码] LEFT JOIN [店铺信息] s ON p.id = s.[所属店铺]WHERE p.id
2021-06-28 16:18:35 1412
原创 JVM优化入门
超详细的Java知识点路线图深入了解JVMJVM的内存模型程序计数器Java 虚拟机栈本地方法栈堆区方法区Java对象的内存分配对象回收的算法引用计数算法可达性分析算法堆的分代堆的GC机制JVM参数JVM加载类的过程类加载的具体过程类加载器双亲委派模型JVM的内存模型要更好的使用Java进行开发,我们需要理解JVM是如何分配内存的,这些内存都用来做什么,如何回收不用的内存。下面我们来了解JVM的内存分配,根据JVM的规范,JVM的内存分为5个区域:堆区虚拟机栈方法区本地方法区程序计数器
2021-06-28 14:16:10 729 5
原创 SpringCloud Alibaba(七)Seata 分布式事务
Seata简介在传统的单体项目中,我们使用@Transactional注解就能实现基本的ACID事务了。但是前提是:1) 数据库支持事务(如:MySQL的innoDB引擎)2) 所有业务都在同一个数据库中执行随着微服务架构的引入,需要对数据库进行分库分表,每个服务拥有自己的数据库,这样传统的事务就不起作用了,那么我们如何保证多个服务中数据的一致性呢?这样就出现了分布式事务,而Seata就是为微服务架构而生的一种高性能、易于使用的分布式事务解决方案。Seata 中有三个基础组件:Tra
2021-06-14 15:27:08 1742 10
原创 SpringBoot项目整合FastDFS+Nginx实现图片上传
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS由阿里资深架构师余庆开发。Fastdfs原理FastDFS包含Tracker.
2021-04-14 18:50:54 1426
原创 SpringSecurity入门(二)
超详细的Java知识点汇总前言在SpringSecurity入门(一)中,我们体验了SpringSecurity在权限控制方面的强大,此文我们从实际开发的角度,将SpringSecurity整合到项目中。自定义登录和授权逻辑SpringSecurity的登录和授权逻辑可以通过实现UserDetailsService接口完成。UserDetailsService接口:public interface UserDetailsService { UserDetails loadUserBy.
2021-04-06 22:21:43 397
原创 SpringCloud 简介
微服务架构互联网应用架构演进 随着互联网的发展,用户群体逐渐扩大,网站的流量成倍增长,常规的单体架构已无法满足请求压力和业务的快速迭代,架构的变化势在必行。下面我们就以系统网的架构演进为例,从最开始的单体架构分析,一步步的到现在的微服务架构。单体应用架构 在诞生之初,系统的用户量、数据量规模都比较小,项目所有的功能模块都放在一个工程中编码、编译、打包并且部署在一个Tomcat容器中的架构模式就是单体应用架构,这样的架构既简单实用、便于维护,成本又低,成为了那个时代的主流架构方式。优点:
2021-04-05 19:05:04 1080 2
原创 SpringSecurity入门(一)
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总Spring Security简介SpringSecurity是一个强大且高效的安全框架,能够提供用户验证和访问控制服务,能够很好地整合到以Spring为基础的项目中。SpringBoot对SpringSecurity进行了大量的自动配置,使开发者通过少量的代码和配置就能完成很强大的验证和授权功能,下面我们就体验下SpringSecuri
2021-04-05 19:04:08 1594 2
原创 Java经典面试题汇总200道
超详细的Java知识点汇总Java经典面试题汇总Java 基础1. JDK 和 JRE 有什么区别?2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4. final 在 java 中有什么作用?5. java 中的 Math.round(-1.5) 等于多少?6. String 属于基础的数据类型吗?7. java 中操作字符串都有哪些类?它们之间有什么区别?8. String str="i"与 String str=
2021-03-03 11:35:00 6019 4
原创 JWT单点登录
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总单点登录是什么SSO(Single Sign On)SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。为什么需要单点登录以前分布式系统的多个相关的应用系统,都需要分别进行登录,非常繁琐。原来登录的过程:1)用户输入账号密码2)提交到后台验证,成功后将用户存在Session中3)需要进行登录状态判
2021-02-24 10:09:04 4317 5
原创 微信支付的实现
电商支付流程支付过程涉及的角色用户商户电商平台微信用户支付流程下单选择支付方式扫码支付跳转订单页面微信支付开发流程https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5开发过程生成订单将订单插入平台数据库中(未支付状态)在微信下单订单,微信返回付款url将url包装到二维码用户扫码,支付微信收到钱后,通知平台,调用平台的接口平台收到支付成功消息后,更新订单状态,修改库存页面进行跳转
2021-02-23 17:05:19 1159
原创 JavaWeb Ajax详解
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总AJAX介绍AJAX(Asynchronous Javascript And XML)异步Javascript和XML,是一种通过JS和后台服务器进行交互的技术。和传统的表单和服务器交互的方式相比,区别是:1、传统的方式会刷新整个页面2、AJAX刷新局部页面,提升用户体验AJAX的实现核心类:XMLHttpRequest(目前主流
2021-02-22 16:52:47 623
原创 Web开发基础:JQuery详解
JQuery目前最常用的JavaScript库,使用简单,极大的简化JS代码编写。使用方法:注意:src是jquery文件保存的路径CSS选择器:标签选择器:以HTML标签为选择符td{…}ID选择器:以元素的ID为选择符#myid{…}类选择器:以元素的class为选择符.myclass{…}组选择器:多个选择符应用相同样式td , #myid , .myclass{…}后代选择器:父标签和子标签为选择符table tr td{…}统配选择器:使用通配符*{…}伪类选择
2021-02-22 16:39:05 431
原创 JavaWeb 会话跟踪技术Cookie和Session
会话跟踪会话就是客户端和服务器之间从连接到断开的过程。Http协议是无状态的,也就是说断开连接后服务器不会记录用户的状态,有时候我们需要知道之前会话的用户状态,这就需要会话跟踪技术。会话跟踪的几种实现:Session 在服务器端保存数据。Cookie 在浏览器端保存数据。URL重写在URL中强行加入参数以实现数据传递,主要用于Cookie和Session失效的情况。/getInfo;jsessionid=A34322BFEA000021112隐藏表单域在表单中附加隐藏信息
2021-02-22 12:28:24 684
原创 JavaWeb 监听器和过滤器
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总监听器可以监听Web项目中各种对象的状态变化,如:网站的启动和停止、Session的创建和销毁、Session中属性的添加和删除,然后根据对象的状态变化自动调用监听器中的方法。应用场景:网站启动后做预先工作,如:加载缓存加载配置文件,如:Spring通过监听器对配置进行加载常用的监听器:ServletContextList
2021-02-22 10:15:51 672
原创 JavaWeb 文件上传下载和图片验证码
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战超详细的Java知识点汇总文件上传这里使用的是Apache的common-fileupload包准备工作:下载导入jar包common-fileupload 文件上传common-io 文件IO在JSP的fom标签中,添加属性:enctype=“multipart/form-data”,请求方法必须是post表单中使用file控件上传相关API:
2021-02-22 10:01:22 537
原创 JavaWeb JSP详解
JSP的介绍Java Server Page,一种结合Java和HTML的动态页面技术,动态页面就是可以在网页中将后台数据库中的数据实时更新到页面上。类似的技术有:Freemarker、Velocity、Thymeleaf等JSP的原理当用户第一次访问JSP页面时,JSP页面会被编译成Servlet。JSP的指令三大指令page 页面指令设置页面信息<%@ page language=“语言” contentType=“内容类型” pageEncoding=“编码类型” impo
2021-02-22 09:27:34 1012
原创 JavaWeb Servlet的原理和使用
超详细的Java知识点汇总什么是ServletServlet是Server Applet(服务器小程序),运行在服务器上,可以接受客户端的请求,对后台数据库进行增删改查操作,为用户提供数据服务。实现ServletServlet相关APIServlet接口GenericServlet类(实现Servlet接口)HttpServlet类(继承GenericServlet类)实现Servlet有三种方式继承HttpServlet类主要方法:doGet 处理Get请求doPo
2021-02-20 12:06:35 676 1
原创 JavaWeb HTTP协议原理和Tomcat的配置
JavaWeb的相关概念什么是Web应用Web应用是基于网络和Http协议的软件系统,用户采用浏览器作为客户端通过网络访问后台服务器,服务器需要完成数据存储、逻辑运算等工作。B/S和C/SB/S(Browser/Server)浏览器/服务器模式,服务器一般是高性能PC或工作站,安装应用程序服务器软件,如:Tomcat、JBoss等,还有DBMS,如:MySQL、Oracle等。优点:用户可以直接使用浏览器去访问软件系统,不需要安装特定的软件,使用方便,维护和升级快。缺点:服务器压力大,浏览器不
2021-02-19 23:08:24 674
原创 Web开发基础:JavaScript飞机大战
飞机大战1、飞机跟着鼠标移动在onmousemove事件中获得鼠标的坐标,设置给飞机图片2、发射子弹子弹需要动态添加到网页中动态创建标签对象document.createElement(“标签名”);动态添加到层中层对象.appendChild(标签对象);设置样式3、敌机移动4、击中敌机 飞机大战 ...
2021-02-13 22:05:36 1402 1
原创 Web开发基础:JavaScript轮播图
图片轮播功能点:1、页面效果HTML+CSS2、图片横向滚动3、每滚动一张图片,暂停一下4、下面的圆点跟着图片变化<!DOCTYPE html><html><head> <title>广告轮播</title> <meta charset="utf-8"> <style type="text/css"> *{ margin: 0px; padding:0px; } #conta
2021-02-13 22:04:42 629
原创 Web开发基础:JavaScript常用类、面向对象和BOM
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战前言下面介绍下JS中的常用类、面向对象的实现和BOM编程。常用类Date类获得或设置日期或时间创建方法:var date = new Date();常用方法方法作用getYear获得年 1900年到现在的年数getMonth获得月 从0开始getDate获得日getHours获得小时getMin
2021-02-13 21:44:46 292
原创 Web开发基础:JavaScript入门
JS基本语法调试方法DOM编程函数和事件处理表单验证正则表达式JavaScript简介JavaScript简称JS,是一种脚本语言,可以嵌入网页中实现动态效果。JavaScript原名是LiveScript,是网景公司开发的,后来更名JavaScript。JavaScript的作用:实现网页的动态效果表单验证游戏开发随着NodeJS的推出,还可以进行服务器开发JavaScript的组成ECMAScript JS标准语法DOM 文档对象模型BOM 浏览器对象模
2021-02-07 22:18:57 890 1
原创 Web开发基础:CSS
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战前言如果把网页比作住房,那HTML就是毛坯,要做装修就得靠CSS了,这里简单介绍下CSS的用法。CSS简介CSS(Cascade Style Sheet) 层叠样式表,作用是对页面元素进行美化和布局。CSS的语法<style> 选择器{ 样式属性:值; .. } ..</style>CSS的选择器选择器的作用是对网页
2021-02-07 21:30:23 461
原创 Web开发基础:HTML
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战前言开始写Web前端内容,这是JavaWeb开发必不可少的东西,包括HTML、CSS、JS等。HTML简介HTML(Hyper Text Markup Language) 超文本标记语言,用于描述网页的结构,浏览器对HTML代码进行渲染后就形成了我们常见的页面。HTML基本结构HTML代码由各种标签组成,标签由一对<>括起来,网页的标签有固定的结构:
2021-02-05 23:20:37 721 2
原创 SpringBoot整合RabbitMQ实现数据同步
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战前言这篇文章主要介绍Rabbitmq的一个应用场景,以及如何使用SpringBoot进行整合。场景介绍假设某个电商系统中有商品服务负责MySQL中商品的增删改查,同时还有搜索服务负责Elasticsearch实现商品的搜索,Elasticsearch中的数据需要和MySQL中的数据进行同步。这就需要两个服务之间进行通信,使用RabbitMQ可以实现。业务流程:
2021-01-29 17:22:14 1653 1
原创 RabbitMQ的五种消息队列
项目开发视频:SpringCloud微服务开发入门手把手开发基于SpringBoot的员工管理系统亿度云盘~Java小白入门实战前言RabbitMQ的几种消息队列模型是学习的重点哦,赶快学起来吧!五种消息模型RabbitMQ提供了多种消息模型,官网上第6种是RPC不属于常规的消息队列。属于消息模型的是前5种:Hello World 模型,简单的一对一工作队列模型 ,一个生产者将消息分发给多个消费者发布/订阅模型 ,生产者发布消息,多个消费者同时收取路由模型 ,生产者通过关键字发
2021-01-29 16:45:03 1910
Java毕设源码《SpringBoot婚庆酒店预定网站》
2023-03-03
SpringBoot+Vue前后端分离大型社区的物业管理系统源码
2023-02-28
毕设:基于SpringBoot+Vue的智慧社区项目
2023-02-28
超过100G的Java互联网架构师课程视频网盘
2021-08-05
SpringBoot+MyBatis+Shiro权限管理系统
2020-12-23
阿里巴巴Java开发手册v1.2.0
2020-12-04
SSHSecureShellClient安装包.zip
2020-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人