自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jinli的博客

技术前进过程中的随笔

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

原创 对于学历背景不高的应届生如何发展职业

这种一般就是起点比较高,后面随着他的跳槽,也大都会在各个大厂的圈子了反复横跳,薪资当然也会坐火箭班迅速的达到一个顶峰。针对这两种发展路线的人来说很多时候从一毕业就决定了他们相同职业的不同发展道路,前置条件的不同决定了起点,特别是在互联网这几年,985 211,甚至很多校招都要求了211本硕起步了。第一阶层就像我本人一样,实习的时候找了家软件培训机构学习了四个月,然后跟着同学一路北漂,找了家小公司干着,起步工资5000块,起点很低,后面慢慢通过跳槽,从小公司进入稍大点的公司,再到独角兽,最后进了bat。

2022-10-09 20:51:01 84 1

原创 某独角兽企业二面

一、aop原理底层实现二、限流与熔断原理实现1、限流2、Hystrix详解三、索引结构b+tree结构原理四、HashMap底层数据结构五、MySQL如何强制使用/禁止某索引六、数组与向量(vector)的区别七、分布式Redis锁实现八、DockerFile 编写规范九、docker命令cmd与entrypoint的区别十、分布式服务如何实现服务注册与发现十一、Sprin...

2019-11-21 21:31:42 252

原创 SpringBoot 创建定时任务 Schedul(配合数据库动态执行)

一、静态定时任务(基于注解)基于注解来创建定时任务非常简单,只需几行代码便可完成。@Scheduled 除了支持灵活的参数表达式cron之外,还支持简单的延时操作,例如 fixedDelay ,fixedRate 填写相应的毫秒数即可。@Configuration //1.主要用于标记配置类,兼备Component的效果。@EnableScheduling // 2.开启定时任务publ...

2019-11-15 10:55:49 751

原创 如何保证消息的可靠性传输?解决消息丢失的问题

数据的丢失问题,可能出现在生产者、MQ、消费者中,咱们从 RabbitMQ 和 Kafka 分别来分析一下吧。RabbitMQ生产者弄丢了数据生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。此时可以选择用 RabbitMQ 提供的事务功能,就是生产者发送数据之前开启 RabbitMQ 事务channel.txSelect,然后发送消息,...

2019-11-15 10:55:14 185

原创 如何保证消息队列的高可用?

RabbitMQ 的高可用性RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。单机模式单机模式,就是 Demo 级别的,一般就是你本地启动了玩玩儿的????,没人生产用单机模式。普通集群模式(无高可用性)普通集群模式,意思就是在...

2019-11-15 10:52:58 178

原创 redis 过期策略、内存淘汰机制

redis 过期策略redis 过期策略是:定期删除+惰性删除。所谓定期删除,指的是 redis 默认是每隔 100ms 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果过期就删除。假设 redis 里放了 10w 个 key,都设置了过期时间,你每隔几百毫秒,就检查 10w 个 key,那 redis 基本上就死了,cpu 负载会很高的,消耗在你的检查过期 key 上了。注意,...

2019-11-15 10:52:29 105

原创 如何写好sql?

MySQL性能最大数据量抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。博主曾经操作过超过4亿行数据的单表...

2019-11-15 10:51:50 224

原创 MyBatis的size()方法的坑

Mybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。MyBatis使用xml描述符或注解将对象与存储过程或SQL语句相结合。Mybatis最大优点是应用程序与Sql进行解耦,sql语句是写在Xml Mapper文件中。OGNL表达式在Mybatis当中应用非常广泛,其表达式的灵活性使得动态Sql功能的非常强大。OGNL是Object-Graph...

2019-11-15 10:51:14 1473 1

原创 java 编程规范

一、MyBatis 不要为了多个查询条件而写 1 = 1当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失,因为添加了 “where 1=1 ”的过滤条件之后,数据库系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(即全表扫描) 以比较此行是否满足过滤条件,当表中的数据量较大时查询速度会非常慢;此外,还会存在SQL ...

2019-11-15 10:47:15 157

原创 go语言beego速成框架开发

go语言beego速成框架开发1、安装好go环境2、beego框架和bee工具安装$ go get github.com/astaxie/beego $ go get github.com/beego/bee安装好beego框架,和bee工具,(此命令可能需要在C:\Users\vargo\go\src目录下)3、web项目new命令是新建一个 Web 项目,我们在命...

2019-04-27 11:10:34 284

原创 java 获取某一时间段内各小时占比多少分钟

步骤一、获取小时内的整点 /** * 功能描述: 获取时间段内的整点小时 * @创建人 jl * @日期 2019/3/18 * @参数[dBegin, dEnd] * @返回值 java.util.List<java.lang.String> */ public List<String> findD...

2019-03-19 18:21:44 1105

原创 Java如何创建多线程

一、Java创建多线程的两种方式继承Thread类 实现Runnable接口两种方法都需要重写run()方法之后调用start()方法让线程进入准备状态。(具体执行时间由cpu调度,start()方法并非真正的执行方法)。继承Thread类Thread类本身也是实现了Runnable接口,重写了run()方法,Thread类可直接实例化线程对象package test;...

2019-03-19 17:20:35 233

原创 HashMap、HashTable和ConcurrentHashMap的区别

1、HashMap不是线程安全的,在多线程并发的环境下容易造成死锁,Hashtable是线程安全的,它的每个方法中都加入了Synchronize方法,多线程情况下,需要等待资源释放后,再进行下一个操作,效率低下,ConcurrentHashMap的出现是为了替代了Hashtable,线程安全,并且ConcurrentHashMap底层采用分段的数组+链表实现,在多线程情况下只会锁住某一段,对其他段...

2019-01-03 11:14:06 163

原创 HashMap扩容的背景及原理

/** * 初始化容量 * The default initial capacity - MUST be a power of two. */static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16/** * 负载因子/阈值 * The load factor used when none specifi...

2018-12-20 14:32:59 421

原创 mysql索引失效的原因

mysql索引失效总结一、单表查询时索引失效 1、mysql查询单表时,查询得到的结果集占数据总量很大比例,mysql会认为全表扫描会优于索引,则不走索引。 例:比如企业人员信息表 (userInfo),字段(user_id、user_name、user_type(vachar)),假设企业里有10w人,一千个管理层user_type为1,9万9千人为普通员工us...

2018-12-19 19:37:10 1794

原创 Mac 系统git安装及使用

一、Mac git1、brew install git #Mac中安装git2、git init  #新建文件夹作为项目存储地址初始化git仓库3、ssh-keygen -t rsa -C [email protected](注册的main邮箱)#生成ssh keya、打开终端,输入open ~/.ssh,查看id_rsa.pub这个文件并打开拷贝key值b、打开cod...

2018-12-19 17:50:15 683

原创 获取text/plain格式http请求中的json数据

springboot项目,在接收text/plain格式的时候,无法通过@requestBody得到请求中的json信息,需要对请求中的参数进行解析。异常 type 'text/plain;charset=UTF-8' not supported。/** * 解析text/plain格式请求中的json * * @param request * @return */publ...

2018-12-18 11:24:04 9276

原创 windows+vagrant+virtulbox配置

一、虚拟机1、安装环境 windows7 Vagrant-CentOS-7.box vagrant_1.9.5VirtualBox-4.3.40-110317-Win 2、遇到的问题  1、vagrant 和 VirtualBox-4.3.40-110317-Win 版本不对  (尽量不要使用高版本的)  2、ssh终端 vagrant 登录时指定pbu_key(或者下载badun...

2018-03-27 13:57:36 286

空空如也

空空如也

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

TA关注的人

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