关闭

数据结构中常见的树

注:不完全,以后持续更新。 1、BST树,即二叉查找树或二叉排序树 定义:或者是一颗空树,或者是具有以下性质的二叉树: (1)若左子树不为空,则左子树上的所有节点均小于他的根节点; (2)若右子树不为空,则右子树上的所有节点均大于根节点; (3)他的左右子树也分别为BST树。 2、AVL树,即平衡二叉树 定义:或者是一颗空树,或者满足以下性质的二叉树: (1)每一个节点的左子树的深...
阅读(16) 评论(0)

HashMap原理

1、HashMap的工作原理? HashMap是利用哈希法实现的,有一个Entry数组和若干链表组成,当我们使用put(key, value)将键值对存储到Map中时,首先会调用hashCode()方法获取hashCode,并对数组长度取余找到在数组上的存储位置,然后判断该位置上上是否有元素,没有的话创建Entry对象存入该位置,有的话先判断该位置的链表有没有该key,有的话将该key所在的va...
阅读(33) 评论(0)

HashMap,HashTable和ConcurrentHashMap的区别

一、HashMap与HashTable的区别: 1.HashMap是非线程安全的,HashTable是线程安全的,HashTable中的很多方法都是加了sysnchronized关键字的,确保了方法的同步; 2.HashMap可以接受空key和value,而HashTable不能接受空key和value; 3.由于HashMap是异步执行,而HashTable是同步执行,所以在单线程环境下,...
阅读(16) 评论(0)

CentOS下nginx+tomcat负载均衡集群的搭建

1.在CentOS上安装一个nginx(监听80端口)和两个Tomcat,分别为Tomcat1(监听8080端口)和Tomcat2(监听8090端口)。 2.配置/nginx/conf/nginx.conf:#工作进程的个数,一般与计算机的cpu核数一致 worker_processes 4; events { worker_connections 5096;#单...
阅读(17) 评论(0)

在一台Linux上部署多个tomcat

1.将Tomcat解压到两个不同的文件夹下:/developer/tomcat1 和 /developer/tomcat2(/tomcat1,/tomcat2为Tomcat的根目录)。 2.在/etc/profile中配置两个Tomcat的环境变量:        ##########first tomcat###########   CATALINA_BASE=/developer/tom...
阅读(12) 评论(0)

算法-单链表-判断链表是否有环,是否交叉,计算环长,计算入环节点

1.判断一个单链表是否存在环: import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class ChkLoop { public boo...
阅读(16) 评论(0)

数据库事务不同隔离级别的原理

作者:沈杰 链接:https://www.zhihu.com/question/30272728/answer/132403859 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 隔离性分为四个级别: 1读未提交:(Read Uncommitted) 2读已提交(Read Committed) 大多数数据库默认的隔离级别 3可重复读(Repeat...
阅读(91) 评论(0)

设计模式

1.设计模式原则 参考:http://www.cnblogs.com/dolphin0520/p/3919839.html 1.开闭原则:对扩展开发,对修改关系,即在不修改原有代码的基础上进行扩展。 2.里氏替换原则:所有引用父类(基类)的地方可以透明的引用其子类,反之则不成立。里氏替换原则是实现开闭原则的重要方式之一。 3.依赖倒置原则:程序要依赖于抽象接口编程,而不是具体实现编程。依赖...
阅读(45) 评论(0)

servlet中forword与sendredirect的区别

一、原理分析: 1、请求转发(RequestDispatcher):   客户端首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用request.getRequestDispatcher().forword()方法,把请求转发给指定的jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet...
阅读(239) 评论(0)

JVM垃圾回收原理,算法及各种回收器比较

1、判断对象是否已经“死去” 垃圾回收器在对堆进行垃圾回收时,首先要做的就是判断对象是否已经死去。 1.1 引用计数法 原理:给对象添加一个引用计数器,当被引用时,引用计数器加一,当引用失效时,引用计数器减一,当引用计数器为零时,则表示这个对象已经死去。 优点:实现简单,判定效率高。 缺点:很难解决对象之间相互循环引用的问题。 1.2 可达性分析法 原理:以一系列的GC Roots为...
阅读(32) 评论(0)
    个人资料
    • 访问:522次
    • 积分:96
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档