笔记
XIAYULE1129
这个作者很懒,什么都没留下…
展开
-
多线程下载
1.创建线程方式一:继承Thread类,需要重写run方法,里面写线程的逻辑代码,如迅雷下载的逻辑实现。启动线程start方式二:实现Runable接口,重写run方法,需要借助Thread来运行方式一和方式二的区别: 方式1已经继承Thread类,不能再继承别的类 .方式2还可以继承别的类方式三:实现 Callable接口需要重写 call 方法 ,有返回值 . 注意:如果不限定Callable 的泛型 ,代表通用数据类型和方式2区别: 可以拿到返回值 ,但是需要处理异常 . 代码写起来麻烦原创 2020-07-20 17:30:43 · 182 阅读 · 0 评论 -
内存中栈(stack)、堆(heap)、方法区(method area)区分
内存中栈(stack)、堆(heap)、方法区(method area)区分栈内存:通常我们定义一个基本数据类型的变量、指令代码、一个对象的引用,还有就是函数调用的现场保存都使用JVM中的栈空间;栈内存的操作方式类似于数据结构中的栈,采用先进后出的数据结构,与队列(先进先出)这种数据结构很相似, 栈的一大应用就是用来检查表达式或者编译器的语法正确性。栈的优势在于,它的存取速度比较快,仅此于寄存器,栈中的数据还可以共享。其缺点表现在,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。堆内存:通过ne原创 2020-07-17 10:07:40 · 340 阅读 · 0 评论 -
JAVA多线程编程
JAVA多线程编程线程与进程区别进程指得是操作系统对于某一事件的程序实例,即一个程序就是一个进程线程是微观的进程,进程有一个或者以上的线程组成举例来讲,在微信运行时,当你与好友开视频聊天时,与其他好友发信息表情包,浏览朋友圈,关注公众号等这些不同的功能都可以同时运行,其中每一项任务都可以理解成“线程”在工作。线程的生命周期(五个生命周期)新建:当通过new操作符创建一个线程时,处于新建状态就绪:使用start()方法之后处于就绪状态运行:真正执行run()方法阻塞:执行了sleep()、w原创 2020-07-15 15:42:44 · 130 阅读 · 0 评论