摘要: 1.jvm内存结构大致可以分为6个区域,参考下图: 2.GC相关算法介绍 2.1 标记-清除算法 标记清除算法简单快速,但是缺点是会产生很多的内存碎片。开辟内存空间需要的是连续的内存空间,比如需要开辟一个比较大的内存区域,且内存区域足够,但是是由很多内存碎片组成的,这就会导致一个问题的出现,有足够的 阅读全文
posted @ 2019-10-30 16:38 小柴胡颗粒 阅读(329) 评论(0) 推荐(0) 编辑
摘要: CAS(CompareAndSwap的缩写),即:比较并替换。CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操作。 通过上面的流程图可以发现, 阅读全文
posted @ 2019-10-29 16:11 小柴胡颗粒 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 考虑到SimpleDateFormat为线程不安全对象,故应用ThreadLocal来解决,使SimpleDateFormat从独享变量变成单个线程变量。 ThreadLocal用于处理某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量。 get()方法是用来获取ThreadLocal在当前线程中保... 阅读全文
posted @ 2019-06-26 15:03 小柴胡颗粒 阅读(3825) 评论(1) 推荐(0) 编辑
摘要: Redis在3.0中也引入了集群的概念,用于解决一些大数据量和高可用的问题,但是,为了达到高性能的目的,集群不是强一致性的,使用的是异步复制,在数据到主节点后,主节点返回成功,数据被异步地复制给从节点。 对于Redis的集群分片机制。Redis使用CRC16(key) mod 16384进行分片,一 阅读全文
posted @ 2019-05-29 12:13 小柴胡颗粒 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 上传图片是开发中经常会遇到的问题,但是上传图片是有大小限制的。Nginx配置文件中默认上传图片大小的限制是1M,这个可以进行修改。只修改Nginx配置文件还是不够的,项目中也需要进行修改。现在开发流行使用springboot,只需在properties文件中添加如下文件即可。 设置上传下载文件大小, 阅读全文
posted @ 2019-05-29 11:21 小柴胡颗粒 阅读(3868) 评论(0) 推荐(0) 编辑
摘要: 最近给公司出面试笔试题,无意中想到了这么一个基本的题目,虽然简单,但还是能考到面试小伙伴的基础到底怎么样。直接上代码了。 输出结果: 阅读全文
posted @ 2019-05-21 16:27 小柴胡颗粒 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 除了顶层的启动类加载器外,其他的类加载器都有父类加载器(备注:这里所说的父类加载器,并不是Java中所指的继承关系的父类)。 工作原理描述:如果一个类加载器收到了类加载的请求,这个类加载器并不会立即去加载,而是会把这个请求委托给父类加载器去完成,如果父类加载器还存在父类加载器,则会进一步向上委托,依 阅读全文
posted @ 2019-05-21 16:19 小柴胡颗粒 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 网上无意中发现一份关于springboot的教程说明,说的很详细,大家可以参考。具体地址:http://www.spring4all.com/article/246 阅读全文
posted @ 2019-04-18 16:04 小柴胡颗粒 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 相信很多人都见过这张图,这张图说明了提供者与消费者之间的关系,下面就介绍一下这个图是什么意思。 1.角色解释: Provider: 暴露服务的服务提供者。 Consumer: 调用远程服务的服务消费者。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的 阅读全文
posted @ 2019-04-18 14:48 小柴胡颗粒 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 开发中,最常用的是post、get这两种。今天我给大家展示一个利用put请求的demo,其实put请求跟post请求没啥区别,但是没有返回值。 下面就是demo(表现层代码就不写在这里了,业务逻辑层的代码给大家展示)。 阅读全文
posted @ 2019-04-17 17:39 小柴胡颗粒 阅读(9266) 评论(0) 推荐(0) 编辑