JavaWeb
文章平均质量分 79
java web开发
maxwell-ma
这个作者很懒,什么都没留下…
展开
-
权限系统设计与分析
权限控制对不同的用户展现不同的资源,主要有两个方面,数据权限和功能权限,数据权限指不同的用户看到不同的数据,财务人员只能看到财务相关的数据,销售人员只能看到销售数据,功能权限可以细分为页面权限和操作权限等权限控制模型迄今为止最为普遍的权限设计模型是RBAC模型,基于角色的权限访问控制(Role-Based Access Control)RBAC0模型这是权限最基础也是最核心的模型, 它包括用户 / 角色 / 权限, 其中用户和角色是多对多的关系, 角色和权限也是多对多的关系。用户是发起操作的主原创 2021-10-22 18:58:47 · 1055 阅读 · 0 评论 -
进程通信和线程通信
进程和线程的区别对于进程来说,子进程是父进程的复制品,从父进程那里获得父进程的数据空间,堆和栈的复制品。而线程,相对于进程而言,是一个更加接近于执行体的概念,可以和同进程的其他线程之间直接共享数据,而且拥有自己的栈空间,拥有独立序列。共同点:它们都能提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点。线程执行开销比较小,但不利于资源的管理和保护,而进程相反。同时,线程适合在SMP机器上运行,而进程可以跨机器迁移。他们之间根本区别在于 多进程中每个进程有自己的地址空间,线程则共原创 2021-10-04 18:32:56 · 136 阅读 · 0 评论 -
HTTP协议-超文本传输协议
HTTP(HyperText Transfer Protocol)HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器,从层次的角度看,HTTP是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个类似的通用因特网邮件扩充,即"类MIME(MIME-like原创 2021-10-03 10:16:25 · 773 阅读 · 0 评论 -
跨域资源共享
1.跨域资源共享通过XHR进行Ajax通信的一个主要限制是跨源安全策略。默认情况下,XHR只能访问与发起请求的页面在同一个域(源)内的资源。这个安全限制可以防止某些恶意行为,不过,浏览器也需要支持合法跨源访问的能力跨源资源共享(CORS,Cross-Origin Resource Sharing)定义了浏览器与服务器如何实现跨源通信。CORS背后的基本思路是使用自定义的HTTP头部允许浏览器和服务器相互了解,以确认请求或相应应该成功还是失败。对于简单的请求,比如GET或POST请求,没有自定义头部,而原创 2021-09-29 12:55:18 · 514 阅读 · 0 评论 -
一致性Hash原理与实现&虚拟节点&Java
前言受互联网企业成本的制约,没有强劲的服务器和昂贵的海量数据库,只能正对当前的开源技术,比如通过MySQL、Nginx等开源软件,通过架构和低成本服务器搭建千万级别的用户访问系统。本文主要结合Redis集群来分享一下一致性Hash的相关问题Redis集群的使用一般可以对Redis做主从复制和Redis集群模式,组成Master-Master或者Master-Slave的形式,进行数据读写分离当缓存数据量超过一定的数量时,我们就要对Redis集群做分库分表的操作。来个栗子,我们有一个电商平台,需要原创 2021-09-27 11:17:27 · 893 阅读 · 0 评论 -
MySQL数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型,MySQL中定义数据字段的类型对数据库的优化非常重要。1.数值类型MySQL 支持所有标准 SQL 数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。BIT数据类型保存位字段值,并且支持 MyIS原创 2021-09-25 15:35:40 · 110 阅读 · 0 评论 -
MySQL面试问题
1.什么情况需要加索引表的某个字段值离散度越高,该字段越适合选作索引的关键字。主键字段以及唯一性约束字段适合选作索引的关键字,原因就是这些字段的值非常离散。尤其是在主键关键字创建索引时,cardinality(基数,集的势)的值就等于该表的行数。数据库用户创建主键约束的同时,MySQL自动创建主索引(primary index),且索引名称Primary;占用存储空间少的字段更适合选作索引的关键字。例如,与字符串相比,整数字段占用的存储空间较少,因此,较为适合选作索引关键字存储空间固定的字段更适合选原创 2021-09-25 13:42:44 · 118 阅读 · 0 评论 -
浅谈雪花算法
分布式系统中,有时需要使用全局唯一ID,为了防止ID冲突可以使用36位的UUID,但UUID有一些缺点,他相对较长,而且无序什么是雪花算法Snowflake常称为雪花算法,是Twitter开源的分布式ID生成算法,生成后是一个64bit的long型数值,组成部分引入了时间戳,基本保持了自增SnowFlake算法优点高性能高可用:生成时不依赖于数据库,完全在内存中生成高吞吐:每秒钟能生成数百王的自增IDID自增:存入数据库中,索引效率高SnowFlake算法的缺点依赖系统时间,如果系统时.原创 2021-09-20 16:55:18 · 3430 阅读 · 1 评论 -
Redis主从复制(含sentinel)
Redis主从复制指将一台redis服务器的数据复制到其他的redis服务器,前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制时单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主要包括:数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题时,.原创 2021-09-04 17:13:20 · 105 阅读 · 0 评论 -
Redis Cluster搭建
Redis clusterCluster模式是Redis3.0开始推出的,采用无中心结构,每个节点保存数据喝整个集群状态,每个节点都和其他所有节点连接,官方要求:至少6个节点才可以保证高可用,即3主3从;扩展性强、更好做到高可用;各个节点会互相通信,采用gossip协议交换节点元数据信息,数据分散存储到各个节点上。Redis Cluster集群:每个主节点不同,是数据的子集,利用多台服务器构建集群提供超大规模数据处理能力,同时提供高可用支持。Redis Cluster集群采用Hash Slot(哈希原创 2021-09-04 17:10:08 · 110 阅读 · 0 评论 -
CentOS7一键安装Rabbitmq
1. 官网https://www.rabbitmq.com/2. erlang与rabbitmq版本对应关系官方网址:https://www.rabbitmq.com/which-erlang.html3.rpm安装erlang#安装epel$ yum install -y epel-release#添加存储库条目,可以访问https://www.erlang-solutions.com/downloads/查看官方教程$ wget https://packages.erlang-solu原创 2021-08-20 15:54:50 · 486 阅读 · 0 评论 -
浏览器默认非安全端口
默认非安全端口1.错误现象2.什么是默认非安全端口?4.解决办法5.Chrome默认非安全端口1.错误现象意思是非安全端口错误2.什么是默认非安全端口?每个浏览器出于安全问题,都会禁止一些网络浏览以外的端口。# 3.浏览器默认限制端口有哪些Chrome谷歌浏览器:6000、6665-6669…(详细末尾贴上)FireFox火狐浏览器:非80端口IE浏览器没这个6666的限制,但是你懂的4.解决办法更换服务启动端口:推荐使用这种,免去了配置的麻烦。Chrome:右键单击Chrom原创 2021-05-25 20:35:40 · 1181 阅读 · 0 评论 -
nginx配置文件
nginx配置文件nginx配置文件主要分为六个区域:main(全局设置)events(nginx工作模式)http(http设置)sever(主机设置)location(URL匹配)upstream(负载均衡服务器设置)一点补充:nginx 中location中root和alias的区别nginx配置文件主要分为六个区域:main(全局设置)#user :来指定Nginx Worker进程...转载 2019-09-26 10:49:42 · 106 阅读 · 0 评论