线程数=核心数X2;
例如我的电脑 是8核心,所以是16线程
多线程是在更低一层的进程(微信、QQ音乐、一个普通的java程序)中扩展了多任务的概念,单个程序看起来同时完成多个任务。每个任务在一个线程(thread)中执行,线程是控制线程的简称。如果一个程序可以同时运行多个线程,则这个程序是多线程的,在没学过Thread类之前,我们所写的程序都是单线程的,程序都是写在main线程中的。
那么多进程与多线程有什么区别?
本质上的区别在于,每个进程都拥有自己的一整套变量,而线程则共享数据。这看起来似乎有风险,的确也是是这样的,不过共享变量使线程之间的通信比进程之间的通信更有效,也更容易。此外在操作系统中,创建(销毁)一个(轻量级的)线程比创建一个进程也更容易,同时开销也要小得多。
在实际应用中,多线程非常有用 。例如我们在浏览器中我们可以同时可以下载几张图片、百度服务器可以同时处理众多用户的请求、当然你可以在1分钟内同多个女生聊天(海王),而这个时候女生是察觉不到的,这看起来就是一个多线程,只不过如果当你在同一时间内与这些女生一起吃饭,你会遇到麻烦的事情,如果你不想遇到这些麻烦的事情,你得保证你在同一时刻不让这些女生享有你,这样你就完美的避免了这个麻烦!
Web系统是最常见的Java应用之一,而基本的Web库、Servlet具有天生的多线程特性------这很重要,因为Web服务器往往运行在包含多个处理器上高性能PC端上,可能是云上。而并发是充分利用这些处理器的理想方式。
在当前,moore定律已经过时(至少在当下阶段芯片制造在传统工艺上性能马上要达到一个物理上的极限,只有新的技术变革,才会推动芯片速度的进一步提高),在以前运行速度的提高是通过提高单个芯片的频率或者集成电路和架构的不断迭代更新,而提高的,目前运行速度的提高是通过以多核处理器的形式,而不是频率更高的单颗Cpu来实现的,为了使用这些额外的处理器(例如我的是8核16线程),这也正是我们要学习多线程的目的所在,通过多线程技术,可以通过并发而使程序变得更快。
==========================================================================
敬请期待
========================================================================
敬请期待
========================================================================
敬请期待
======================================================================
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》**
[外链图片转存中…(img-mkpC9Xxp-1711556377396)]