自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 计算机网络基础知识

利用通信线路物理地将不同的终端连接起来,按照网络协议相互通信,以共享软件、硬件和数据资源为目标的系统数据通信:在计算机之间传送各种信息资源共享:硬件资源共享、软件资源共享负荷均衡:计算机网络中可以对数据进行集中处理和分布式处理提高可靠性:计算机网络中的各台计算机可以通过网络彼此互为后备机。

2024-03-22 22:30:06 542

原创 数据结构与算法基础

结构: 结构是指元素之间的关系逻辑结构: 元素之间的相互关系称为数据逻辑结构,可划分为线性结构和非线性结构。常用的线性结构有:线性表,栈,队列、数组和串。常见的非线性结构有:二位数组,多维数组,广义表,树(二叉树),图。存储结构: 数据元素及元素之间的存储形式称为存储结构,可分为顺序存储和链接存储两种基本方式。顺序存储时,相邻数据元素的存放地址也相邻;要求内存中可用存储单元地址必须时连续的链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放节点值,另一部分存储表示结点间关系的指

2024-03-20 16:38:31 1032

原创 知识产权与标准化

作品完成自动产生(固定在某种有形物体上)又叫做版权发表权、署名权、修改权、保护作品完整权复制权、发行权、出租权、展览权、表演权、反映权、广播权、信息网络传播权、摄制权、改编权、翻译权、汇编权等。

2024-03-19 08:47:11 456

原创 数据库基础知识

数据data:描述事物的符号记录,可以是文字、图形、图像、声音和语言等数据库database:长期存储在计算机内、有组织、可共享的数据集合数据库管理系统DBMS:由数据库、硬件、软件和人员4大部分组成,主要功能有数据定义,数据库操作,数据库运行管理,数据组织、存储和管理,数据库的建立和维护及其它功能大数据的特征:无法用拥有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合。

2024-03-18 10:22:15 1086

原创 面向对象技术

程序系统中基本运行的实体,包括数据和数据的操作。一个对象把属性和行为封装成一个整体,实现生产者与使用者的分离。一个对象通常可由对象名、属性和方法(操作)三部分组成。定义了一组大体上相似的对象。类是对象的抽象,对象是类的具体化,是类的实例。特殊类是一般类的子类,一般类是特殊类的父亲。父类与子类之间共享数据和方法的机制。一个父类可以有多个子类,一个子类可以继承其父类中的属性和方法。是一种动态绑定机制,使得子类在继承父类的前提下,用适合自己要求的实现取置换父类中响应实现。对象之间的通信构造。

2024-03-17 12:13:08 349

原创 软件工程(Software Engineering)

包含程序、数据及相关文档涉及到软件开发、维护、管理等多方面的原理、工具与环境。最终的目的是开发高质量的软件。提高软件生产率、提高软件质量、降低软件成本。

2024-03-16 23:05:10 927

原创 程序语言设计

将高级语言转换成计算机可执行的机器语言,分为汇编、编译和解释程序翻译由汇编语言编写的程序针对高级语言编写的源程序,直接解释执行源程序源程序翻译成目标语言程序,然后执行目标程序。

2024-03-13 22:29:41 425

原创 操作系统(Operating System)

操作系统:组织和管理软件、硬件资源以及计算机系统中的工作流程,并控制程序的执行,向用户提供接口。进程控制、进程同步、进程通信、进程调度文件存储空间管理、目录管理、文件的读写管理、存取控制存储分配与回收、存储保护、地址映射、主存扩充对硬件设备管理,对输入输出设备的分配、启动、完成和回收任务、界面管理,人机交互、图形界面、语音控制、虚拟实现。

2024-03-12 12:30:02 1103

原创 多媒体基础知识

非线性:多媒体技术借助超文本链接的方法,把内容以一种更灵活的方式呈现给读者。集成性:多媒体信息和集成和操作这些媒体信息的软件和设备的集成。动态性:信息结构的动态性,可按照自身目的和认知重新组织信息。实时性:在人的感官系统允许的情况下进行多媒体处理和交互。交互性:实现了人对信息的主动选择、使用、加工和控制。方便性:用户可以按照自己的需求很方便的使用信息。多样性:信息媒体的多样化。

2024-03-11 15:19:02 310

原创 计算机系统

0,1,100,1,2,3计算机中的一切数据,如数字、汉字、图片、声音、视频、指令等都是用二进制进行表示和传输的。美国信息交换标准代码。一般使用7位二进制数来表示字母、数字、标点符号及特殊控制字符。

2024-03-09 16:02:35 412

原创 MyBatis

配置数据库连接环境信息,可以配置多个environment,通过default属性切换不同的environment。官网:https://mybatis.org/mybatis-3/zh/configuration.html。它仅用于 XML 配置,意在降低冗余的全限定类名书写。注意:还可以使用包扫描的方式来加载sql映射文件。在xml中定义sql语句中添加if标签。或者直接用where标签包裹。或使用sql片段(不灵活)编写Mapper接口。定义Mapper接口。定义Mapper接口。

2023-05-31 14:48:22 676

原创 Maven高级

Maven相关高级部分

2023-05-30 11:54:00 630 1

原创 Maven初级

依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围。如果需要在项目2中用到项目3,只需要在项目2中配置项目3即可。官网:https://maven.apache.org/conf文件夹下的settings.xml。Maven对项目构建的生命周期划分为3套。引入后发现项目2中有项目3中的依赖。Maven坐标主要组成。Maven坐标的作用。

2023-05-29 08:40:19 518

原创 Git的使用

git cat-file -p 版本号GitLab是由GitLabInc开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。GitLib由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。

2023-05-28 17:04:29 1121 1

原创 多层级缓存

多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务器性能:作缓存的Nginx是业务Nginx,需要部署为集群,再有专门的Nginx用来做反向代理:

2023-05-19 16:10:28 816

原创 分布式缓存

RDB全称Reids Databse Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。AOF全称为Append Only File(追加文件)。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。

2023-05-18 09:13:14 537

原创 分布式事务

微服务下单业务,在下单时会调用订单服务,创建订单并写入数据库。分布式事务!!!

2023-05-17 14:13:47 325

原创 微服务保护

默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。如果自定义异常时的返回结果,需要实现BlockExceptionHandler接口而BlockException包含很多子类,分别对应不同的场景:/**String msg = "未知异常";msg = "请求被限流了";msg = "请求被降级了";msg = "没有权限访问";msg = "没有权限访问";} }

2023-05-16 13:35:38 378 2

原创 Elasticsearch(三)

声明接口实现// 1.准备Request SearchRequest request = new SearchRequest("hotel");try {map . put("品牌" , brandList);map . put("城市" , cityList);map . put("星级" , starList);return map;List

2023-05-15 21:18:38 459

原创 Elasticsearch(二)

文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html常见查询类型包括:查询所有:查询出所有数据,一般测试用。如:match_all全文检索查询:利用分词器对用户输入的内容分词,然后去倒排索引库中匹配。如精确查询:根据精确词条查找数据,一般是查找keyword、数值、日期、boolean等字符。地理查询:根据经纬度查询。复合查询:复合查询可以将上述各种查询条件组合起来,合并查询条件。如。

2023-05-14 20:56:41 958 1

原创 Elasticsearch(一)

elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速查找到需要的内容elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。elasticsearch是elastic stack的核心,负责存储、搜索、分析数据

2023-05-13 14:37:57 778

原创 RabbitMQ

MQ,中文是消息队列,字面来看即使存放消息队列。也就是事件驱动架构中的Broker。RabbitMQ是基于Erlang语言开发的开源消息中间件官网:https://spring.io/projects/spring-amqp。

2023-05-12 18:31:13 994

原创 Docker

镜像是将应用程序及其所需要的系统函数库、环境、配置、依赖打包而成。更多语法详情:https://docs.docker.com/engine/reference/builder/Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行官网:https://docs.docker.com/compose/compose-file/

2023-05-11 18:17:08 532 4

原创 Gateway

帮助我们优雅的实现http请求调用官网:https://github.com/OpenFeign/feign导入依赖

2023-05-10 19:59:21 600

原创 微服务架构演变

官网:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html。父工程中(如果爆红,先在dependencies中导入刷新maven,再在dependencyManagement中导入)Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离。官网:https://spring.io/projects/spring-cloud。Nacos提供了权重配置来访问频繁,权重越大则访问频率越高。

2023-05-09 19:27:14 1603

原创 4.共享模型之管程

obj.wait()让进入object监视器的线程到waitSet等待最多等待timeout毫秒在object上正在waitSet等待的线程中挑一个唤醒让object上正在waitSet等待的线程全部唤醒它们都是线程之间进行协作的手段,都属于Object对象的方法。必须获得此对象的锁,才能调用这几个方法。否则会抛异常。即Guarded Suspension,用在一个线程等待另一个线程的执行结果有一个结果需要从一个线程传递到另一个线程,让它们关联共一个GuardedObject。

2023-05-08 20:22:23 416

原创 3.Java线程

看到有该注解,表示该接口是函数式注解就可以使用Lambda表达式简化代码实现结果。

2023-05-07 19:59:24 216

原创 2.进程与线程

单核cpu下,多线程不能实际提高程序运行效率,只是为了能够在不同的任务之间切换,不同线程轮流使用cpu,不至于一个线程总占用cpu,别的线程没办法干活多核cpu可以并行跑多个线程,但能否提高程序运行效率还是要分情况。

2023-05-06 17:18:50 182

原创 1.主线概览

java并发编程知识点

2023-05-05 13:04:35 66

原创 实战篇--UV统计

使用redis的hyperloglog做uv统计

2023-05-04 00:15:00 189

原创 实战篇--用户签到

使用redis的bitMap来实现用户签到

2023-05-03 00:15:00 51

原创 实战篇--附近店铺

Redis中GEO数据结构的基本使用。完成附近店铺功能

2023-05-02 00:15:00 58

原创 实战篇--好友关注

需求:利用Redis中恰当的数据结构,实现共同关注功能。在博主个人页面展示出与当前登录用户相同的关注对象。关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的体验,通过无限下拉刷新获取新的信息。Timeline:不做内容筛选,简单的按照内容发布时间排序,常用于好友或关注。智能排序:利用智能算法屏蔽掉违规的、用户不感兴趣。推送用户感兴趣的信息来吸引用户。再通过redis的set数据结构求交集。点击博主头像,可以进入博主页面首页。先将关注的用户id存入redis。

2023-05-01 00:15:00 51

原创 实战篇--发布探店笔记

使用redis实现点赞和点赞排行榜功能

2023-04-30 00:15:00 95

原创 实战篇--优惠券秒杀

利用set nx ex获取锁,并设置过期时间,保存线程标示释放锁时先判断线程标示是否与自己一致,一致则删除锁利用set nx满足互斥性利用set ex保证故障时锁依然能释放,避免死锁,提高安全性利用Redis集群保证高可用和高并发特性秒杀业务的优化思路是什么?先利用Redis完成库存余量、一人一单判断,完成抢单业务再将下单业务放入阻塞队列,利用独立线程异步下单基于阻塞队列的异步秒杀存在哪些问题?内存限制问题数据安全问题。

2023-04-29 00:28:34 506 1

原创 下载服务器的SDK压缩包资源

怎么在服务段实现文件下载功能

2023-04-19 23:18:47 155

原创 使用AOP来进行权限鉴定

我们在开发一个系统的时候,对于不同的用户会有不同的操作权限,比如管理员和普通用户。不能让普通用户也能去调用一些只能管理员调用的接口。总的来说,需要提高系统安全性就需要权限校验。aop是面向切面编程,是oop的一种补充,可以对某些事务进行统一管理,比如(权限校验、日志、事务管理),将共性需求的代码抽离出来,通过配置的方式,声明这些代码什么时候调用,还不用修改原有的代码。还是我们对aop的解释中说到,aop能将共性代码抽离,通过配置的方式声明什么时候调用,还不用修改原有代码。再定义一个权限校验的aop类。

2023-04-18 17:05:58 691

原创 Easy Excel

但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便。

2023-04-16 00:15:00 265

原创 Java 8 新特性 Lambda表达式

Lambda是JDK8中的一个语法糖。他可以对某些匿名内部类的写法进行简化。他是函数式编程的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了说明操作。

2023-04-15 00:00:00 45

原创 Java8新特性 Stream流 API

中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程。底层使用hashSet去重,所以要重写hashCode和equals方法。修改Stream流中的数据,不会影响原来集合或者数组中的数据。先得到一条Stream流(流水线),并把数据放上去。结合了Lambda表达式,简化集合、数组的操作。利用Stream流中的API进行各种操作。

2023-04-14 18:02:54 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除