分类:Java

Java

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

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

yan 2017 年 12 月 7 日 1066℃ 8评论 2喜欢

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

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

yan 2017 年 12 月 3 日 443℃ 0评论 4喜欢

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

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

yan 2017 年 11 月 25 日 873℃ 1评论 3喜欢

HashMap源码学习——实现原理

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

yan 2016 年 8 月 30 日 736℃ 6评论 8喜欢

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

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

yan 2016 年 6 月 1 日 490℃ 0评论 4喜欢

Java内存泄露

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

yan 2016 年 4 月 21 日 395℃ 0评论 6喜欢

java中的四种引用

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

yan 2016 年 4 月 21 日 447℃ 0评论 7喜欢

详细阐述集合类

cambrian.render('head') Collection接口,是集合类的最基本接口。集合类(Collection)顾名思义,代表一组元素(Elements)的集合。继承该接口的主要是List、Set和Queue三个接口,不提供直接继承的类。 由此可知,Set、List...

yan 2016 年 4 月 19 日 322℃ 0评论 3喜欢

JAVA中的接口和抽象类

cambrian.render('head')抽象是面向对象设计的几大特点之一,在JAVA中的体现则是抽象类和接口。这两者十分的相似,想很多初学者甚至接触java几年的人也很难分清他们。今天笔者在查看集合类相关的代码的时候,发现了有部分是接口如List、Map等,有部分是抽象类如...

yan 2016 年 4 月 18 日 387℃ 0评论 4喜欢