
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
下面昆明达内官网的小编跟大家一起聊聊么是java技术栈,它有和用处?大家在java程序员的学习中可能已经基本了解过java技术栈了吧,那小编今天就给大家好好理理思路吧,大家如果有时间可以把下面的知识记录笔记,之后用到java技术栈的知识就可以之家拉来使用了。
1.1算法
1.1排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序
1.2二叉查找树、红黑树、B树、B+树、LSM树(分别有对应的应用,数据库、HBase)
1.3 BitSet解决数据重复和是否存在等问题
1.2基本
2.1字符串常量池的迁移
2.2字符串KMP算法
2.3 equals和hashcode
2.4泛型、异常、反射
2.5 string的hash算法
2.6 hash冲突的解决办法:拉链法
2.7 foreach循环的原理
2.8 static、final、transient等关键字的作用
2.9 volatile关键字的底层实现原理
2.10 Collections.sort方法使用的是哪种排序方法
2.11 Future接口,常见的线程池中的FutureTask实现等
2.12 string的intern方法的内部细节,jdk1.6和jdk1.7的变化以及内部cpp代码StringTable的实现
1.3设计模式
单例模式
工厂模式
装饰者模式
观察者设计模式
ThreadLocal设计模式
1.4正则表达式
4.1捕获组和非捕获组
4.2贪婪,勉强,独占模式
1.5 java内存模型以及垃圾回收算法
5.1类加载机制,也就是双亲委派模型
5.2 java内存分配模型(默认HotSpot)
线程共享的:堆区、永久区线程独享的:虚拟机栈、本地方法栈、程序计数器
5.3内存分配机制:年轻代(Eden区、两个Survivor区)、年老代、永久代以及他们的分配过程
5.4强引用、软引用、弱引用、虚引用与GC
5.5 happens-before规则
5.6指令重排序、内存栅栏
5.7 Java 8的内存分代改进
5.8垃圾回收算法:
标记-清除(不足之处:效率不高、内存碎片)
复制算法(解决了上述问题,但是内存只能使用一半,针对大部分对象存活时间短的场景,引出了一个默认的8:1:1的改进,缺点是仍然需要借助外界来解决可能承载不下的问题)
标记整理
5.8常用垃圾收集器:
新生代:Serial收集器、ParNew收集器、Parallel Scavenge收集器
老年代:Serial Old收集器、Parallel Old收集器、CMS(Concurrent Mark Sweep)收集器、G1收集器(跨新生代和老年代)
5.9常用gc的参数:-Xmn、-Xms、-Xmx、-XX:MaxPermSize、-XX:SurvivorRatio、-XX:-PrintGCDetails
5.10常用工具:jps、jstat、jmap、jstack、图形工具jConsole、Visual VM、MAT。