- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 JVM内存管理调优
运行时数据区是JVM把自己管理的内存部分抽象出来的模型,抽象出来的不同的数据区域,以便于管理,具体有程序计数器、堆、栈、本地方法栈和方法区这几个区域。这几个区域有的会产生内存溢出的问题,在实际生产中会导致服务不可用,所以确保机器的鲁棒性,JVM调优是不可忽视的一环。对象回收判断在进行JVM调优之前,我们要先对对象回收判断和垃圾回收方式有所了解,才能针对他们的特点考虑如何进行回收。如何判断对...
2018-08-21 13:00:57 667
原创 三代HTTP协议间的差异与优化
目前我们使用的HTTP协议是HTTP1.1,对于现在的网络来说这个版本的协议足够好用和稳定。HTTP2相比较HTTP1.x进行了更多的优化,大幅度的提升了web的性能,让网络足够优秀,进一步减少了网络的延迟。这里我们探讨一下HTTP的1.0、1.1、2.0这三个版本的差异和升级后对前一代的优化情况。HTTP1.0 与 HTTP1.1 的区别增加方法增加了很多请求方法,1.0中只有POS...
2018-08-21 13:00:13 565
原创 如何优雅的使用MySQL索引
MySQL最常用的引擎是MyISAM和innoDB两种,这两种引擎里innoDB因其拥有外键、事物、各类锁等功能所以在生产环境的应用更加广泛。innoDB的索引根据功能划分有单列索引、组合索引,按照性质划分有聚簇索引和非聚簇索引。在编写SQL语句时,使用索引可以大大加快语句执行速度。MySQL组成MySQL大概是由以下这些个部分组成:连接池:MySQL顶层有连接池,这是类似于线程池的池...
2018-08-14 15:36:52 1367
原创 对于不同任务的线程池设计方案
池化技术的应用很广泛,比如线程池、连接池等。在业务有需要的地方建池,将宝贵的资源重复利用,从而提升效率和性能。ThreadPoolExecutor是JAVA提供的一种线程池技术,通过使用它,我们可以很方便的建立池化技术的应用很广泛,比如线程池、连接池等。在业务有需要的地方建池,将宝贵的资源重复利用,从而提升效率和性能。ThreadPoolExecutor是JAVA提供的一种线程池技术,通过使用...
2018-08-13 19:48:01 3151 1
原创 如何设计大量数据的查重和去重
至少在现阶段内存和CPU的执行效率在固定时间内是有限的,大量的数据的查重和去重处理不可能同时在内存中进行。就像外部排序算法和内部排序算法差别很大,遇到此类大量数据查重问题对算法进行设计是有必要的。ConcurrentHashMap数据量不大的时候可以采用concurrentHashMap来操作,在内存中对数据进行同步的CRUD操作。这种做法的好处是很明显的,逻辑处理很简单易懂。但是会产...
2018-08-13 19:45:56 8305 1
原创 spring中IoC和AOP的实现
6.2 spring IoCIoC容器是Spring的核心。容器从配置文件中读取需要创建哪些对象,并在创建后按照要求把它们进行装配,通过这样的方法达到业务代码解耦的目的。不仅如此,spring还负责管理这些对象从创建到销毁的整个生命周期。在代码实现中,我们通常把这些对象叫做SpringBean,通过结构复杂的Bean工厂来完成它们的创建。6.2.1 BeanFactoryBeanFac...
2018-08-03 10:21:02 1079
原创 微服务架构
1 基本概念1.1 高可用负载均衡、限流、熔断、降级、高并发控制、回滚、隔离、压力测试1.2 高并发缓存、异步操作、池化技术、扩容、队列2 负载均衡外网(广域网)通过DNS全局负载均衡解析到不同的局域网集群进行分流 内网(局域网)通过搭建API网关,比如LVS(软件负载均衡器)、NginX、F5多层次进行负载均衡 NginX将解析结果分配给服务器2.1 LVSLV...
2018-08-01 16:27:12 491
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人