- 用户线程和守护线程(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了,当时就想着,这样做太依赖...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签