i3geek.com
闫庚哲的个人博客

Java

Java

Spring基础——容器和应用上下文的理解

yan阅读(1194)评论(0)赞(0)

Spring的核心之一——IOC容器,通过依赖注入(DI)的方式用来管理关联对象的生命周期。使得业务代码只需要关注业务本身的流程,需要另外的对象来协助了,就跟Spring说,我想要个对象——于是Spring就很贴心的给你个对象,但是这是怎么...

Spring Boot源码分析——自动配置-爱上极客

Spring Boot源码分析——自动配置

yan阅读(2559)评论(0)赞(0)

Spring Boot以spring-boot-starter-xx命名的模块都是“开箱即用”模块,意思是说,当开发者完成依赖添加后(即pom文件的依赖添加),这个功能就会自动创建和注入到上下文中,不需要再编写麻烦的配置,只需要提供参数属性...

Java Web分布式集群搭建(四)——NFS文件共享集群

yan阅读(4272)评论(8)赞(0)

服务器集群搭建后,若系统中存在文件的上传功能,那么如何保证上传文件的一致性呢?通常的解决思路有两种:第一种是建立文件服务器,所有的文件上传都到该服务器上;第二种就是做文件共享,每一台服务器的文件都相同。本文以第二种为例,介绍NFS文件共享集...

Java Web分布式集群搭建(三)——Session同步

yan阅读(1396)评论(0)赞(0)

对于一个业务系统的Tomcat集群来说,必须保证同一个用户访问到任一台服务器上都可以维持之前操作的身份。比如在服务器A进行了登陆,那么在服务器B中也要同步该用户已登录的状态,这里就用到了Session的同步。 同步方式 sticky模式、复...

Java Web分布式集群搭建(一)——Mysql集群

yan阅读(6232)评论(1)赞(2)

MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达到99.999%。 MySQL Cluster...

HashMap源码学习——实现原理-爱上极客

HashMap源码学习——实现原理

yan阅读(1743)评论(6)赞(0)

HashMap介绍 HashMap是基于哈希链表的Map接口的非同步实现。允许使用null值和null键,存储是无序的,是按照哈希散列排序的。 数据结构 最基本的结构是链表散列,如图由两部分组成:数组和链表。HashMap的底层就是一个数组...

线程、多线程以及线程池的相关问题

yan阅读(867)评论(0)赞(0)

线程 1)线程和进程有什么区别? 一个线程是一个独立的运行环境,是一个独立的程序或者应用。线程则是进程中的一个任务。 线程是进程的子集,一个进程可以有多个线程并发执行不同任务。 不同进程使用不同内存空间,所有线程共享同一个内存空间(别和栈内...

Java内存泄露

yan阅读(958)评论(0)赞(0)

内存泄露是指当不再使用的对象没有得到释放,还占有内存,从而造成内存浪费的情况。 在C++中,内存是由程序员进行管理的,从内存的创建、使用和释放都是程序员去操作。很多时候因为疏忽忘记对对象的释放,从而导致无用对象不断增加,导致内存不足,产生内...

java中的四种引用

yan阅读(822)评论(0)赞(0)

从jdk1.2以后,为了更好的控制对象的生命周期,从而定义了四中级别:强引用、软引用、弱引用和虚引用。不同的引用对于JVM的垃圾回收以及内存泄露等有着重要的影响。 强引用 正常的使用中,声明的对象都是强引用,是最普遍的引用。强引用是不能被回...