51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
WOT技术大会
IT证书
公众号矩阵
移动端
短视频
免费课程
课程排行
直播课
软考学堂
全部课程
厂商认证
IT技术
25年5月软考
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
意见反馈
社区规则
社区活动
默认
发布时间
热度
原创
精华
热门标签
HarmonyOS
HarmonyOS NEXT
畅玩鸿蒙与硬件
java线程方法之join简单总结(代码实例)
虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结。一、作用Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。具体看代码:publicclassJoinTest{publicstaticvoidmain(String[]args)throwsInterruptedException{ThreadJoinTestt1newThreadJoinTest("小明");ThreadJoinTestt2newThreadJoinTest("小东");t1.start();joi...
killads
0回复
1.2w浏览
Java
线程方法
人人都能看懂的 利用JAVA的6 种限流实现方案!(纯干货)
为了上班方便,去年我把自己在北郊的房子租出去了,搬到了南郊,这样离我上班的地方就近了,它为我节约了很多的时间成本,我可以用它来做很多有意义的事,最起码不会因为堵车而闹心了,幸福感直线上升。但即使这样,生活也有其他的烦恼。南郊的居住密度比较大,因此停车就成了头痛的事,我租的是路两边的非固定车位,每次只要下班回来,一定是没有车位停了,因此我只能和别人的车并排停着,但这样带来的问题是,我每天早上都要...
lingyuli
0回复
1.4w浏览
限流
JAVA
C++中重要关键字总结
const:const是一个左结合的类型修饰符,它与其左侧的类型修饰符和为一个类型修饰符。const可以用于定义常量,可以限定函数的引用参数(因为传值的参数根本不用限定),可以限定函数返回值为引用的情况。还有一个用法是修饰类的成员函数。这样情况下,在类内的声明和类外的定义都要加上const。还有一种情况是,声明类的const成员变量的时候,如何进行初始化。在这种情况下,由于常量不能修改,所以只能在构造函数的初始化列表中...
kekenai
0回复
9254浏览
C++
关键字
C/C++程序编译过程
我们写好一个c文件或者c屁屁文件,然后在IDE中按一下编辑按钮之后,如果没有报错,那么我们写的程序便转变成了可执行文件(windows下的exe文件)。中间经历了什么嘞?如下图所示:十分清楚明了了吧?从c程序到可执行程序之间的过程还是十分复杂的,要完整的弄清楚这中间的四个阶段需要掌握基本的编译原理知识和汇编指令(翻译)基本内容。下面简要的介绍一下四个阶段的基本工作内容。1.预处理阶段1)这一阶段的主要功能是进行宏...
jowvid
0回复
1.5w浏览
C++
编译原理
关于C++中new、operator new和placement new的区别详解
new和delete操作符我们应该都用过,它们是对堆中的内存进行申请和释放,而这两个都是不能被重载的。要实现不同的内存分配行为,需要重载operatornew,而不是new和delete。看如下代码:classMyClass{…};MyClasspnewMyClass;这里的new实际上是执行如下3个过程:1调用operatornew分配内存;2调用构造函数生成类对象;3返回相应指针。operatornew就像operator+一样,是可以重载的,但是不能在全局对原型为voidoperatornew(sizetsiz...
jordana
0回复
1.3w浏览
C++
关于C++多态的基础知识讲解
一.多态性有两种表现形式:1)编译时多态性:同一对象在收到相同的消息却产生不同的函数调用,一般通过函数重载来实现,在编译时就实现了绑定,属于静态绑定。2)运行时多态性:不同对象在收到相同消息时产生不同的动作,一般通过虚函数来实现。二.多态和非多态的实质区别函数地址为动态绑定还是静态绑定。三.多态的作用对于封装,可以使代码模块化。对于继承,可以扩展已经存在的代码。而多态,是为了接口重用。四.多态最常见的...
jkfox
0回复
9673浏览
C++
多态
C++的单例模式的几种实现方式解析
单例模式有两种实现模式:1)懒汉模式:就是说当你第一次使用时才创建一个唯一的实例对象,从而实现延迟加载的效果。2)饿汉模式:就是说不管你将来用不用,程序启动时就创建一个唯一的实例对象。所以,从实现手法上看,懒汉模式是在第一次使用单例对象时才完成初始化工作。因为此时可能存在多线程竞态环境,如不加锁限制会导致重复构造或构造不完全问题。饿汉模式则是利用外部变量,在进入程序入口函数之前就完成单例对象的初...
棉花糖
0回复
2.4w浏览
C++
单例模式
oracle提高查询效率的34条方法
1、选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表,交叉表是指那个被其他表所引用的表.2、WHERE子句中的连接顺序ORACLE采用自下而上的顺序解析WHER...
jojo
0回复
9422浏览
Oracle
浏览器大战与 JavaScript 的诞生
浏览器大战在Android设备或iPhone流行之前,浏览器大战的战场是桌面计算机平台。众多公司投入了数十亿美元投身这场战役,而他们的出发点就是基于这样的一个假设:谁统治了桌面浏览器市场,谁就将统治整个互联网。如今,所有网站的全部流量有将近一半来自移动设备;但在20世纪90年代,网络上的几乎所有活动都是来自台式机的,而绝大多数台式电脑都运行着某个版本的微软Windows操作系统。Netscape称霸的岁月在浏览器领域,网景通...
lingyuli
0回复
8627浏览
JavaScript
如何实现 JS 真正意义上的弱引用?
本文将详细解释JavaScript中对象的引用是强引用,WeakMap和WeakSet可以提供部分的弱引用功能,若想在JavaScript中实现真正的弱引用,可以通过配合使用WeakRef和终结器(Finalizer)来实现。一般来说,在JavaScript中,对象的引用是强保留的,这意味着只要持有对象的引用,它就不会被垃圾回收。constref{x:42,y:51};只要我们访问ref对象(或者任何其他引用指向该对象),这个对象就不会被垃圾回收目前,在Javascript中,WeakMap...
lingyuli
0回复
1.3w浏览
JavaScript
深入理解java的反射机制
今天将从以下4方面来系统的学习一下java的反射机制:java反射是什么java反射(Reflection)底层实现原理java反射的简单演示java反射的应用场景1,java反射是什么首先大家应该先了解两个概念,编译期和运行期,编译期就是编译器帮你把源代码翻译成机器能识别的代码,比如编译器把java代码编译成jvm识别的字节码文件,而运行期指的是将可执行文件交给操作系统去执行,JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类...
蓝月亮
0回复
3.2w浏览
Java
线程的生命周期及五种基本状态
一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:ThreadtnewMyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪...
蓝月亮
0回复
1.2w浏览
Java
线程
Java中Unsafe类的使用
Unsafe类的作用Unsafe类是rt.jar包中的类,它提供了原子级别的操作,它的方法都是native方法,通过JNI访问本地的C++库。它的出现是为了解决在高并发下的数据同步问题。synchronize关键字修饰的代码块被加了独占锁,相同时间只能有一个线程访问其中的内容,在高并发下这必然会导致大量线程挂起,从用户态转为内核态,带来很大的消耗而且操作效率低下。CAS算法的出现使得在不使用synchronize这种“悲观锁”依然可以实现数据的安全...
蓝月亮
0回复
7674浏览
Java
内存泄漏和内存溢出的区别和联系
1、内存泄漏memoryleak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。2、内存溢出outofmemory:指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。3、二者的关系1.内存泄漏的堆积最终会导致内存溢出2.内存溢出就...
蓝月亮
0回复
1.3w浏览
内存泄漏
内存溢出
几个最难回答的 Java 问题
1.为什么等待和通知是在Object类而不是Thread中声明的?一个棘手的Java问题,如果Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有助于回答这种棘手的Java核心方面的面试问题。为什么wait,notify和notifyAll是在Object类中定义的而不是在Thread类中定义这是有名的Java面试问题,招24年经验的到高级Java开发人员面试都可能碰到。这个问题的好在它能反映了面试者对等待通知机制的了解,以及他对此...
蓝月亮
0回复
1.0w浏览
Java
JS 引擎大 PK:JSC vs V8 vs Hermes
问题我们开发的一款名为WalmartLabs的安卓应用遇到了内存问题,起因是安卓自带的JSC的垃圾回收基本没用。我们试了很多办法来减少这个应用的内存占用,但是都没成功。当ReactNative的简单列表(FlatList)中有很多项目(我们的情况下有超过1千的数量)时问题就更加严重了。在不同页面间跳转时内存用量持续上升,就算清空数据后也不会下降。救星几周前kudochien发了一条推文推荐reactnativev8这个包,用了这个包我们就能在安卓的r...
lingyuli
0回复
1.8w浏览
JavaScript
JDK 15 JAVA 15 的新特性展望
伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA14。自从2017年JAVA9发布之后,JAVA的发布版本跟上了敏捷开发的步伐,小步快跑,Java平台发布节奏已从每3年以上的主要版本转变为每6个月发布一次功能。现在,每年的3月和9月都会发布新的版本功能。三月已过,九月还远吗?在JAVA14中,推出了swith的最终版本,并且支持了NVM。今天本文将会展望一下JAVA15中会带给我们的新特性。总体来说有5个JEP将会提交到JAVA15。什...
七七QiQi
0回复
7855浏览
JDK15
JAVA15
jdk
java
一口气说出java中 OAuth2.0 的四种授权方式
项目偏向于技术实践,因此不会做太多的业务堆砌,业务代码还是在公司学习比较好。现在正在做技术的选型与储备,像比较主流的,项目前后端分离、微服务、Springboot、Springcloud等都会应用到项目中,其实很多技术我也不会,也是在反复的查阅资料求证,探索的过程技术提升真的要比工作中快很多,毕竟主动与被动学习是有本质区别的。这几天打算先把项目的前后端分离架构搭建完成,既然是前后端分离项目就免不了做鉴权,所以oauth2...
lingyuli
0回复
1.6w浏览
java
Java 并发编程系列——线程池
之前写了线程和锁,例子中采用直接创建线程的方式,这种方式做示例可以,但在实际生产环境中比较少用,通常会使用线程池。使用线程池有一些明显的好处,可以考虑我们使用连接池的情形,不难想像。使用线程池可以免去我们手动创建和销毁线程的工作,节省这部分资源的消耗,提高响应速度,同时线程由线程池维护,也提高了线程的可管理性。JDK中默认实现了多种线程池,如FixedThreadPool,SingleThreadExecutor,CachedThreadPool...
lingyuli
0回复
1.0w浏览
线程池
java
你真的理解 Java 的基础数据类型吗
Java中的基础数据类型有8种,分别是:byte,boolean,short,charint,float,longdouble。如果要理解这些基础类型如何存储数据,需要知道两个基础知识:所有数据都是使用二进制表示数值类型一律使用补码来表示本文基于JDK1.8整数类型byte是存储整数的最小类型,只占1个字节,因为还需要表示负数,因此只能保存128127范围内的数据。如果把一个超出范围的数值赋值给byte会怎么样?直接赋值无法编译通过:byteb129;编译通不过需要通过...
lingyuli
0回复
2.8w浏览
基础数据类型
java
暂无内容
1
203
204
205
206
207
208
209
210
211
218
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅