做网站需要留什么条件交互设计留学

张小明 2026/1/1 17:43:54
做网站需要留什么条件,交互设计留学,wordpress建图片网站,画册排版设计文章目录Java面试必问#xff1a;什么是阻塞式方法#xff1f;一、引言#xff1a;阻塞式方法是什么#xff1f;二、生活中的阻塞式方法三、Java中的阻塞式方法1. 输入输出流的read()方法2. 线程睡眠Thread.sleep()3. 等待锁四、阻塞式方法的优缺点优点缺点五、如何避免阻塞…文章目录Java面试必问什么是阻塞式方法一、引言阻塞式方法是什么二、生活中的阻塞式方法三、Java中的阻塞式方法1. 输入输出流的read()方法2. 线程睡眠Thread.sleep()3. 等待锁四、阻塞式方法的优缺点优点缺点五、如何避免阻塞1. 非阻塞式编程2. 异步编程3. 响应式编程六、总结希望这篇长文对你有所帮助如果你有其他问题随时可以问我哦 领取 | 1000 套高质量面试题大合集无套路闫工带你飞一把Java面试必问什么是阻塞式方法大家好我是闫工。今天我们要聊一个Java面试中必问的问题——“什么是阻塞式方法”这个问题看起来简单但里面可大有文章。作为一个老司机码农我不仅要告诉你们答案还要用一些生活中的例子和代码来让这个概念更加生动有趣。一、引言阻塞式方法是什么首先我们得弄清楚什么是阻塞式方法。阻塞式方法简单来说就是一种会让程序执行“卡住”的方法。就像你在马路上等红绿灯一样车不能动人也不能走只能等信号变了才能继续前进。在Java中阻塞式方法通常指的是那些会一直等待某个操作完成直到条件满足或资源可用才会返回的方法。这些方法会让调用它们的线程进入阻塞状态无法执行其他任务。二、生活中的阻塞式方法为了更好地理解这个概念我们可以从生活中找一些例子红绿灯你开车到路口遇到红灯只能等绿灯亮了才能继续前进。这就是一个典型的阻塞过程。银行排队你去银行办理业务发现所有柜台都在忙只好坐在椅子上等待叫号。直到有空闲的柜员为止这个等待的过程也是阻塞式的。这些例子告诉我们阻塞式方法的核心在于“等待”而这种等待会占用资源影响效率。三、Java中的阻塞式方法现在我们回到编程世界看看Java中有哪些常见的阻塞式方法。1. 输入输出流的read()方法InputStream的read()方法就是一个典型的阻塞式方法。假设你从网络上读取数据如果数据还没到达read()就会一直等待直到数据到来或者连接被关闭。// 阻塞式代码示例publicclassBlockingExample{publicstaticvoidmain(String[]args){try(BufferedReaderreadernewBufferedReader(newFileReader(file.txt))){Stringline;while((linereader.readLine())!null){// 这里会阻塞直到读取到数据或者文件结束System.out.println(line);}}catch(IOExceptione){e.printStackTrace();}}}2. 线程睡眠Thread.sleep()Thread.sleep()也是一个常见的阻塞式方法。它会让当前线程暂停执行指定的时间这段时间内线程无法处理任何任务。publicclassSleepExample{publicstaticvoidmain(String[]args){try{System.out.println(Going to sleep...);Thread.sleep(2000);// 阻塞2秒System.out.println(Woke up!);}catch(InterruptedExceptione){e.printStackTrace();}}}3. 等待锁在多线程编程中当一个线程试图获取一个已经被其他线程占用的锁时它会进入阻塞状态直到锁被释放。publicclassLockExample{privatefinalObjectlocknewObject();publicvoidsomeMethod(){synchronized(lock){// 如果lock被其他线程占用当前线程会被阻塞try{Thread.sleep(1000);// 模拟长时间操作}catch(InterruptedExceptione){e.printStackTrace();}}}}四、阻塞式方法的优缺点优点简单易用阻塞式编程通常比非阻塞式编程更容易理解和实现。资源控制在某些情况下阻塞可以确保资源不会被多个线程同时访问从而避免竞争条件。缺点性能问题如果一个线程因为等待某个操作而被阻塞它将无法执行其他任务这可能导致资源浪费和性能下降。潜在的死锁风险在复杂的多线程环境中如果不小心管理锁可能会导致死锁。五、如何避免阻塞虽然阻塞式方法有其用途但在高并发场景下我们通常希望避免使用它们。以下是一些替代方案1. 非阻塞式编程非阻塞式方法不会让线程一直等待而是会立即返回一个状态告诉调用者当前操作是否完成。publicclassNonBlockingExample{publicstaticvoidmain(String[]args){FutureTaskStringtasknewFutureTask(()-{Thread.sleep(2000);returnHello, non-blocking world!;});newThread(task).start();System.out.println(Doing other things...);// 其他任务try{Stringresulttask.get();// 这里会阻塞直到任务完成System.out.println(result);}catch(InterruptedException|ExecutionExceptione){e.printStackTrace();}}}2. 异步编程异步编程允许我们在等待某个操作完成时继续执行其他任务。Java提供了CompletableFuture来支持异步编程。importjava.util.concurrent.CompletableFuture;importjava.util.concurrent.ExecutionException;publicclassAsyncExample{publicstaticvoidmain(String[]args){CompletableFutureStringfutureCompletableFuture.supplyAsync(()-{try{Thread.sleep(2000);}catch(InterruptedExceptione){e.printStackTrace();}returnHello, async world!;});System.out.println(Doing other things...);future.whenComplete((result,exception)-{if(exception!null){exception.printStackTrace();}else{System.out.println(result);}});// 防止主线程结束try{Thread.sleep(3000);}catch(InterruptedExceptione){e.printStackTrace();}}}3. 响应式编程响应式编程通过观察者模式来处理异步事件。Java的RxJava是一个流行的响应式编程库。importio.reactivex.Observable;importio.reactivex.observers.DisposableObserver;publicclassReactiveExample{publicstaticvoidmain(String[]args){ObservableStringobservableObservable.create(emitter-{try{Thread.sleep(2000);emitter.onNext(Hello, reactive world!);emitter.onComplete();}catch(InterruptedExceptione){e.printStackTrace();}});DisposableObserverStringobservernewDisposableObserverString(){OverridepublicvoidonNext(Stringvalue){System.out.println(value);}OverridepublicvoidonError(Throwablee){e.printStackTrace();}OverridepublicvoidonComplete(){System.out.println(Completed!);}};observable.subscribe(observer);// 防止主线程结束try{Thread.sleep(3000);}catch(InterruptedExceptione){e.printStackTrace();}}}六、总结阻塞式方法在简单场景下非常有用但在高并发和高性能需求的系统中它们可能导致性能瓶颈。通过使用非阻塞、异步或响应式编程技术我们可以更高效地利用资源并提高系统的吞吐量。希望这篇长文对你有所帮助如果你有其他问题随时可以问我哦 领取 | 1000 套高质量面试题大合集无套路闫工带你飞一把成体系的面试题无论你是大佬还是小白都需要一套JAVA体系的面试题我已经上岸了你也想上岸吗闫工精心准备了程序准备面试想系统提升技术实力闫工精心整理了1000 套涵盖前端、后端、算法、数据库、操作系统、网络、设计模式等方向的面试真题 详细解析并附赠高频考点总结、简历模板、面经合集等实用资料✅ 覆盖大厂高频题型✅ 按知识点分类查漏补缺超方便✅ 持续更新助你拿下心仪 Offer免费领取 点击这里获取资料已帮助数千位开发者成功上岸下一个就是你✨
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

把网站提交给百度株洲做网站的

农业智能化:利用YOLO进行病虫害实时监测 在广袤的农田里,一片叶子上的微小斑点可能预示着一场即将蔓延的病害危机。传统农业中,这类隐患往往要等到症状明显、成片作物受损时才被发现——那时防治已为时过晚。如今,随着人工智能技术…

张小明 2025/12/30 16:56:45 网站建设

临沂百度网站推广哪个网站有利于做课件

第一章:智谱开源Open-AutoGLM模型,怎么使用智谱AI推出的Open-AutoGLM是一款面向自动化图学习任务的开源模型,专为图神经网络(GNN)的自动构建与优化设计。该模型支持自动特征提取、架构搜索和超参数调优,适用于节点分类…

张小明 2025/12/30 16:56:11 网站建设

专业建设物流行业网站室内设计自学软件

还在为无法获取Wallpaper Engine壁纸中的精美素材而烦恼吗?RePKG正是你需要的解决方案!这款强大的开源工具能够轻松处理PKG文件格式,让你访问壁纸中的所有图片、音频和视频资源。 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX …

张小明 2025/12/30 16:55:37 网站建设

有什么做vi设计的网站下载免费网络

我们每天都会刷短视频、使用智能推荐、和大模型对话。这些“看起来很轻松”的体验背后,都是海量而复杂的计算。数智化正在悄然改变生活的每一个细节,而支撑这一切顺畅运行的,是看不见却无处不在的计算能力。关于计算能力,我们常常…

张小明 2025/12/30 16:55:04 网站建设

网站创意设计公司seo排名点击 seo查询

点击上方亿元程序员关注和★星标 引言 哈喽大家好,好久不见,由于素材和正反馈不足,一不小心就断更了。 最近有很多小伙伴新上线了小游戏,看到群里五花八门的分享链接: 不知道小伙伴们看到这样的链接会不会点进去体验…

张小明 2025/12/30 16:53:57 网站建设

yoast wordpress seo plugin郑州网站优化怎样做

第一章:Open-AutoGLM性能翻倍的核心逻辑Open-AutoGLM 之所以能在推理效率上实现性能翻倍,关键在于其动态计算图优化与稀疏注意力机制的深度整合。该模型通过重构前向传播路径,在不牺牲精度的前提下显著减少冗余计算。动态剪枝与计算图重写 在…

张小明 2025/12/30 16:53:23 网站建设