自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java基础相关

1.HashMap常见面试题HashMap的底层数据结构HashMap底层是数组+链表HashMap的存取原理通过对key进行hash得到index值,根据index索引值找到对应的数据java7和java8的区别在hashmap put插入的时候,java7采用的是头插法,头插法会导致新来的值替换原来的值,会将hash的存储结构进行打乱,在java8采用的是尾插法,不会打乱原hashmap存储结构为啥hashmap线程不安全以为hashmap的get/set方法没有同步锁

2020-09-16 14:40:14 76

原创 SpringCloud轻松学

什么是分布式架构分布式架构是相对于单体架构而言分布式架构强调小粒度的模块化管理,每个模块独立运行分布式架构强调"避免将鸡蛋放在一个篮子里"微服务定义微服务架构风格是一种使用系列微小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,为独立业务开发,并使用轻量级通信协议,一般为HTTP协议,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,保存分布式管理单体架构的...

2019-04-03 17:08:56 190

原创 多线程相关知识点详解

一:初识线程并发(模拟并发情况下计数器结果)/** - @Author: 小土狗 - @Date: 2019/3/27 15:14 - @Version 1.0 */public class DownloadSample { //模拟并发用户数 private static int user = 1; //模拟下载总数 private static in...

2019-03-27 16:57:26 336

转载 数据库分库分表

一、用户中心用户中心是一个常见业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为:User(uid, uname, passwd, sex, age,nickname, …)其中:uid为用户ID,主键uname, passwd, sex, age, nickname, …等为用户的属性数据库设计上,一般来说在业务初期,单库单表就能够搞定这个需求。三、单库架构最常见...

2019-03-27 10:08:34 108

原创 lombok插件get/set方法不生效

lombok插件get/set方法不生效将idea工具中的注解生成器打开,即可生效!

2019-03-04 16:19:21 1641

原创 使用idea导入gradle构建过的项目

最近刚入职一家新公司,在boss给了gitlab代码库之后,接着就是拉代码了,配置了gitlab的公秘钥之后,成功拉下代码,结果一看,蒙蔽了.为啥呢,所有的项目模块都是用gradle构建的,对于我这种只用过maven构建的那岂不是坑爹,经过一番摸索之后,项目终于不报错了.打开idea的setting–>open–>(点击你要打开的项目)–>点击build.gradle具体bui...

2019-02-27 11:16:23 1687

原创 电商项目技术剖析

项目是根据功能模块横向切分的分布式架构,大概分为后台管理系统,前台系统,会员系统,订单系统,搜索系统,会员登录系统后台管理系统:管理商品,订单,类目,商品规格属性,用户管理以及商品发布前台系统:注册,登录,浏览商品,首页,下单等会员系统:个人中心,查询已下订单,收藏的商品,优惠券,团购等订单系统:下单,查询定点杆,修改订单,定时处理订单搜索系统:商品搜索功能会员登录系统:为多个系统提供...

2019-02-19 13:32:24 458

原创 MySql分库分表

分库分表有垂直切分和水平切分两种垂直切分将表按照功能模块,关系密切程度划分出来,部署到不同的库上,例如:我们会建立定义数据库workDB,商品数据库payDB.用户数据库userDB,日志数据库logDB等,分别用来存储项目数据定义表,商品表,用户表,日志表等水平切分当一个表的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同...

2019-02-18 13:23:20 146

原创 Collection和Map集合体系说明

集合体系说明Collection集合下分为List集合和Set集合Collectionlist集合下有ArrayList,LinkedList,Vector(基本不用) 三种集合体系list集合有序,可重复,进去是什么顺序,取出还是这个顺序1.ArrayList底层采用的是数组存储元素,所以该集合适合查询,不适合频繁的删除修改2.LinkedList底层采用的是链表结构(相当于是一个元...

2019-02-18 12:45:59 520

原创 git 合并分支

比如说想从stg分支合到prod分支先在stg上提交代码到git再切换成prod分支更新代码.保证两个分支都是最新的代码再prod分支上执行get merag 合并分支,再push推上git...

2018-12-24 12:38:03 173

原创 分布式锁的实现方式

分布式锁的实现方式:**基于数据库****基于redis****基于zookeeper**1.基于数据库实现两种做法:基于数据库乐观锁基于数据库悲观锁乐观锁机制是在数据库引入一个版本号version字段来实现当我们去数据库读取数据的时候会将version版本号读取出来,如果对读出来的数据进行更新再写入操作就会将version版本号加1,同时将版本号更新进去,这个时候如果...

2018-11-27 11:07:07 106

原创 解决Tomcat闪退问题

1 首先考虑的是端口占用2 现在讲的是这一种方法(1)找到解压缩的文件的bin目录 找到startup.bat 记事本打开开头加上两句话SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60//这里是jdk的安装目录      SET TOMCAT_HOME=F:\Program Files (x86)\java\TOOL\tomcat\apach...

2018-11-09 15:21:43 97

原创 maven将jar包打入war包方法

咱们在实际开发中,肯定要分环境去将不同环境的配置文件打入指定工程中,本篇博客就是想告诉大家怎么将指定配置文件打包至指定工程中大家可以看到这是一个只用来存放不同环境配置文件的工程,(出于项目保密,暂且打上马赛克),环境分为开发,测试,正式三种环境<profile> <id>dev</id> &am

2018-09-24 16:56:29 291

原创 千万级电商高并发与秒杀思路分析

千万级电商高并发与秒杀思路分析测试工具:Jmeter思路:1.对于一些数据查询多少遍都不会改变的数据,使用redis进行缓存.在service层使用cachable注解,cachable注解的作用是在查询的时候第一遍查询的是数据库,然后将数据存放在redis,然后在第二遍查询的时候就会直接从redis去查询,而不会去走查询语句ps:使用redis会将查询速度提高4倍以上;2.静态化技术...

2018-09-24 16:41:48 1370 2

原创 解决git本地仓库与远程仓库关联出现 failed to push some refs to git的问题

今天上午安装了git版本管理工具,由于我是第一次使用,在添加远程库的时候一直验证不成功,一直提示failed to push some refs to git的问题,经过网上查找终于解决了这个问题。不过要感谢这篇百度经验http://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html解决了这个问题,虽然遇到的问题可能会相似,但还是想把自己...

2018-08-09 20:41:30 371

原创 使用postman测试接口时需要先登录怎么办

1.在浏览器上先登录,登录成功后获取cookie:2.接着打开postman: 3.接下来send即可。其他参考资料:接口测试 postman:模拟发送一个需要 cookie 认证的请求https://testerhome.com/topics/7612...

2018-08-09 20:38:48 3279

原创 git master分支合并

git master分支合并 1.平常开发中,一般都是要在git上新建项目分支,比如dev,stg等等,当然主分支还是master,在dev分支中进行开发,开发完,合到stg分支上进行测试,测试完合并到master分支上进行部署上线 2.ok,在我们对dev分支进行修改commit push之后,header会指向dev分支,此时的master分支并没有改变,那么问题来了,我们要怎样把dev修...

2018-08-02 17:43:32 568

原创 linux环境下 使用jenkins实现自动化部署

linux环境下 jenkins自动化部署 1.linux环境安装tomcat,jdk,并配置环境变量 2.安装两个tomcat(一个跑jenkins的war包,一个跑你要部署的项目,我这里只跑一个,如果跑多个项目,就得安装多个tomcat,并配置端口号,避免冲突) 3.将代码从gitlab仓库中拉取到服务器,(服务器安装git,yum install git和mav...

2018-08-02 09:41:24 567 1

空空如也

空空如也

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

TA关注的人

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