- 用户线程和守护线程(1)用户线程:也叫工作线程,当线程的任务执行完或通知方式结束(2)守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束(3)常见的守护线程:垃圾回收机制线程的生命周期JDK中用Thread.State枚举表示了线程的几种状态Thread.State (Java Platform SE 6)public static enum Thread.Statee... 用户线程和守护线程(1)用户线程:也叫工作线程,当线程的任务执行完或通知方式结束(2)守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束(3)常见的守护线程:垃圾回收机制线程的生命周期JDK中用Thread.State枚举表示了线程的几种状态Thread.State (Java Platform SE 6)public static enum Thread.Statee...
- 继承Thread vs 实现Runnable的区别(1)从java的设计来看,通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,从jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口。(2)实现Runnable接口方式更加适合多个线程共享一个资源的情况,并且避免了单继承的限制,建议使用Runnable。案例演示模拟三个售票窗口售票100张,分别使用... 继承Thread vs 实现Runnable的区别(1)从java的设计来看,通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,从jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口。(2)实现Runnable接口方式更加适合多个线程共享一个资源的情况,并且避免了单继承的限制,建议使用Runnable。案例演示模拟三个售票窗口售票100张,分别使用...
- 线程相关概念程序是为完成特定任务,用某种语言编写的一组指令的集合。简单地说就是我们写的代码。进程进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生,存在和消亡的过程线程(1)线程是由进程创建的,是进程的一个实体(2)一个进程可以拥有多个线程其它相关概念单线程:同一个时刻,只允许执行一个线程多线程:同一个时刻,可以执行多个线程并发:同一个时刻,多个任务交替执行,造成一... 线程相关概念程序是为完成特定任务,用某种语言编写的一组指令的集合。简单地说就是我们写的代码。进程进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生,存在和消亡的过程线程(1)线程是由进程创建的,是进程的一个实体(2)一个进程可以拥有多个线程其它相关概念单线程:同一个时刻,只允许执行一个线程多线程:同一个时刻,可以执行多个线程并发:同一个时刻,多个任务交替执行,造成一...
- 在java中运算符也是极其重要的一部分 在java中运算符也是极其重要的一部分
- Map接口实现类-Hashtable基本介绍(1)存放的元素是键值对:即key-value(2)Hashtable的键和值都不能为null,否则会抛出NullPointerException(3)Hashtable使用方法基本上和HashMap一致(4)Hashtable是线程安全的(synchronized),HashMap是线程不安全的Hashtable和HashMap比较(1)Hash... Map接口实现类-Hashtable基本介绍(1)存放的元素是键值对:即key-value(2)Hashtable的键和值都不能为null,否则会抛出NullPointerException(3)Hashtable使用方法基本上和HashMap一致(4)Hashtable是线程安全的(synchronized),HashMap是线程不安全的Hashtable和HashMap比较(1)Hash...
- HashMap底层机制及源码剖析(1)HashMap底层维护了Node类型的数组table,默认为null(2)当创建对象时,将加载因子(loadfactor)初始化为0.75(3)当添加key-value时,通过key的哈希值得到在table的索引、然后判断该索引处是否有元素,如果没有元素直接添加。如果该索引处有元素,继续判断该元素的key和准备加入的key是否相等,如果相等,则直接替换v... HashMap底层机制及源码剖析(1)HashMap底层维护了Node类型的数组table,默认为null(2)当创建对象时,将加载因子(loadfactor)初始化为0.75(3)当添加key-value时,通过key的哈希值得到在table的索引、然后判断该索引处是否有元素,如果没有元素直接添加。如果该索引处有元素,继续判断该元素的key和准备加入的key是否相等,如果相等,则直接替换v...
- Map接口和常用方法Map接口实现类的特点(jdk1.8)(1)Map与Collection并列存在,用于保存具有映射关系的数据:Key-Value(2)Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中(3)Map中的key不允许重复,原因和HashSet一样(4)Map中的value可以重复(5)Map中的key可以为null,value也可以为... Map接口和常用方法Map接口实现类的特点(jdk1.8)(1)Map与Collection并列存在,用于保存具有映射关系的数据:Key-Value(2)Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中(3)Map中的key不允许重复,原因和HashSet一样(4)Map中的value可以重复(5)Map中的key可以为null,value也可以为...
- LinkedList 底层结构说明(1)LinkedList底层实现了双向链表和双端队列的特点(2)可以添加任意元素(元素可以重复),包括null(3)线程不安全,没有实现同步LinkedList 的底层操作机制(1)LinkedList底层维护了一个双向链表(2)LinkedList中维护了两个属性first和last分别指向首节点和尾节点(3)每个节点(Node对象),里面又维护了pre... LinkedList 底层结构说明(1)LinkedList底层实现了双向链表和双端队列的特点(2)可以添加任意元素(元素可以重复),包括null(3)线程不安全,没有实现同步LinkedList 的底层操作机制(1)LinkedList底层维护了一个双向链表(2)LinkedList中维护了两个属性first和last分别指向首节点和尾节点(3)每个节点(Node对象),里面又维护了pre...
- ArrayList底层结构和源码分析ArrayList的注意事项(1)permits all elements , including null , ArrayList可以加入null,并且多个(2)ArrayList是由数组来实现数据存储的(3)ArrayList基本等同于Vector,出了ArrayList是线程不安全(执行效率高)看源码,在多线程情况下,不建议使用ArrayListAr... ArrayList底层结构和源码分析ArrayList的注意事项(1)permits all elements , including null , ArrayList可以加入null,并且多个(2)ArrayList是由数组来实现数据存储的(3)ArrayList基本等同于Vector,出了ArrayList是线程不安全(执行效率高)看源码,在多线程情况下,不建议使用ArrayListAr...
- List接口介绍List接口是Collection接口的子接口(1)List集合类中元素有序(即添加顺序和取出顺序一致),且可重复(2)List集合中的每个元素都有其对应的顺序索引,即支持索引(3)List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素(4)JDK API中:List接口常用的实现类有:ArrayList,LinkedList和Vecto... List接口介绍List接口是Collection接口的子接口(1)List集合类中元素有序(即添加顺序和取出顺序一致),且可重复(2)List集合中的每个元素都有其对应的顺序索引,即支持索引(3)List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素(4)JDK API中:List接口常用的实现类有:ArrayList,LinkedList和Vecto...
- Collection接口遍历对象方式(for循环增强)介绍增强for循环可以使用iterator迭代器,特点是增强for循环就是简化版的iterator,本质一样,只能用于遍历集合和数组。基本语法:for(元素类型 元素名 : 集合名或数组名) {访问元素复制代码}案例演示:for(Object object : col) { System.out.println(object);}练... Collection接口遍历对象方式(for循环增强)介绍增强for循环可以使用iterator迭代器,特点是增强for循环就是简化版的iterator,本质一样,只能用于遍历集合和数组。基本语法:for(元素类型 元素名 : 集合名或数组名) {访问元素复制代码}案例演示:for(Object object : col) { System.out.println(object);}练...
- 集合集合和数组的区别数组(1)长度开始时必须指定,而且一旦指定,不能更改。(2)保存的必须为同一类型的元素。(3)使用数组进行增加/删除元素的是以代码(比较麻烦)集合(1)可以动态保存任意多个对象,使用比较方便。(2)提供了一系列方便的操作对象的方法:add、remove、set、get等(3)使用集合添加,删除新元素的示意代码(比较简洁)import java.util.ArrayList... 集合集合和数组的区别数组(1)长度开始时必须指定,而且一旦指定,不能更改。(2)保存的必须为同一类型的元素。(3)使用数组进行增加/删除元素的是以代码(比较麻烦)集合(1)可以动态保存任意多个对象,使用比较方便。(2)提供了一系列方便的操作对象的方法:add、remove、set、get等(3)使用集合添加,删除新元素的示意代码(比较简洁)import java.util.ArrayList...
- 日期类第一代日期类介绍(1)Date:精确到毫秒,代表特定的瞬间(2)SimpleDateFormat:格式和解析日期的类,允许进行格式化(日期->文本)、解析(文本->日期)和规范化应用实例import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class ... 日期类第一代日期类介绍(1)Date:精确到毫秒,代表特定的瞬间(2)SimpleDateFormat:格式和解析日期的类,允许进行格式化(日期->文本)、解析(文本->日期)和规范化应用实例import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class ...
- 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。 最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。
- 大家好,我是雄雄。 前言最近阳了,第二条杠红的发紫,真难受啊,但是吧,博客上有个bug,不解决感觉比阳了还难受。话还是要从博客的图片显示不出来这里说起,当时做的时候,在发文章这里,感觉没有封面的话,文章会很孤单,所以就设计了个封面这块儿。但是,封面如果太邋遢也还不如没有。所以我就从网上的一个接口里面随机取的一些精美图片,本来好好的,结果今天一看,那个接口报错403了,当时就想着,这样做太依赖... 大家好,我是雄雄。 前言最近阳了,第二条杠红的发紫,真难受啊,但是吧,博客上有个bug,不解决感觉比阳了还难受。话还是要从博客的图片显示不出来这里说起,当时做的时候,在发文章这里,感觉没有封面的话,文章会很孤单,所以就设计了个封面这块儿。但是,封面如果太邋遢也还不如没有。所以我就从网上的一个接口里面随机取的一些精美图片,本来好好的,结果今天一看,那个接口报错403了,当时就想着,这样做太依赖...
上滑加载中
推荐直播
-
华为云码道Skill实战与极速交付,智能开发全链路实战2026/07/22 周三 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;姜浩-华为云HCDG核心组成员
直播深度解读华为云码道6月产品新特性,从Skill市场安装专家技能,带你零距离体验从需求,开发,审查,重构全链路闭环的开发过程。从零构建并交付一个完整项目,让您体验从代码提交到服务上线的“极速”之旅。
回顾中 -
聚开发者之力,创具身新未来2026/07/23 周四 15:00-17:00
张豪杰/程文/王军/刘新春/黄钦开 /张晓天
本次华为云具身智能开发平台CloudRobo培训面向具身智能开发者,带您全流程体验机器人本体R2C小时级接入、环境重建与轨迹生成仿真数据生产、PB级数据管理、数据评测、模型训推、强化学习和Benchmark一键评测等功能,并体验业界主流具身模型应用。
回顾中
热门标签