摘要: 一 .数组 数组(Array) 是一种很常见的数据结构。它是由相同类型的元素(element)的集合所组成,并且被分配一块连续的内存来存储(与链表对比),利用元素的索引(index)可以计算出该元素对应的存储地址。 它的特点是提供随机访问并且容量有限。 假如数组的长度为 n 访问:O(1)//访问特 阅读全文
posted @ 2020-06-03 13:02 47号Gamer丶 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 遍历概念: 前序遍历:先访问根节点——左子树——右子树。 中序遍历:先访问左子树——根节点——右子树,按照这个顺序。 后序遍历:和前面差不多,先访问树的左子树——右子树——根节点。 以下是代码: 构建二叉树和根节点 前序遍历(递归与非递归): 中序后序同上 测试 : 测试结果: 阅读全文
posted @ 2020-06-03 11:46 47号Gamer丶 阅读(114) 评论(0) 推荐(0) 编辑
摘要: JVM性能调优: Tomcat本身还是运行在JVM上的,通过对JVM参数的调整我们可以使Tomcat拥有更好的性能。目前针对JVM的调优主要有两个方面:内存调优和垃圾回收策略调优。 所以归纳为以下: 总体架构 主要的组件 执行过程 tomcat 调优 :可以考虑从内存,并发,缓存,安全,网络,系统等 阅读全文
posted @ 2020-06-03 11:13 47号Gamer丶 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。 看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an obje 阅读全文
posted @ 2020-06-03 10:54 47号Gamer丶 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 本文旨在用最通俗的语言讲述最枯燥的基本知识 学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java只有值传递,有的博客说两者皆有;这让人有点摸不着头脑,下 阅读全文
posted @ 2020-06-03 10:44 47号Gamer丶 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 例如: String str1 = "ABC" String str2 = new String("ABC"); String str1 = "ABC"; 可能创建一个对象或者不创建对象。 如果"ABC" 这个字符串z在java String池中不存在,会在java String池中创建一个Stri 阅读全文
posted @ 2020-06-03 10:38 47号Gamer丶 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 问题 (1)volatile是如何保证可见性的? (2)volatile是如何禁止重排序的? (3)volatile的实现原理? (4)volatile的缺陷? 简介 volatile可以说是Java虚拟机提供的最轻量级的同步机制了,但是它并不容易被正确地理解,以至于很多人不习惯使用它,遇到多线程问 阅读全文
posted @ 2020-06-03 10:35 47号Gamer丶 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 本文导航: 获取锁 释放锁 公平锁与非公平锁 ReentrantLock 与 synchronized 的区别 参考资料 ReentrantLock,JUC提供的可重入锁,是一种递归无阻塞的同步机制。 它可以等同于 synchronized 的使用,但是提供了比 synchronized 更强大、更 阅读全文
posted @ 2020-06-03 10:24 47号Gamer丶 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 本篇主要是对Java并发中synchronized关键字进行较为深入的探索,这些知识点结合博主对synchronized的个人理解以及相关的书籍的讲解(在结尾参考资料),如有误处,欢迎留言。 本文导航: synchronized的三种应用方式 synchronized作用于实例方法 synchron 阅读全文
posted @ 2020-06-03 10:15 47号Gamer丶 阅读(129) 评论(0) 推荐(0) 编辑