- 博客(7)
- 收藏
- 关注
原创 三次握手和四次挥手
三次握手和四次挥手:tcp ip协议是传输层一个面向连接的安全可靠的传输协议。三次握手机制是保证能建立一个安全可靠的连接。第一次握手是由客户端发起,客户端会向服务端发送一个报文,报文里SYN位是置1的,当服务端收到这个报文就知道客户端要和我发起一个连接,于是服务端就向客户端发送一个确认消息包,这个包里面ARK位置1,以上两次握手之后,对于客户端而言,其实是已经知道了所有的信息,即我能给客户端发消息,客户端也能收到我发的消息,但是对于服务端而言,两次握手是不够的,只知道客户端给我的消息能收到,但是不知道客
2020-12-15 14:12:41
131
原创 冒泡排序、归并排序、快速排序
题目:给你一个整数数组 nums,请你将该数组升序排列。示例 :输入:nums = [5,2,3,1]输出:[1,2,3,5]方法一:冒泡排序法class Solution {public int[] sortArray(int[] nums) {for(int i = nums.length-1;i>=1;i–){for(int j = 1;j<=i;j++){if(nums[j-1]>nums[j]){swap(nums,j,j-1);} }
2020-07-05 21:22:41
235
原创 JVM——GC(垃圾回收)
1 JVM的内存模型和分区,每个区都是干什么的?2 堆里面的分区有哪些?说说他们的特点?Eden、from、to、老年区;3 GC算法有哪些?怎么用?引用计数法、标记清除法、标记压缩、复制算法;1)引用计数法(一般不采用):每个对象有一个计数器,计数器本身有消耗。2)复制算法:好处:没有内存的碎片坏处:浪费了内存空间,多了一半永远是空的to区,假设对象100%存活(极端情况)最佳使用场景:对象存活度较低的时候(新生区)3)标记清除压缩算法:清除:对没有标记的对象进行清除压缩:
2020-06-02 21:27:51
178
转载 JVM——栈和堆
JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。转载 https://www.cnblogs.com/ibelieve618/p/6380328.html一、先说一下最基本的要点基本数据类型、局部变量都是存放在栈内存中的,用完就消失。new创建的实例化对象及数组,是存放在堆内存中的,用完之后靠垃圾回收机制不定期自动消除。二、先明确以上两点,以下示例就比较好理解了示例1main() int x=1;show ()
2020-06-02 13:23:47
196
原创 JVM——Native、计数器、方法区
Native:凡是带了Native关键字,说明java的作用范围达不到了,会去调用底层c语言的库。调用本地方法接口(JNI)调用本地方法库。作用:扩展java的使用,融合不同的编程语言为java所用。
2020-06-02 11:01:27
190
原创 JVM——双亲委派机制
1 什么是双亲委派机制?当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得ClassLoader负责将这些class问价加载到JVM中去执行。2 类加载器类别BootstrapClassLoader(启动类加载器)ExtClassLoader (标准扩展类加载器)AppClassLoader(系统类加载器)Cu
2020-06-02 01:04:02
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人