使用postMessage传值遇到的问题

        在开发中我们会遇到俩个窗口传值,我一般会使用俩种传值方式,一、使用地址栏传值,然后另一个窗口取地址栏内容解析。二、使用sessionStorage进行传值。但最近看面试题发现还可以使用postMessage传值,但是遇到一个坑,具体原因本人也是没有找出,只是做了简单分析,希望看到这篇文章的大佬帮忙解决。

第一个页面的代码如下

   

    Title</p> <p><button id="btn">dianji</p> <p></p> <p>    window.sessionStorage</p> <p>document.getElementById('btn').onclick =function () {</p> <p>var popup = window.open('test2.html');</p> <p>        /// When the popup has fully loaded, if not blocked by a popup blocker:</p> <p>        setTimeout(function() {</p> <p>// 当前窗口向目标源传数据</p> <p>            popup.postMessage('asdasd', '*');</p> <p>        }, 0);</p> <p>    }</p> <p></html></p> <p>第二个页面的代码如下:</p> <p><!DOCTYPE html></p> <p><html lang="en"></p> <p>    <meta charset="UTF-8"></p> <p>    <title>Title</p> <p></p> <p>    window.addEventListener('message', function(e) {</p> <p>alert(e.data)</p> <p>// console.log(e.source === window.opener);  // true</p> <p>    });</p> <p></html></p> <p>现在我与到的问题是,如果第一个页面去掉setTimeout 第二个页面就会触发不了message事件。据我猜测可能是如果去掉第一个页面的setTimeout 可能页面会直接发送消息,但此时第二个页面还在加载中,但消息已经发送过,所以触发不了。还希望看见此篇文章的大佬解决</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1719575553335439360"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(使用postMessage传值遇到的问题)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1833745183905247232.htm" title="vue3 什么是Composition API 我为什么要使用它?" target="_blank">vue3 什么是Composition API 我为什么要使用它?</a> <span class="text-muted">软件技术NINI</span> <a class="tag" taget="_blank" href="/search/vue%E6%A1%88%E4%BE%8B/1.htm">vue案例</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>CompositionAPI(组合式API)是Vue3中引入的一组全新的API,旨在提供一种更加灵活和可组合的方式来组织和复用组件逻辑。这一改变是Vue.js向函数式编程和更现代的开发方式迈出的重要一步。以下是CompositionAPI的详细解析:一、基本概念定义:CompositionAPI是一组允许开发者以函数式编程风格组织Vue组件逻辑的API。目的:提高代码的可读性、可维护性、复用性和类</div> </li> <li><a href="/article/1833744296625401856.htm" title="Python生成requirements.txt的方法" target="_blank">Python生成requirements.txt的方法</a> <span class="text-muted">培根芝士</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在Python项目中,requirements.txt文件通常用于列出项目所需的所有Python包及其版本。这样,其他人或系统可以轻松地安装所有必要的依赖项,以确保项目的正确运行。以下是生成requirements.txt文件的几种方法:方法1:使用pipfreeze如果你的项目环境中已经安装了所有必要的包,你可以使用pipfreeze命令来生成一个包含所有已安装包及其版本的列表。这个列表可以直接</div> </li> <li><a href="/article/1833740329489100800.htm" title="vue零基础开发005——组件之间传值" target="_blank">vue零基础开发005——组件之间传值</a> <span class="text-muted">文朝明</span> <div>todolist组件之间传值提交/*--子组件-*/varTodoItem={props:['content','index'],template:"{{content}}",methods:{handleItemClick:function(){console.log('222')this.$emit("delete",this.index)console.log(this.index)}}}/</div> </li> <li><a href="/article/1833740265261723648.htm" title="五、TOGAF(架构内容框架)" target="_blank">五、TOGAF(架构内容框架)</a> <span class="text-muted">伯牙碎琴</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>TOGAF架构内容框架(ArchitectureContentFramework)TOGAF架构内容框架是TOGAF的一个重要组成部分,它提供了标准化的方法来描述企业架构。架构内容框架帮助架构师创建、管理和使用架构工件(Artifacts),这些工件是构建企业架构的基本单位。TOGAF架构内容框架概述TOGAF架构内容框架由以下几个主要部分组成:架构视点和视图(ViewpointsandViews</div> </li> <li><a href="/article/1833740265790205952.htm" title="国内版Office 365邮件追踪指南:命令行界面方法" target="_blank">国内版Office 365邮件追踪指南:命令行界面方法</a> <span class="text-muted">xueyunshengling</span> <a class="tag" taget="_blank" href="/search/Office/1.htm">Office</a><a class="tag" taget="_blank" href="/search/365%E5%92%8CMicrosoft/1.htm">365和Microsoft</a><a class="tag" taget="_blank" href="/search/365%E7%9B%B8%E5%85%B3%E6%96%B9%E6%A1%88/1.htm">365相关方案</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E8%BD%AF%E7%B2%BE%E5%8D%8E%E7%9F%A5%E8%AF%86%E5%AE%9D%E7%AE%B1/1.htm">微软精华知识宝箱</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/Exchange/1.htm">Exchange</a><a class="tag" taget="_blank" href="/search/Powershell/1.htm">Powershell</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E9%82%AE%E4%BB%B6%E8%B7%9F%E8%B8%AA/1.htm">邮件跟踪</a><a class="tag" taget="_blank" href="/search/%E9%82%AE%E4%BB%B6%E6%9F%A5%E8%AF%A2/1.htm">邮件查询</a> <div>目录一、前提条件二、安装PowerShell模块安装命令三、连接到ExchangeOnline步骤1:启动PowerShell步骤2:连接到ExchangeOnline四、执行邮件追踪步骤1:使用Get-MessageTrace命令获取过去48小时的邮件追踪信息获取特定发件人的邮件追踪信息获取特定收件人的邮件追踪信息步骤2:使用Get-MessageTraceDetail命令获取特定邮件的详细信息</div> </li> <li><a href="/article/1833740138216255488.htm" title="C#排序算法新境界:深度剖析与高效实现基数排序" target="_blank">C#排序算法新境界:深度剖析与高效实现基数排序</a> <span class="text-muted">AitTech</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/1.htm">排序算法</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数进行比较。具体来说,基数排序有两种方法:最低位优先(LSD,LeastSignificantDigitfirst):从最低位开始,向最高位进行排序。最高位优先(MSD,MostSignificantDigitfirst):通常用于字符串的排序,从最高位开始,向最低位进行排序,且常使用递归实</div> </li> <li><a href="/article/1833740073946935296.htm" title="购物优惠券,购物优惠券软件有哪些?" target="_blank">购物优惠券,购物优惠券软件有哪些?</a> <span class="text-muted">氧惠评测</span> <div>购物优惠券是一种常见的促销方式,通常由商家提供,用于吸引消费者购买商品或服务。优惠券通常有一定的优惠金额或折扣力度,使用优惠券可以降低购买成本,提高消费者的购买意愿。领购物大额优惠券、赚返利佣金用氧惠~氧惠APP(带货领导者)——是与以往完全不同的抖客+淘客app!2023全新模式,我的直推也会放到你下面。主打:带货高补贴,深受各位带货团队长喜爱(每天出单带货几十万单)氧惠是公认的返利最好用的软件</div> </li> <li><a href="/article/1833739633477906432.htm" title="使用 Python Socket 编程实现一个简单的 HTTP 服务器" target="_blank">使用 Python Socket 编程实现一个简单的 HTTP 服务器</a> <span class="text-muted">清水白石008</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/Python%E9%A2%98%E5%BA%93/1.htm">Python题库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>使用PythonSocket编程实现一个简单的HTTP服务器在现代网络应用中,HTTP服务器是一个非常重要的组件。它负责处理客户端的HTTP请求,并返回相应的响应。虽然我们通常使用像Apache、Nginx这样的成熟HTTP服务器,但了解其背后的工作原理对开发者来说是非常有价值的。本文将详细介绍如何使用Python的socket编程实现一个简单的HTTP服务器。什么是HTTP服务器?HTTP服务器</div> </li> <li><a href="/article/1833739634224492544.htm" title="Redis实现延迟任务的操作流程" target="_blank">Redis实现延迟任务的操作流程</a> <span class="text-muted">奔向理想的星辰大海</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务。也就是说,延迟任务是一种计划任务,它被安排在特定的时间后执行,而不是立即执行。延迟任务的常见使用场景有以下几个:定时发送通知或消息:发送定时短信、邮件或应用内消息,如注册确认、订单状态更新、促销活动通知等。定时推送新闻、天气预报、股票价格等实时信息。异步处理和后台任务:将耗时的操作安排为延迟任务,避免阻塞主线程或用户界面,提</div> </li> <li><a href="/article/1833738291426455552.htm" title="调研App里的WebDAV功能@FE File Explorer 文件管理器(二)" target="_blank">调研App里的WebDAV功能@FE File Explorer 文件管理器(二)</a> <span class="text-muted">jaminezhong</span> <div>今天我又淘到一款特容易链接WebDAV的软件:FEFileExplorer我觉得它最大好处是在Mac版电脑、Android、iOS上,一个全功能的文件上管理app。而且还可以在您的iOS、安卓和Mac电脑上使用流媒体方式播放网络共享、NAS里面的视频和音乐。FEFileExplorerPro+穿越派=个人私有云需要穿越派的,在这里下:https://www.huluer.com/usercente</div> </li> <li><a href="/article/1833738118767931392.htm" title="30道Python基础练习题" target="_blank">30道Python基础练习题</a> <span class="text-muted">程序媛学姐</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>大家好,我是程序媛学姐,今天为大家梳理了30道Python基础练习题,方便大家学习参考。1.编写一个程序,输出"Hello,World!"这个程序的目标是简单地输出一条消息,即"Hello,World!"。在Python中,可以使用print语句来实现这个功能。示例代码:#输出"Hello,World!"print("Hello,World!")在上面的示例代码中,print("Hello,Wor</div> </li> <li><a href="/article/1833737654513004544.htm" title="为什么水仙栽在水里能开花?" target="_blank">为什么水仙栽在水里能开花?</a> <span class="text-muted">a3bad5a58fe0</span> <div>自然界绝大多数植物都依靠土壤生长,水仙栽在水盆里就能活,而且能开花。水仙在水里要靠那个像洋葱头一样的鳞茎提供营养。鳞茎是在土壤里培育出来的,通常会在水仙花的鳞茎周围分出一些小鳞茎。把它们这剥下来,在9~10月份栽种下去,长出新苗。前后大约经过2~3年,当新苗的鳞茎长大以后,把它挖出来就可以栽在水盆里了。由于培育的时间长,鳞茎里积聚的营养十分丰富,足够水仙在水里生长使用,当环境的阳光和温度适宜,它就</div> </li> <li><a href="/article/1833737269366845440.htm" title="京东返利app排行榜前十名_十大有哪些哪个好用" target="_blank">京东返利app排行榜前十名_十大有哪些哪个好用</a> <span class="text-muted">优惠券高省</span> <div>在当前的电商时代,返利软件已经成为许多消费者在购物时的重要选择。特别是对于京东这样的大型电商平台,返利APP的数量和种类更是繁多。那么,京东返利app哪个最好?京东哪个软件返利最多?京东返利APP靠谱吗?本文将为你一一解答。首先,我们需要了解返利APP的基本原理。返利APP通过与各大电商平台合作,为用户购物提供一定的现金返利,从而吸引用户使用。而用户通过返利APP购买商品,不仅能享受到优惠,还能获</div> </li> <li><a href="/article/1833736983831212032.htm" title="滚雪球学MyBatis(11):项目实战" target="_blank">滚雪球学MyBatis(11):项目实战</a> <span class="text-muted">bug菌¹</span> <a class="tag" taget="_blank" href="/search/%E3%80%8A%E6%BB%9A%E9%9B%AA%E7%90%83%E5%AD%A6MyBatis%E3%80%8B/1.htm">《滚雪球学MyBatis》</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/1.htm">零基础入门</a> <div>前言欢迎回到我们的MyBatis系列教程。在前几期中,我们详细探讨了MyBatis的进阶使用,包括多数据源配置、动态SQL生成器、MyBatisGenerator的使用以及实现复杂查询的方法。这些知识点帮助我们在复杂的业务场景中更高效地使用MyBatis。本期内容中,我们将结合前面的所有知识点,进行一个完整的项目实战。通过实际项目的练习,大家将能够更好地巩固所学知识,并将其应用到实际开发中。11.</div> </li> <li><a href="/article/1833734586845196288.htm" title="解决“Module build failed (from ./node_modules/sass-loader/dist/cjs.js)“错误" target="_blank">解决“Module build failed (from ./node_modules/sass-loader/dist/cjs.js)“错误</a> <span class="text-muted">Coderabo</span> <a class="tag" taget="_blank" href="/search/sass/1.htm">sass</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a> <div>解决"Modulebuildfailed(from./node_modules/sass-loader/dist/cjs.js)"错误的技术指南如果你在使用Node.js和Sass时遇到了"Modulebuildfailed(from./node_modules/sass-loader/dist/cjs.js)"的错误,不要担心,这篇技术指南将详细介绍这个问题,并提供解决办法。首先,让我们深入了解</div> </li> <li><a href="/article/1833733831220359168.htm" title="C++使用MyStack和MyQueue封装栈和队列" target="_blank">C++使用MyStack和MyQueue封装栈和队列</a> <span class="text-muted">睡觉然后上课</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>封装栈的构造,复制,判空判满,入栈出栈等函数//使用MySstack实现栈#includeusingnamespacestd;classMyStack{private:intTop;//栈顶位置intSize;//栈大小int*Arr;//数组指针public:MyStack(){coutusingnamespacestd;classQueue{private:intFront;//队头的位置in</div> </li> <li><a href="/article/1833733324208697344.htm" title="运行CrossOver应用程序的四种方法" target="_blank">运行CrossOver应用程序的四种方法</a> <span class="text-muted">想干啥就干啥</span> <div>众所周知,在MacOS里面是不能运行exe执行文件的,要运行exe文件,必须在CrossOver运行的情况下,在操作界面上或者使用“运行命令”才行。在CrossOverforMac软件中,应用程序分为两种——Windows自带的exe执行文件和从外部安装的应用程序。本章节小编将教会小伙伴如何运行CrossOver里的应用程序。一、在“程序”区域中运行在CrossOver操作界面上,“程序”区域里的</div> </li> <li><a href="/article/1833733189504430080.htm" title="海尔冰箱温度怎么调 你知道海尔冰箱怎么调节冰箱温度么?" target="_blank">海尔冰箱温度怎么调 你知道海尔冰箱怎么调节冰箱温度么?</a> <span class="text-muted">氧惠导师</span> <div>冰箱是大家日常生活的必备家电之一,但是还是有很多人不知道如何使用冰箱一些功能,比如海尔冰箱温度怎么调?下面来看看吧。1、如果选择的是智能式的冰箱,上面有一个智能按钮,我们需要按一下,就能够显示当前冷藏室的温度。可以通过这个按钮来调节冷藏室温度标准,每按一次温度,就会下调1℃。2、冷冻室也是一样的,也有一个按钮,上面会明确显示温度是多少,我们需要摁一下按钮,然后再来调节。如果每按一次,温度也会下降1</div> </li> <li><a href="/article/1833732823404605440.htm" title="Python 入门的60个基础练习" target="_blank">Python 入门的60个基础练习</a> <span class="text-muted">金汤肥牛面.</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>文章目录01-HelloWorld02-print函数03-基本运算04-input05-输入输出基础练习06-字符串使用基础07-列表基础08-元组基础09-字典基础10-基本判断11-条件表达式、三元运算符12-判断练习:用户名和密码是否正确13-猜数:基础实现14-成绩分类115-成绩分类216-石头剪刀布17-改进的石头剪刀布18-猜数,直到猜对19-猜数,5次机会20-while循环,累</div> </li> <li><a href="/article/1833732697105723392.htm" title="解决: ImportError: Missing optional dependency ‘openpyxl’. Use pip or conda to install openpyxl." target="_blank">解决: ImportError: Missing optional dependency ‘openpyxl’. Use pip or conda to install openpyxl.</a> <span class="text-muted">白舟的博客</span> <a class="tag" taget="_blank" href="/search/%E6%8A%A0%E8%84%91%E9%97%AE%E9%A2%98/1.htm">抠脑问题</a><a class="tag" taget="_blank" href="/search/pip/1.htm">pip</a><a class="tag" taget="_blank" href="/search/conda/1.htm">conda</a> <div>问题:使用代码时:importpandasaspd#替换为你的Excel文件路径excel_path='path_to_your_excel_file.xlsx'#使用pandas的read_excel函数读取Excel文件df=pd.read_excel(excel_path)#将DataFrame转换为数组data_array=df.values#打印数组print(data_array)然后</div> </li> <li><a href="/article/1833731311651614720.htm" title="「漏洞复现」契约锁电子签章平台 add 远程命令执行漏洞" target="_blank">「漏洞复现」契约锁电子签章平台 add 远程命令执行漏洞</a> <span class="text-muted">鲨鱼辣椒丶D</span> <a class="tag" taget="_blank" href="/search/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/1.htm">漏洞复现</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a> <div>0x01免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!!!0x02产品介绍契约锁电子签章平台是上海亘岩网络科技有限公司推出的一套数字签章解决方案。契约锁为中大型组织提供“数</div> </li> <li><a href="/article/1833730429727895552.htm" title="分享JavaScript中直接调用CSS中的类名" target="_blank">分享JavaScript中直接调用CSS中的类名</a> <span class="text-muted">奔跑的呱呱牛</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>分享JavaScript中直接调用CSS中的类名在现代的JavaScript框架(如React、Vue)中,使用CSS模块(CSSModules)是一种非常流行的方式。.module.css文件扩展名代表的是CSS模块,它与普通的CSS文件不同,能够解决样式全局污染的问题,并且实现更好的样式隔离。为什么要使用.module.css作用域隔离:传统的CSS文件中的类名是全局的,这意味着如果多个组件或</div> </li> <li><a href="/article/1833729799646965760.htm" title="C语言调用两个lib中的同名函数" target="_blank">C语言调用两个lib中的同名函数</a> <span class="text-muted">星羽空间</span> <a class="tag" taget="_blank" href="/search/C%2FC%2B%2B%E4%B8%93%E9%A2%98/1.htm">C/C++专题</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>在C语言中,如果你需要调用两个库中的同名函数,这会引起问题,因为链接器在连接阶段会遇到符号冲突。解决办法可以dlopen动态加载库,并使用dlsym获取函数指针。这样可以避免符号冲突,并且你可以分别调用两个库中的同名函数。举个例子:假设有两个库libA.so和libB.so,每个库中都有一个名为foo的函数。#include#include#include//定义函数指针类型typedefvoid</div> </li> <li><a href="/article/1833729043002912768.htm" title="第12章 网络 (4)" target="_blank">第12章 网络 (4)</a> <span class="text-muted">山下小童</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>目录12.7网络设备层12.7.2接收分组12.7.3发送分组本专栏文章将有70篇左右,欢迎+关注,查看后续文章。12.7网络设备层12.7.2接收分组接收时,使用中断通知分组到达。几乎所有网卡都支持DMA。一个skb如何找到对应网络设备?skb->dev一个socket如何关联对应sk_buff?socketfd->structsocket->structsock->structsock.sk_</div> </li> <li><a href="/article/1833726827118555136.htm" title="愿与你一起走好这一生《摘要二》" target="_blank">愿与你一起走好这一生《摘要二》</a> <span class="text-muted">清辉艳</span> <div>真理,理解不了就成迷信,理解少了就成宗教,理解透了就是无上智慧。让别人有价值,自己才有价值。嗯。作用力等于反作用力,让万物有价值。反作用力就是我们自己会变得特别有价值。当我们有价值,以后什么都不会缺。所以人必须活在价值中不是活在金钱中。但是人有价值后钱会自动跟随,因为钱是跟着价值跑的。我们要用钱。不是让钱用我们的面。所以有一部分人虽然有钱。但钱在使用它,而不是它在使用钱,所以人不是为钱而活,是为生</div> </li> <li><a href="/article/1833726774727503872.htm" title="python基础学习" target="_blank">python基础学习</a> <span class="text-muted">agente</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>第一章标识符1、python被称为胶水语言,可以跟各个代码能一块儿使用爬虫、数据分析web全栈开发、数据科学方向、人工智能的机械学习和深度学习、自动化运维、爬虫、办公自动化python是跨平台的,python是解释型语言,不需要编译,python是面向对象的语言1、print()#print()可以输出数字、字符串、含有运算符的表达式#print()可以将内容输出到显示器、文件#print()输出</div> </li> <li><a href="/article/1833726396531306496.htm" title="深入剖析淘宝商品详情API的调用与返回值" target="_blank">深入剖析淘宝商品详情API的调用与返回值</a> <span class="text-muted">m0_37438181</span> <a class="tag" taget="_blank" href="/search/api/1.htm">api</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>淘宝的商品详情API(通常指的是淘宝开放平台提供的API接口)并不直接暴露给普通开发者使用,因为涉及到商业敏感信息和版权问题。然而,淘宝开放平台为开发者提供了多种API接口,用于获取商品信息、交易信息、物流信息等,这些接口通常需要通过淘宝开放平台注册应用并获取相应的API权限后才能使用。一、API调用授权与认证通常,调用淘宝商品详情API需要进行授权和认证。这可能涉及到申请开发者账号、获取API密</div> </li> <li><a href="/article/1833726269771051008.htm" title="Jmeter测试本地web应用" target="_blank">Jmeter测试本地web应用</a> <span class="text-muted">会飞的猫丶。</span> <a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95/1.htm">测试</a> <div>一、Jmeter下载及安装官网:http://jmeter.apache.org/下载:下载源码:解压到相关文件夹:打开bin里面的jmeter.bat就可以使用了二、看不懂英文的可以把语言切换为中文:选择options--->chooselanguage--->chinese三、新建线程组1)线程数:指的是用户的请求数,默认的输入是“1”,如果想模拟100个请求,则此处输入100。2)Ramp-</div> </li> <li><a href="/article/1833724538186199040.htm" title="利用新浪API批量生成t.cn 短链接的接口有哪些?" target="_blank">利用新浪API批量生成t.cn 短链接的接口有哪些?</a> <span class="text-muted">tokely</span> <div>新浪提供了长链接转为短链接的API,可以把长链接转为t.cn/xxx这种格式的短链接。短链接对于一些商家来说使用价值非常大,故整理了6个较为好用的t.cn短链接批量生成接口。1、快鸟短网址平台官网:http://kndwz.com随着移动互联网行业的的蓬勃发展,线上推广重要性越来越高,在推广的时候如果将长链接缩短一下,变成t.cn短链接可以获得更好的访问。快鸟短网址是一个好用的长链接生成t.cn短</div> </li> <li><a href="/article/1833724535682199552.htm" title="13.Spark Core-Spark中广播变量和累加器" target="_blank">13.Spark Core-Spark中广播变量和累加器</a> <span class="text-muted">__元昊__</span> <div>一、前述Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量。累机器相当于统筹大变量,常用于计数,统计。二、具体原理1、广播变量广播变量理解图image注意事项1、能不能将一个RDD使用广播变量广播出去?不能,因为RDD是不存储数据的。可以将RDD的结果广播出去。2、广播变量只能在Driver端定义,不能在Executor</div> </li> <li><a href="/article/39.htm" title="java Illegal overloaded getter method with ambiguous type for propert的解决" target="_blank">java Illegal overloaded getter method with ambiguous type for propert的解决</a> <span class="text-muted">zwllxs</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a> <div>好久不来iteye,今天又来看看,哈哈,今天碰到在编码时,反射中会抛出 Illegal overloaded getter method with ambiguous type for propert这么个东东,从字面意思看,是反射在获取getter时迷惑了,然后回想起java在boolean值在生成getter时,分别有is和getter,也许我们的反射对象中就有is开头的方法迷惑了jdk,</div> </li> <li><a href="/article/166.htm" title="IT人应当知道的10个行业小内幕" target="_blank">IT人应当知道的10个行业小内幕</a> <span class="text-muted">beijingjava</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E4%BA%92%E8%81%94%E7%BD%91/1.htm">互联网</a> <div>10. 虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”。   尽管IT人士的薪水没有互联网泡沫之前要好,但和其他行业人士比较,IT人的薪资还算好点。在接下的几十年中,科技在商业和社会发展中所占分量会一直增加,所以我们完全有理由相信,IT专业人才的需求量也不会减少。   然而,正因为IT人士的薪水普遍较高,所以有些公司认为给了你这么多钱,就把你看成是公司的“佣人”,拥有你的支配</div> </li> <li><a href="/article/293.htm" title="java 实现自定义链表" target="_blank">java 实现自定义链表</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>1.链表结构   链表是链式的结构 2.链表的组成    链表是由头节点,中间节点和尾节点组成    节点是由两个部分组成:       1.数据域       2.引用域 3.链表的实现 &nbs</div> </li> <li><a href="/article/420.htm" title="web项目发布到服务器后图片过一会儿消失" target="_blank">web项目发布到服务器后图片过一会儿消失</a> <span class="text-muted">麦田的设计者</span> <a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87/1.htm">上传图片</a><a class="tag" taget="_blank" href="/search/%E6%B0%B8%E4%B9%85%E4%BF%9D%E5%AD%98/1.htm">永久保存</a> <div>  作为一名学习了android和j2ee的程序员,我们必须要意识到,客服端和服务器端的交互是很有必要的,比如你用eclipse写了一个web工程,并且发布到了服务器(tomcat)上,这时你在webapps目录下看到了你发布的web工程,你可以打开电脑的浏览器输入http://localhost:8080/工程/路径访问里面的资源。但是,有时你会突然的发现之前用struts2上传的图片</div> </li> <li><a href="/article/547.htm" title="CodeIgniter框架Cart类 name 不能设置中文的解决方法" target="_blank">CodeIgniter框架Cart类 name 不能设置中文的解决方法</a> <span class="text-muted">IT独行者</span> <a class="tag" taget="_blank" href="/search/CodeIgniter/1.htm">CodeIgniter</a><a class="tag" taget="_blank" href="/search/Cart/1.htm">Cart</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6%E3%80%80/1.htm">框架 </a> <div>今天试用了一下CodeIgniter的Cart类时遇到了个小问题,发现当name的值为中文时,就写入不了session。在这里特别提醒一下。 在CI手册里也有说明,如下: $data = array( 'id' => 'sku_123ABC', 'qty' => 1, '</div> </li> <li><a href="/article/674.htm" title="linux回收站" target="_blank">linux回收站</a> <span class="text-muted">_wy_</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%9B%9E%E6%94%B6%E7%AB%99/1.htm">回收站</a> <div>今天一不小心在ubuntu下把一个文件移动到了回收站,我并不想删,手误了。我急忙到Nautilus下的回收站中准备恢复它,但是里面居然什么都没有。     后来我发现这是由于我删文件的地方不在HOME所在的分区,而是在另一个独立的Linux分区下,这是我专门用于开发的分区。而我删除的东东在分区根目录下的.Trash-1000/file目录下,相关的删除信息(删除时间和文件所在</div> </li> <li><a href="/article/801.htm" title="jquery回到页面顶端" target="_blank">jquery回到页面顶端</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>html代码: <h1 id="anchor">页面标题</h1> <div id="container">页面内容</div> <p><a href="#anchor" class="topLink">回到顶端</a><</div> </li> <li><a href="/article/928.htm" title="B树、B-树、B+树、B*树" target="_blank">B树、B-树、B+树、B*树</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/B%E6%A0%91/1.htm">B树</a> <div>原文地址: http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html B树        即二叉搜索树:        1.所有非叶子结点至多拥有两个儿子(Left和Right); &nb</div> </li> <li><a href="/article/1055.htm" title="数据库连接池" target="_blank">数据库连接池</a> <span class="text-muted">alafqq</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E6%B1%A0/1.htm">数据库连接池</a> <div>http://www.cnblogs.com/xdp-gacl/p/4002804.html @Anthor:孤傲苍狼 数据库连接池 用MySQLv5版本的数据库驱动没有问题,使用MySQLv6和Oracle的数据库驱动时候报如下错误: java.lang.ClassCastException: $Proxy0 cannot be cast to java.sql.Connec</div> </li> <li><a href="/article/1182.htm" title="java泛型" target="_blank">java泛型</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java%E6%B3%9B%E5%9E%8B/1.htm">java泛型</a> <div>泛型 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,任意化的缺点就是要实行强制转换,这种强制转换可能会带来不安全的隐患   泛型的特点:消除强制转换 确保类型安全 向后兼容   简单泛型的定义:      泛型:就是在类中将其模糊化,在创建对象的时候再具体定义 class fan</div> </li> <li><a href="/article/1309.htm" title="javascript闭包[两个小测试例子]" target="_blank">javascript闭包[两个小测试例子]</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>一.程序一 <script> var name = "The Window"; var Object_a = {   name : "My Object",   getNameFunc : function(){ var that = this;     return function(){     </div> </li> <li><a href="/article/1436.htm" title="探索JUnit4扩展:假设机制(Assumption)" target="_blank">探索JUnit4扩展:假设机制(Assumption)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Assumption/1.htm">Assumption</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a> <div>一.假设机制(Assumption)概述        理想情况下,写测试用例的开发人员可以明确的知道所有导致他们所写的测试用例不通过的地方,但是有的时候,这些导致测试用例不通过的地方并不是很容易的被发现,可能隐藏得很深,从而导致开发人员在写测试用例时很难预测到这些因素,而且往往这些因素并不是开发人员当初设计测试用例时真正目的,</div> </li> <li><a href="/article/1563.htm" title="【Gson四】范型POJO的反序列化" target="_blank">【Gson四】范型POJO的反序列化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a> <div>在下面这个例子中,POJO(Data类)是一个范型类,在Tests中,指定范型类为PieceData,POJO初始化完成后,通过 String str = new Gson().toJson(data); 得到范型化的POJO序列化得到的JSON串,然后将这个JSON串反序列化为POJO   import com.google.gson.Gson; import java.</div> </li> <li><a href="/article/1690.htm" title="【Spark八十五】Spark Streaming分析结果落地到MySQL" target="_blank">【Spark八十五】Spark Streaming分析结果落地到MySQL</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a> <div>几点总结: 1. DStream.foreachRDD是一个Output Operation,类似于RDD的action,会触发Job的提交。DStream.foreachRDD是数据落地很常用的方法 2. 获取MySQL Connection的操作应该放在foreachRDD的参数(是一个RDD[T]=>Unit的函数类型),这样,当foreachRDD方法在每个Worker上执行时,</div> </li> <li><a href="/article/1817.htm" title="NGINX + LUA实现复杂的控制" target="_blank">NGINX + LUA实现复杂的控制</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+lua/1.htm">nginx lua</a> <div>安装lua_nginx_module 模块 lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty Centos和debian的安装就简单了。。 这里说下freebsd的安装: fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz tar zxvf lua-5.1.4.tar.gz cd lua-5.1.4 ma</div> </li> <li><a href="/article/1944.htm" title="java-递归判断数组是否升序" target="_blank">java-递归判断数组是否升序</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class IsAccendListRecursive { /*递归判断数组是否升序 * if a Integer array is ascending,return true * use recursion */ public static void main(String[] args){ IsAccendListRecursiv</div> </li> <li><a href="/article/2071.htm" title="Netty源码学习-DefaultChannelPipeline2" target="_blank">Netty源码学习-DefaultChannelPipeline2</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>Netty3的API http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/ChannelPipeline.html 里面提到ChannelPipeline的一个“pitfall”: 如果ChannelPipeline只有一个handler(假设为handlerA)且希望用另一handler(假设为handlerB) 来</div> </li> <li><a href="/article/2198.htm" title="Java工具之JPS" target="_blank">Java工具之JPS</a> <span class="text-muted">chinrui</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>JPS使用     熟悉Linux的朋友们都知道,Linux下有一个常用的命令叫做ps(Process Status),是用来查看Linux环境下进程信息的。同样的,在Java Virtual Machine里面也提供了类似的工具供广大Java开发人员使用,它就是jps(Java Process Status),它可以用来</div> </li> <li><a href="/article/2325.htm" title="window.print分页打印" target="_blank">window.print分页打印</a> <span class="text-muted">ctrain</span> <a class="tag" taget="_blank" href="/search/window/1.htm">window</a> <div> function init() { var tt = document.getElementById("tt"); var childNodes = tt.childNodes[0].childNodes; var level = 0; for (var i = 0; i < childNodes.length; i++) { </div> </li> <li><a href="/article/2452.htm" title="安装hadoop时 执行jps命令Error occurred during initialization of VM" target="_blank">安装hadoop时 执行jps命令Error occurred during initialization of VM</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/jps/1.htm">jps</a> <div>在安装hadoop时,执行JPS出现下面错误   [slave16]root@192.168.11.10:/tmp/hsperfdata_hdfs# jps Error occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working</div> </li> <li><a href="/article/2579.htm" title="PHP开发大型项目的一点经验" target="_blank">PHP开发大型项目的一点经验</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a> <div>一、变量 最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候。变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆。变量的命名尽量规范化,不要与PHP中的关键字相冲突。 二、函数 PHP自带了很多函数,这给我们程序的编写带来了很多的方便。当然,在大型程序中我们往往自己要定义许多个函数,几十</div> </li> <li><a href="/article/2706.htm" title="android笔记之--向网络发送GET/POST请求参数" target="_blank">android笔记之--向网络发送GET/POST请求参数</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>使用GET方法发送请求 private static boolean sendGETRequest (String path, Map<String, String> params) throws Exception{ //发送地http://192.168.100.91:8080/videoServi</div> </li> <li><a href="/article/2833.htm" title="linux复习笔记 之bash shell (3) 通配符" target="_blank">linux复习笔记 之bash shell (3) 通配符</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux+%E9%80%9A%E9%85%8D%E7%AC%A6/1.htm">linux 通配符</a><a class="tag" taget="_blank" href="/search/linux%E9%80%9A%E9%85%8D%E7%AC%A6/1.htm">linux通配符</a> <div>转载请出自出处: http://eksliang.iteye.com/blog/2104387 在bash的操作环境中有一个非常有用的功能,那就是通配符。 下面列出一些常用的通配符,如下表所示 符号 意义 * 万用字符,代表0个到无穷个任意字符 ? 万用字符,代表一定有一个任意字符 [] 代表一定有一个在中括号内的字符。例如:[abcd]代表一定有一个字符,可能是a、b、c</div> </li> <li><a href="/article/2960.htm" title="Android关于短信加密" target="_blank">Android关于短信加密</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>关于Android短信加密功能,我初步了解的如下(只在Android应用层试验):     1、因为Android有短信收发接口,可以调用接口完成短信收发;         发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法Sm</div> </li> <li><a href="/article/3087.htm" title="asp.net在网站根目录下创建文件夹" target="_blank">asp.net在网站根目录下创建文件夹</a> <span class="text-muted">hvt</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/Web+Forms/1.htm">Web Forms</a> <div>假设要在asp.net网站的根目录下建立文件夹hovertree,C#代码如下: string m_keleyiFolderName = Server.MapPath("/hovertree"); if (Directory.Exists(m_keleyiFolderName)) { //文件夹已经存在 return; } else { try { D</div> </li> <li><a href="/article/3214.htm" title="一个合格的程序员应该读过哪些书" target="_blank">一个合格的程序员应该读过哪些书</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E4%B9%A6%E7%B1%8D/1.htm">书籍</a> <div>编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的? “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。” 很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数</div> </li> <li><a href="/article/3341.htm" title="单实例实践" target="_blank">单实例实践</a> <span class="text-muted">跑龙套_az</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a> <div>   1、内部类 public class Singleton { private static class SingletonHolder { public static Singleton singleton = new Singleton(); } public Singleton getRes</div> </li> <li><a href="/article/3468.htm" title="PO VO BEAN 理解" target="_blank">PO VO BEAN 理解</a> <span class="text-muted">q137681467</span> <a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/DTO/1.htm">DTO</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a> <div>PO:      全称是 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。     BO:     全称是 business object:业务对象 主要作用是把业务逻辑封装为一个对象。这个对</div> </li> <li><a href="/article/3595.htm" title="战胜惰性,暗自努力" target="_blank">战胜惰性,暗自努力</a> <span class="text-muted">金笛子</span> <a class="tag" taget="_blank" href="/search/%E5%8A%AA%E5%8A%9B/1.htm">努力</a> <div>偶然看到一句很贴近生活的话:“别人都在你看不到的地方暗自努力,在你看得到的地方,他们也和你一样显得吊儿郎当,和你一样会抱怨,而只有你自己相信这些都是真的,最后也只有你一人继续不思进取。”很多句子总在不经意中就会戳中一部分人的软肋,我想我们每个人的周围总是有那么些表现得“吊儿郎当”的存在,是否你就真的相信他们如此不思进取,而开始放松了对自己的要求随波逐流呢? 我有个朋友是搞技术的,平时嘻嘻哈哈,以</div> </li> <li><a href="/article/3722.htm" title="NDK/JNI二维数组多维数组传递" target="_blank">NDK/JNI二维数组多维数组传递</a> <span class="text-muted">wenzongliang</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/jni/1.htm">jni</a><a class="tag" taget="_blank" href="/search/NDK/1.htm">NDK</a> <div>多维数组和对象数组一样处理,例如二维数组里的每个元素还是一个数组 用jArray表示,直到数组变为一维的,且里面元素为基本类型,去获得一维数组指针。给大家提供个例子。已经测试通过。 Java_cn_wzl_FiveChessView_checkWin( JNIEnv* env,jobject thiz,jobjectArray qizidata) { jint i,j; int s</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>