- 博客(22)
- 收藏
- 关注
原创 JVM内存模型
JVM(Java Virtual Machine)是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它有自己的指令集和执行引擎,可以在运行时操控内存区域。目的是为构建在其上运行的应用程序提供一个运行环境。JVM可以解读指令代码并与底层进行交互:包括操作系统平台和执行指令并管理资源的硬件体系结构。...
2022-08-26 20:44:54 338 1
原创 基于ShardingSphere分库分表
背景:无论是数据库还是应用从最原始的单机架构开始,随着用户的增多,考虑到系统的高可用和越来越多的用户请求,我们开始使用主从架构,用户量和业务量进一步上升之后,微服务集群和数据库集群也就出现了,就应用而言,随着服务器的增加可以将请求量分摊到出去,而数据库是不是也可以采用类似的思想进行分而治之呢,分库分表就出现了。遇见的问题:1、单库数据量太大,单个数据库处理能力有限,单库所在的服务器磁盘空间有限,磁盘IO也一直是现在大部分应用场景的瓶颈。2、单表数据量太大,查询,插入,更新操作...
2022-03-24 20:45:37 2735
原创 一篇文章带你了解RabbitMQ
四大核心概念生产者:产生数据发送消息的程序是生产者交换机:交换机是RabbitMQ非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。交换机必须确切知道如何处理它接收到的消息,是将这些消息推送到特定队列还是推送到多个队列,亦或者是把消息丢弃,这个得有交换机类型决定队列:队列是RabbitMQ内部使用的一种数据结构,尽管消息流经RabbitMQ和应用程序,但它们只能存储在队列中。队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲区。许多生产者可以将消息发送到一
2022-01-10 14:04:43 877
原创 深入浅出HashMap设计原理
首先从put方法入手,一步一步解锁。hash:由key计算出来的hash值key:keyvalue:valueonlyIfAbsent:如果当前位置已经存在一个值是否替换,false(替换),true(不替换)evict:表是否在创建模式,如果是false则表在创建模式(这个参数LinkedHashMap会用到)首先我来来看下hash方法0000 0100 1011 0011 1101 1111 1110 0001>>> 160000 0000
2021-07-14 15:59:36 195
原创 数据库的四种事务隔离级别
数据库的四种事务隔离级别众所周知,数据库有四种事务隔离的级别,网上看了好几篇关于四种隔离级别的描述和举例,但是总是在表达和理解上对新人很不友好;所以结合自身的理解进行了一下描述:四种事务隔离级别:1、读未提交:B事务可以读取到A事务未提交添加的和修改的数据,当A事务回滚后,造成脏读2、读已提交(不可重复读)【大部分数据库的默认隔离级别,如oracle和sql server】:B事务读取不到A事务未提交的数据,但是可以修改A事务访问的数据,导致A事务执行前和执行后读取的数据不一致,造成不可重复读3
2021-05-13 14:16:07 113
原创 DataX使用示例
DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS等各种异构数据源之间高效的数据同步功能。关于原理及优缺点,知乎上有博主描述:https://zhuanlan.zhihu.com/p/81817787笔者比较赞同阿里相关文档地址:https://github.com/alibaba/DataX...
2021-04-16 16:11:54 3449
原创 微服务网关Spring Cloud Gateway
背景:随着微服务的流行,服务数量也在急剧增加,为了保障服务的安全性(鉴权,限流,过滤掉非法的路由请求,减少后面微服务的压力),各个服务之间都进行处理的话又会显得代码臃肿不易维护,并且破坏了微服务本身的逻辑;提供一个公共包或许也可以解决这个问题,但这需要你每个业务服务都去添加公共服务的依赖,无端增大了jar包的大小,同时去修改公共包的时候其他所有的业务包需要重新依赖新版本的公共包,重新构建,灵活度大大降低;而网关的引入将很好的解决这个问题;网关解决的问题:传统的不用网关:使用网关:没网关时存在的
2021-02-03 15:05:39 367 1
原创 Redis(面试必备)
(1)为什么要使用redis1、redis采用多复路io阻塞机制,数据结构简单操作节省时间,且运行在内存中效率高于硬盘,针对查询较慢且不易变动的数据可以考虑存在redis中,从而减少数据库的IO压力;2、而且redis采用了大量的Lua语言脚本有很多原子性的操作,同时提供了事务的支持;3、丰富的数据类型(string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合))及API;4、提供了RDB(基于快照,默认开启)和AOF(基于日志,默
2020-12-14 11:13:16 708
原创 springboot集成quartz实时性的任务调度
quartz简介(官网搬下来的!!!):Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中-从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数以万计,数以万计的工作。任务定义为标准Java组件的作业,它们实际上可以执行您可以对其执行的任何编程操作。Quartz Scheduler包含许多企业级功能,例如对JTA事务和集群的支持。Quartz是免费使用的,并根据Apache 2.0许可获得许可。quartz官网:http://www.q
2020-12-11 14:56:45 580
原创 vue使用去掉路由上面的#,打包后请求404或者空白页
首先我是一个后端,自己写了点vue的东西,但是启动发现路由总是多了一个#,蓝瘦!!!百度发现在router/index.js加 **mode: ‘history’,**就ok了网上说他默认是hash模式的,具体区别我百度放下面了可选值 : ‘hash’ | ‘history’ | ‘abstract’hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5...
2020-01-09 16:27:40 1876
原创 idea快捷键大全
Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate) fori/sout/psvm + Tab Ctrl+Alt+T 生成try catch 或者 Alt+enter CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里 Ctrl + ...
2019-08-03 16:09:30 249
原创 linux下利用yum安装svn
使用yum安装非常简单:yum install subversion我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。[root@localhost /]# cd /home[root@localhost home]# mkdir svn[root@localhost home]# svna...
2019-06-21 20:42:35 561
原创 IDEA的debug模式下断点只走一次,第二次断点都失效,解决办法
看了网上有的说,是断点设置问题,但对于我貌似没用后来我看了我往常结束断点的方法是点击这个,才导致我后面的断点失效了正确的是想运行到下个断点直接F9(eclipse快捷键的话,默认是F8)就好了,别点这个,别点这个,别点这个!!!!!...
2019-05-28 19:18:46 15171 11
原创 mysql在linux下的yum安装
MySQL安装之yum安装在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1. 下载并安装MySQL官方的Yum Repository 1 [root@BrianZhu /]# wget -i -c http://dev.mysql.com/get...
2019-05-25 13:55:59 137
转载 linux下安装solr7.5.0
1、要想在Linux下安装Solr7.5.0,并部署到Tomcat中,就需要先安装JDK 和 Tomcat安装JDK链接:Linux下安装JDK安装Tomcat链接:Linux下安装Tomcat2、进入solr官网,在导航栏中有个DOWNLOAD下载入口官网链接:https://lucene.apache.org/solr/3、apach...
2019-02-19 17:25:38 575
转载 linux下安装tomcat
1、要想在Linux下使用Tomcat,就需要先安装JDK安装JDK链接:Linux下安装JDK2、进入Tomcat下载官网,选择tar.gz(pgp,sha512)链接进行下载官网下载链接:https://tomcat.apache.org/download-90.cgi3、下载完成之后,打开WinSCP,把我们下载...
2019-02-19 17:23:16 133
转载 linux下安装jdk1.8
官网下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 1、点选 Accept License Agreement 2、点击Linux版本的 jdk-8u191-linux-x64.tar.gz链接进行下载 3、下载完成之后,打开Wi...
2019-02-19 17:21:52 200
原创 Java四种对象引用:
linux tar.gz zip 解压缩 压缩命令http://apps.hi.baidu.com/share/detail/37384818download ADT linkhttp://dl.google.com/android/ADT-0.9.6.zipdownload SDK linkhttp://dl.google.com/Android/android-sdk_r1...
2019-02-19 17:19:09 134
原创 java实现URL签名算法
下载地址http://nginx.org/en/download.html我下载的是nginx-1.10.1版本,官方说是最新稳定版解压到文件夹;我解压到D盘目录下,并重命名文件夹为nginx双击nginx.exe启动访问locahost该页面为默认页面,可以根据具体需求修改;1、修改默认网页内容 - nginx/html/index.html2、修改配置路径 - ng...
2018-10-12 18:56:26 709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人