- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 JVM内存区域划分
JVM内存区域划分根据《Java虚拟机规范》JVM会把它管理的内存划分为若干个不同的数据区域,方法区、堆、栈(虚拟机栈、本地方法栈)、程序计数器**。线程私有的意思是指,JVM每遇到一个新的线程就会为他们分配栈和程序计数器。局部变量中 基础数据类型的引用 和 值 都存储在栈中局部变量中 对象引用存在栈中,对象实例存在堆中栈内存中的局部变量随着方法的消失而消失。 成员变量存储在堆中的对象里面,由垃圾回收器负责回收。成员变量: 成员变量存储在堆中。 默认值:有默认值,在构造器中可以不对成员变量进
2022-02-22 23:24:12 119
原创 什么是集群、分布式和微服务?
什么是集群、分布式和微服务?什么是集群集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事情。但是每台服务器并不是缺一不可,存在的作用主要是缓解并发压力和单点故障转移问题。我们可以利用一些廉价的符合工业标准的硬件构造高扩展、高性能、低成本、高可用的系统,简单的来说就是同一个业务,部署在多个服务器上。什么是分布式分布式服务是指将多台服务器集中在一起,服务是分散部署在不同的机器上的。每台服务器都实现总体中的不同业务,做不同的事情。一个服务可能负责几个功能,是一种面向 SOA 的架构。各
2022-02-22 16:34:57 880
转载 CAP理论
CAP理论CAP即:Consistency(一致性)Availability(可用性)Partition tolerance(分区容忍性)这三个性质对应了分布式系统的三个指标:而CAP理论说的就是:一个分布式系统,不可能同时做到这三点。①**一致性:**对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。②**可用性:**
2022-02-19 22:41:27 262
原创 dockerfile的基本使用
Docker DockerfileDockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。执行dockerfile指令如下,建议把文件放在同一个目录下:docker build -t centosjava8:1.5 .dockerfile文件的命名一般为Dockerfile,其中有许多注意事项、都写在文件中:FROM --基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,MAINTAINER --作者名字,联系方
2022-01-17 22:50:43 693
原创 redis应用问题
redis的一些应用问题1.缓存穿透应用服务器压力变大,redis命中率降低,一直查询数据库 ,redis查询不到数据库,出现很多非正常url访问一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。解决方案:( 1)对空值缓存:如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果( null )进行缓存,设置空结果的过期时间会很短,最长不超过五
2022-01-16 21:58:01 503
原创 docker容器中搭建redis集群
docker容器中搭建redis集群,进行分布式存储Redis集群并没有使用一致性hash而是引入了哈希槽的概念。Redis集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽。但为什么哈希槽的数量是16384(214)个呢?CRC16算法产生的hash值有16bit,该算法可以产生216=65536个值。正常的心跳数据包带有节点的完整配置,可以用幂等方式用旧的节点替换旧节点,以便更新旧的配置。这意味着它们包含原始节点的插槽配置,
2022-01-14 21:19:10 848
原创 docker常用命令
docker入门知识1.doker安装查看Linux内核、安装gcc[root@hadoop15 ~]# uname -r3.10.0-1160.el7.x86_64yum -y install gccyum -y install gcc- c++开始安装 yum install -y yum- utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.r
2022-01-13 20:57:08 515
原创 支付宝沙箱支付
支付宝沙箱支付1.gav坐标 <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-easysdk</artifactId> <version>2.0.2</version> </dependency>2.application
2021-10-30 10:51:47 457
原创 Git常用命令
Git常用命令1.新建立代码库git init //在当前目录新建一个Git代码库git clone //下载一个项目和它的整个代码历史2.配置git config --list //显示当前的git配置git config -e [--global] //辑Git配置文件git config [--global] user.name "[name]" // 设置提交代码时的用户信息git config [--global] user.email3.删除/增加文
2021-10-11 18:24:37 70
原创 复式记账法-银行业务
初探会计一、会计的概念,会计的基本职能 核算和监督会计核算是会计监督的基础,会计监督是会计核算质量的保障二、会计的六大要素:动态要素:(费用,收入,利润);反应企业的经营成果,表现资金显著变化的状态。静态要素:(所有者权益,负债,资产);反应企业的财务状况,表现资金相对静止的状态。1.资产: 可以分为流动资产(预计在一个正常的营业周期中变现、出售或耗用;主要为交易目的而持有﹔预计在资产负债日起一年内(含一年)变现等;)和非流动资产(持有一年以上或超过一年的在一个营业周期以上才能变现),流动资金
2021-09-25 20:30:10 639
原创 springAop--面向切面编程
spring基础(IoC-aop)IoC是什么: **Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。**在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。IoC能做什么: IoC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把
2021-09-17 10:49:00 90
原创 Linux常用命令
Linux常用命令find将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:[root@hadoop15 zzq]# find . -name "*.c"将当前目录及其子目录中的所有文件列出:[root@hadoop15 zzq]# find . -type f将当前目录及其子目录下所有最近 20 天内更新过的文件列出:[root@hadoop15 zzq]# find . -ctime -20查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的
2021-09-16 16:25:47 92
原创 抽象类和接口的区别
抽象类和接口的区别什么是抽象类包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的,(否则.编译器就会报错)。抽象类的具体特征有:如果一个类中有抽象方法,那么这个类一定是抽象类,也就是说,使用关键字abstract修饰的方法一定是抽象方法,具有抽象方法的类一定是抽象类。实现类方法中只有方法具体的实现。抽象类中不一定只有抽象方法,抽象类中也可以有具体的方法,你可以自己去选择是否实现这些方法。抽象类中的约束不像接口那么严格,你可以在抽象类中定义构造方法、抽象方法、普通
2021-09-12 20:48:07 60
原创 sqlSession运行总结
SqlSession运行总结SqlSession的运行原理十分重要,它是插件的基础,这里我们对一次查询或者更新进行总结以加深对MyBatis内部运行的掌握。SqlSession内部运行图,如图所示。 SqlSession是通过Executor 创建StatementHandler 来运行的,而StatementHandler要经过下面三步。prepared预编译SQL。parameterize设置参数。query/update执行SQL。其中 parameterize是调用param
2021-09-07 23:38:38 167
原创 git基本操作总结
git基本操作总结1.git init 用来初始化项目地址,会生成.git目录。2.git add . 这个命令的意思是将修改的内容添加都暂存区,等待被提交, “ . ” 代表当前目录下。3.git commit -m ‘version’ 这个命令的意思是,将暂存区的内容,设置一个提交的信息,然后添加到提交历史内容区中,等待被推送到远程仓库,'version’代表当前的版本号。4.git remote add origin 项目地址 ,现在我们需要把远程仓库的地址添加到本地仓库当中,ori
2021-09-02 17:34:35 82
原创 vue-cli入门指令
vue-cli入门指令指令使用,在vue-cli脚手架项目中,搭建项目所使用的指令。1.创建项目 vue init webpack my-project运行项目 npm run dev项目打包 npm run build在vue-cli中使用axios先下载包,npm install --save axios vue-axios再在main.js中导入 import axios from ‘axios’ 和 import VueAxios from ‘vue-axios’
2021-08-19 18:25:23 131
原创 投票管理系统的设计与实现(项目搭建和数据库设计)
投票管理系统的设计与实现(项目搭建和数据设计)一、项目搭建:1.由于使用的是springboot,降低了开发和环境搭建的时间,使用了maven来管理项目的依赖和jar包,减轻了项目搭建的难度,主要jar包如下。 <dependencies> <!--redis依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s
2021-07-23 23:19:58 1621
原创 投票管理系统的设计与实现(项目实现)
投票管理系统的设计与实现一、概述此次实训项目我选择了开发一个投票管理系统,使用了springboot框架来构建项目,mysql作为后台数据库平台,前端使用了bootstrap,Echarts来对数据进行可视化,使用了安全框架shiro来对项目进行安全管理,里面加入了Redis来实现缓存,里面有些功能还未实现,例如,投票时间过期自动消失,这个问题我暂时想的是利用Redis去实现,设置过期实现,自动消失。慢慢来啦,这也算是springboot的helloword项目。二、总体设计项目总共从三个模块进行分
2021-07-23 20:28:04 9651 10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人