【转帖】计算机编程语言

计算机编程语言

https://www.cnblogs.com/Kevin-Yang/p/11221332.html

最近博客园的文章 周天还没时间仔细看。 等工作日时仔细看一下。

 

 

 

用于表达数字计算机的一组详细指令的各种语言。 当这些指令处于称为机器语言的计算机制造商特定数字形式时,在用相应汇编语言表达的简单替换过程之后,或者在从某些“更高级别”语言翻译之后,可以直接执行这些指令。 虽然有许多计算机语言,但相对较少被广泛使用。

机器和汇编语言是“低级别的”,要求程序员明确管理计算机的所有数据存储和操作的特殊功能。 相比之下,高级语言可以防止程序员担心这些注意事项,并提供程序员更容易编写和读取的符号。

【转帖】计算机编程语言_第1张图片

语言类型

机器语言和汇编语言(Machine and assembly languages)

算法语言(Algorithmic languages)

FORTRAN
ALGOL
LISP
C

面向商业的语言(Business-oriented languages)

COBOL
SQL

面向教育的语言(Education-oriented languages)

BASIC
Pascal
Logo
Hypertalk

面向对象的语言(Object-oriented languages)

C++
Ada
Java
Visual Basic

声明性语言(Declarative languages)

脚本语言(Scripting languages)

文档格式化语言(Document formatting languages)

TeX
PostScript
SGML

万维网显示语言(World Wide Web display languages)

HTML
XML
Web scripting

元素编程语言(Elements Of Programming)

Control structures
Data structures

 

语言类型

机器语言和汇编语言(Machine and assembly languages)

机器语言由特定计算机可以直接执行的操作数字代码组成。 代码是0和1的字符串,或二进制数字(“位”),它们经常被转换为十六进制(基数16)以供人类查看和修改。 机器语言指令通常使用一些位来表示操作,例如加法,一些用于表示操作数,或者可能用于表示下一条指令的位置。 机器语言难以读写,因为它不像传统的数学符号或人类语言,并且其代码因计算机而异。

汇编语言旨在轻松转换为机器语言。 尽管可以通过名称而不是通过其机器地址来引用数据块,但是汇编语言不提供组织复杂信息的更复杂的方法。 与机器语言一样,汇编语言需要详细了解内部计算机体系结构。 当这些细节很重要时,如在编程计算机以与输入/输出设备(打印机,扫描仪,存储设备等)交互时,它是有用的。

算法语言(Algorithmic languages)

算法语言旨在表达数学或符号计算。 它们可以用类似于数学的符号表示代数运算,并允许使用包含常用操作的子程序进行重用。 它们是第一种高级语言。

FORTRAN
第一个重要的算法语言是FORTRAN(公式转换),由John Backus领导的IBM团队于1957年设计。 它旨在用于实数的科学计算,并将它们的集合组织为一维或多维数组。 其控制结构包括条件IF语句,重复循环(所谓的DO循环)和允许非顺序执行程序代码的GOTO语句。 FORTRAN使得用于常见数学运算的子程序变得方便,并且构建了它们的库。

FORTRAN还旨在转化为高效的机器语言。 它立即成功并继续发展。

ALGOL
ALGOL(算法语言)由美国和欧洲计算机科学家委员会在1958年至1960年期间设计,用于发布算法以及进行计算。 与LISP(在下一节中描述)一样,ALGOL具有递归子程序 - 可以调用自身来解决问题的过ALGOL为描述编程语言Backus-Naur Form的结构提供了一种符号,Backus-Naur Form在某些变体中成为说明编程语言语法(语法)的标准工具。 ALGOL在欧洲广泛使用,多年来它仍然是计算机算法发布的语言。 许多重要的语言,如Pascal和Ada(后面都有描述),都是它的后代。程,将其减少为同类的较小问题。 ALGOL引入了块结构,其中程序由可能包含数据和指令的块组成,并且具有与整个程序相同的结构。 块结构成为用于构建小型组件的大型程序的强大工具。

LISP
LISP(列表处理)是由约翰麦卡锡在麻省理工学院(MIT)于1960年开发的,它建立在递归函数的数学理论之上(其函数出现在它自己的定义中)。 LISP程序是应用于数据的函数,而不是FORTRAN和ALGOL中的一系列程序步骤。 LISP使用一种非常简单的表示法,其中操作及其操作数在括号列表中给出。例如,(+ a(* b c))代表a + b * c。虽然这看起来很尴尬,但这种符号适用于计算机。 LISP还使用列表结构来表示数据,并且由于程序和数据使用相同的结构,因此LISP程序很容易在其他程序上作为数据运行。

LISP成为人工智能(AI)编程的通用语言,部分原因是由于LISP和AI工作在麻省理工学院的合作,部分原因是能够“学习”的AI程序可以用LISP编写为自修改程序。 LISP通过众多方言发展,例如Scheme和Common LISP。

C
C编程语言由AT&T公司的Dennis Ritchie和Brian Kernighan于1972年开发,用于编程计算机操作系统。它通过较小单元的组合构建数据和程序的能力与ALGOL相当。它使用紧凑的表示法,使程序员能够使用数据地址及其值进行操作。这种能力在系统编程中很重要,C与汇编语言共享可以利用计算机内部架构的所有功能。 C及其后代C ++仍然是最常用的语言之一。

面向商业的语言(Business-oriented languages)
COBOL
COBOL(通用业务导向语言)自1959年成立以来一直被企业大量使用。计算机制造商和用户委员会以及美国政府组织成立了CODASYL(数据系统和语言委员会),以开发和监督语言标准,以便确保其在不同系统中的可移植性。

COBOL在介绍时使用类似英语的符号小说。业务计算组织和操作大量数据,COBOL为这些任务引入了记录数据结构。记录将异构数据(例如姓名,ID号,年龄和地址)聚合到一个单元中。这与科学语言形成对比,在这种语言中,同质数组是常见的。记录是将数据“分块”成单个对象的重要示例,它们几乎出现在所有现代语言中。 

SQL
SQL(结构化查询语言)是一种用于指定数据库组织(记录集合)的语言。使用SQL组织的数据库称为关系数据库,因为SQL提供了查询数据库以查找属于给定关系的信息的功能。例如,查询可能是“查找包含last_name Smith和city New York的所有记录。”商业数据库程序通常使用类似SQL的语言进行查询。

面向教育的语言(Education-oriented languages)
BASIC
BASIC(初学者的通用符号指令代码)是由John Kemeny和Thomas Kurtz于20世纪60年代中期在达特茅斯学院设计的。它旨在让初学者,特别是非计算机科学专业的学生容易学习,并且在具有许多用户的分时计算机上运行良好。它具有简单的数据结构和符号,并且被解释为:BASIC程序逐行翻译并在翻译时执行,这使得查找编程错误变得容易。

它的小巧和简洁也使BASIC成为早期个人电脑的流行语言。它最近的形式采用了其他当代语言的许多数据和控制结构,这使得它更强大但对初学者来说不太方便。

Pascal

大约1970年,瑞士的Niklaus Wirth设计了Pascal来教授结构化编程,强调了在没有GOTO语句的情况下有条理地使用条件和循环控制结构。 虽然Pascal在表示法中类似于ALGOL,但它提供了定义用于组织复杂信息的数据类型的能力,这是超出ALGOL以及FORTRAN和COBOL功能的功能。 用户定义的数据类型允许程序员引入复杂数据的名称,然后语言翻译者可以在运行程序之前检查其是否正确使用。

在20世纪70年代末和80年代,Pascal是最广泛使用的编程指令语言之一。 它几乎可以在所有计算机上使用,并且由于其熟悉性,清晰度和安全性,它被用于生产软件和教育。

LOGO
标志起源于20世纪60年代后期,作为教育的简化LISP方言; Seymour Papert和其他人在麻省理工学院用它来向学龄儿童传授数学思维。它有一个比LISP更传统的语法,并以“乌龟图形”为特色,这是一种生成计算机图形的简单方法。 (这个名字来自一个早期项目,用于编写一个类似乌龟的机器人。)海龟图形使用了以身体为中心的指令,其中一个对象通过命令移动到屏幕上,例如“左90”和“前进”,指定相对的动作到目前的对象的位置和方向,而不是固定的框架。与递归例程一起,这种技术使得编写复杂和有吸引力的模式变得容易。

Hypertalk
Hypertalk是由Bill Atkinson为Apple的Macintosh设计的“我们其他人的编程”。使用简单的类似英语的语法,Hypertalk使任何人都可以快速将文本,图形和音频组合成“链接堆栈”,可以通过在程序提供的标准按钮上单击鼠标来导航。在20世纪80年代和90年代早期,Hypertalk在教育工作者中特别受欢迎,用于课堂多媒体演示。尽管Hypertalk具有面向对象语言的许多功能(在下一节中描述),但Apple并没有为其他计算机平台开发它并让它萎靡不振;随着苹果公司在20世纪90年代的市场份额下降,一种新的跨平台显示多媒体的方式使得Hypertalk几乎已经过时(参见万维网显示语言部分)。

面向对象的语言(Object-oriented languages)
面向对象的语言有助于管理大型程序的复杂性。对象打包数据及其上的操作,以便只有操作可公开访问,并且隐藏数据结构的内部细节。通过允许程序员单独考虑程序的每个部分,这种信息隐藏使大规模编程变得更容易。此外,对象可以从更一般的对象派生,“继承”它们的能力。这样的对象层次结构使得可以定义专用对象而不重复更一般的对象中的所有对象。

面向对象的编程始于Simula语言(1967),它为ALGOL添加了隐藏信息。另一个有影响力的面向对象语言是Smalltalk(1980),其中一个程序是一组通过彼此发送消息来交互的对象。

C ++
C ++语言由Bjarne Stroustrup在20世纪80年代中期在AT&T开发,通过在保留C程序效率的同时添加对象来扩展C语言。它一直是教育和工业编程最重要的语言之一。许多操作系统的大部分,例如Microsoft Corporation的Windows 98,都是用C ++编写的。

Ada
阿达以奥古斯塔·阿达·金(Augusta Ada King)的名字命名,她是洛夫莱斯的伯爵夫人,曾是19世纪英国发明家查尔斯·巴贝奇的助手,有时被称为第一位计算机程序员。阿达语是20世纪80年代初为美国国防部开发的大规模节目。它将类似Pascal的表示法与将操作和数据打包成独立模块的能力相结合。它的第一个形式Ada 83并不是完全面向对象的,但随后的Ada 95提供了对象以及构造它们的层次结构的能力。虽然Ada不再被授权用于国防部的工作,但仍然是工程大型项目的有效语言。

Java
在20世纪90年代早期,Java由Sun Microsystems,Inc。设计,作为万维网(WWW)的编程语言。虽然它在外观上类似于C ++,但它完全是面向对象的。特别是,Java省去了较低级别的功能,包括操作数据地址的能力,这种功能在分布式系统的程序中既不可取也不实用。为了便于移植,Java程序由特定于每个计算机平台的Java虚拟机翻译,然后执行Java程序。除了通过Web“applet”向Internet添加交互功能之外,Java还被广泛用于编写小型便携式设备,例如移动电话。

Visual Basic
Visual Basic是由Microsoft开发的,通过添加对象和“事件驱动”编程来扩展BASIC的功能:按钮,菜单和图形用户界面(GUI)的其他元素。 Visual Basic也可以在其他Microsoft软件中用于编写小例程。

声明性语言(Declarative languages)

声明性语言,也称为非过程或非常高级别,是编程语言,其中(理想情况下)程序指定要执行的操作而不是如何执行。在这些语言中,程序的规范与其实现之间的差异小于到目前为止所描述的过程语言。两种常见的声明性语言是逻辑和函数语言。

逻辑编程语言,其中PROLOG(逻辑编程)是最熟知的,将程序称为一组逻辑关系(例如,祖父母是某人的父母的父母)。这些语言类似于SQL数据库语言。程序由“推理引擎”执行,该推理引擎通过系统地搜索这些关系来回答查询以做出将回答查询的推断。 PROLOG已广泛用于自然语言处理和其他AI程序。


功能语言具有数学风格。通过将函数应用于参数来构造函数程序。功能语言,如LISP,ML和Haskell,被用作语言开发,自动数学定理证明器和一些商业项目中的研究工具。

 

脚本语言(Scripting languages)

脚本语言有时被称为小语言。它们旨在解决相对较小的编程问题,这些问题不需要数据声明的开销和使大型程序易于管理所需的其他功能。脚本语言用于编写操作系统实用程序,用于特殊用途的文件操作程序,并且因为它们易于学习,有时用于相当大的程序。


PERL(实用提取和报告语言)是在20世纪80年代后期开发的,最初用于UNIX操作系统。它旨在拥有早期脚本语言的所有功能。 PERL提供了许多方式来陈述常见操作,从而允许程序员采用任何方便的方式。在20世纪90年代,它成为一种系统编程工具,无论是小型实用程序还是大型原型程序。与下面讨论的其他语言一起,它也变得流行于编程计算机Web“服务器”。

文档格式化语言(Document formatting languages)
文档格式化语言指定打印文本和图形的组织。它们分为几类:文本格式符号可以提供与文字处理程序相同的功能,页面描述语言由打印设备解释,最常见的是标记语言,用于描述文档各部分的预期功能。

TeX
TeX是1977-86期间开发的,由斯坦福大学教授唐纳德·克努特(Donald Knuth)用作文本格式化语言,以提高他书中数学符号的质量。文本格式化系统与WYSIWYG(“所见即所得”)字处理器不同,在文档中嵌入纯文本格式化命令,然后由语言处理器解释这些命令以生成用于显示或打印的格式化文档。 TeX标记斜体文本,例如,{\ it it is iticicized},然后显示为斜体。

TeX很大程度上取代了早期的文本格式语其强大而灵活的功能使专家能够精确控制字体的选择,表格的布局,数学符号以及文档中图形的包含。它通常在“宏”包的帮助下使用,这些包定义了用于常见操作的简单命令,例如启动新段落; LaTeX是一种广泛使用的包。 TeX包含用于不同类型文档的许多标准“样式表”,并且这些可以由每个用户进一步调整。还有一些相关的程序,如BibTeX,管理书目,并具有所有常见书目样式的样式表,以及具有各种字母的语言的TeX版本。

PostScript

PostScript是一种页面描述语言,由Adobe Systems Incorporated在20世纪80年代早期在Xerox PARC(Palo Alto研究中心)的工作基础上开发。这些语言描述的文件可以由个人计算机解释,以在其屏幕上或通过打印机或排版设备中的微处理器显示文档。

例如,PostScript命令可以以各种字体和大小精确定位文本,绘制数学描述的图像,并指定颜色或阴影。 PostScript使用后缀,也称为反向波兰表示法,其中操作名称跟随其参数。因此,“300 600 20 270弧形行程”意味着:在位置(300,600)处绘制(“行程”)270度弧,半径为20。尽管PostScript可以由程序员读取和写入,但它通常由文本格式化程序,文字处理器或图形显示工具生成。

PostScript的成功归功于其规范属于公共领域,并且与高分辨率激光打印机非常匹配。它影响了打印字体的发展,制造商生产各种各样的PostScript字体。

SGML
SGML(标准通用标记语言)是标记语言定义的国际标准;也就是说,它是一种元语言。标记由称为标记的符号组成,这些标记指定文本的功能或如何显示。 SGML强调描述性标记,其中标记可能是“”。这样的标记表示文档功能,它可以被解释为计算机屏幕上的反向视频,打字机下划线或排版文本中的斜体。

SGML用于指定DTD(文档类型定义)。 DTD通过指定文档中必须出现的元素(例如,)来定义一种文档,例如报表,并为文档元素的使用提供规则,例如段落可能出现在表条目中但是表格可能不会出现在段落中。解析程序可以分析标记的文本以确定它是否符合DTD。另一个程序可以读取标记以准备索引或将文档翻译成PostScript以进行打印。另一种可能会为视觉或听觉障碍的读者生成大型或音频。</p> <p><strong>万维网显示语言(World Wide Web display languages)</strong><br>HTML<br>万维网是用于在计算机监视器上显示通过因特网检索的文本,图形和音频的系统。每个检索单元称为网页,这些页面通常包含允许检索相关页面的“链接”。 HTML(超文本标记语言)是用于编码网页的标记语言。它由Tim Berners-Lee于20世纪80年代在瑞士CERN核物理实验室设计,由SGML DTD定义。 HTML标记标记指定文档元素,例如标题,段落和表格。它们标记文档以供计算机程序(称为Web浏览器)显示。浏览器解释标签,在布局中显示标题,段落和表格,以适应屏幕大小和可用的字体。</p> <p>HTML文档还包含锚点,这些锚点是指定指向其他网页的链接的标记。锚的形式为<A HREF= "http://www.britannica.com">EncyclopædiaBritannica</A>,其中引用的字符串是链接指向的URL(通用资源定位符)(Web“地址) “)及其后面的文本是Web浏览器中显示的内容,下划线表示它是指向另一个页面的链接。显示为单个页面的内容也可以由多个URL形成,一些URL包含文本和其他图形。</p> <p>XML<br>HTML不允许定义新的文本元素;也就是说,它不可扩展。 XML(可扩展标记语言)是SGML的简化形式,适用于在Web上发布的文档。与SGML一样,XML使用DTD来定义文档类型以及它们中使用的标记的含义。 XML采用易于解析的约定,例如文档实体由开始和结束标记标记,例如<BEGIN> ... </ BEGIN>。 XML提供比HTML更多种类的超文本链接,例如双向链接和相对于文档子部分的链接。</p> <p>因为作者可以定义新标记,所以XML DTD还必须包含指示Web浏览器如何解释它们的规则 - 如何显示实体或如何生成诸如准备电子邮件之类的操作。</p> <p>Web scripting<br>标记有HTML或XML的网页主要是静态文档。 Web脚本可以在读者使用它时向页面添加信息,或者让读者输入可以例如传递给在线业务的订单部门的信息。 CGI(通用网关接口)提供了一种机制;它在读者的Web浏览器和提供页面的Web服务器之间传输请求和响应。服务器上的CGI组件包含称为脚本的小程序,这些程序从浏览器系统获取信息或提供用于显示的信息。一个简单的脚本可能会询问读者的姓名,确定读者使用的系统的Internet地址,并打印问候语。脚本可以用任何编程语言编写,但是,因为它们通常是简单的文本处理例程,所以像PERL这样的脚本语言是特别合适的。</p> <p>JavaScript</p> <p>另一种方法是使用为Web脚本设计的语言由浏览器执行。 JavaScript就是这样一种语言,由Netscape Communications Corp.设计,可以与Netscape和微软的浏览器一起使用。 JavaScript是一种简单的语言,与Java完全不同。 JavaScript程序可以嵌入到具有HTML标记<script language =“JavaScript”>的网页中。选择页面后,浏览器将执行该标记后面的JavaScript指令。为了加速动态(交互式)页面的显示,JavaScript通常与XML或其他语言结合使用,以便在服务器和客户端浏览器之间交换信息。特别是,XMLHttpRequest命令启用来自服务器的异步数据请求,而不需要服务器重新发送整个Web页面。编程的这种方法或“哲学”称为Ajax(异步JavaScript和XML)。</p> <p>VB脚本是Visual Basic的子集。最初是为Microsoft Office程序套件开发的,后来也用于Web脚本。它的功能类似于JavaScript,它可以以相同的方式嵌入HTML中。</p> <p>使用这种脚本语言进行Web编程的背后是组件编程的想法,其中程序是通过组合独立的先前编写的组件而无需任何进一步的语言处理来构造的。 JavaScript和VB Script程序被设计为可以附加到Web浏览器的组件,以控制它们显示信息的方式。</p> <p><strong>元素编程语言(Elements Of Programming)</strong><br>尽管存在符号差异,但当代计算机语言提供了许多相同的编程结构。这些包括基本控制结构和数据结构。前者提供表达算法的手段,后者提供组织信息的方法。<br> <br>控制结构(Control structures)<br>用过程语言编写的程序,最常见的类似于食谱,有成分列表和使用它们的逐步说明。几乎每种程序语言中的三种基本控制结构是:</p> <p>1.顺序 - 混合液体成分,然后加入干燥的成分。<br>2.有条件 - 如果西红柿是新鲜的,那么煨它们,但如果罐装,跳过这一步。<br>迭代击败蛋清直到形成软峰。<br>Sequence是默认的控制结构;说明一个接一个地执行。例如,它们可以执行一系列算术运算,将结果分配给变量,以找到二次方程ax2 + bx + c = 0的根。条件IF-THEN或IF-THEN-ELSE控制结构允许程序遵循替代执行路径。迭代或循环为计算机提供了大部分功能。他们可以根据需要重复一系列步骤,适当重复非常简单的步骤可以解决复杂的问题。</p> <p>可以组合这些控制结构。序列可能包含几个循环;循环可以包含嵌套在其中的循环,或者条件的两个分支可以包含具有循环和更多条件的序列。在本文中使用的“伪代码”中,“*”表示乘法,“←”用于为变量赋值。以下编程片段使用IF-THEN结构来查找二次方程的一个根,使用二次方程式:</p> <p><br> 二次公式</p> <p>二次公式假设a是非零并且判别式(平方根符号内的部分)不是负的(为了获得实数根)。条件检查这些假设:</p> <ul class="with-dots"> <li>IF <em>a</em> = 0 THEN</li> <li>ROOT ← −<em>c</em>/<em>b</em></li> <li>ELSE</li> <li>DISCRIMINANT ← <em>b</em>*<em>b</em> − 4*<em>a</em>*<em>c</em></li> <li>IF DISCRIMINANT ≥ 0 THEN</li> <li>ROOT ← (−<em>b</em> + SQUARE_ROOT(DISCRIMINANT))/2*<em>a</em></li> <li>ENDIF</li> <li>ENDIF</li> </ul> <p>上述片段中使用的SQUARE_ROOT函数是子程序(也称为过程,子例程或函数)的示例。子程序就像是一次给出的酱汁配方,并作为许多其他食谱的一部分使用。子程序接受输入(需要的数量)并产生结果(酱汁)。常用的子程序通常位于提供语言的集合或库中。子程序可以在其定义中调用其他子程序,如以下程序所示(其中ABS是绝对值函数)。 SQUARE_ROOT是通过使用WHILE(不定)循环实现的,该循环产生实数的平方根的良好近似,除非x非常小或非常大。通过声明其名称,输入数据类型和输出来编写子程序:</p> <ul class="with-dots"> <li>FUNCTION SQUARE_ROOT(REAL <em>x</em>) RETURNS REAL</li> <li>ROOT ← 1.0</li> <li>WHILE ABS(ROOT*ROOT − <em>x</em>) ≥ 0.000001</li> <li>AND WHILE ROOT ← (<em>x</em>/ROOT + ROOT)/2</li> <li>RETURN ROOT</li> </ul> <p>子程序可以将问题分解为更小,更易处理的子问题。 有时可以通过将问题减少到原始版本较小的子问题来解决问题。 在这种情况下,例程被称为递归子程序,因为它通过重复调用自身来解决问题。 例如,数学中的阶乘函数(n!= n∙(n-1)⋯3∙2∙1,即前n个整数的乘积)可以编程为递归例程:</p> <ul class="with-dots"> <li>FUNCTION FACTORIAL(INTEGER <em>n</em>) RETURNS INTEGER</li> <li>IF <em>n</em> = 0 THEN RETURN 1</li> <li>ELSE RETURN <em>n</em> * FACTORIAL(<em>n</em>−1)</li> </ul> <p>递归的优点在于它通常是对精确定义的简单重述,避免了迭代解决方案的簿记细节。</p> <p>在机器语言级别,循环和条件是用分支指令实现的,分支指令说“跳转到”程序中的新点。高级语言中的“goto”语句表达相同的操作,但很少使用,因为它使人类难以遵循程序的“流程”。某些语言(如Java和Ada)不允许这样做。</p> <p>数据结构(Data structures)<br>控制结构组织算法,而数据结构组织信息。特别是,数据结构指定数据类型,因此可以对它们执行哪些操作,同时消除了程序员跟踪存储器地址的需要。简单的数据结构包括整数,实数,布尔值(真/假),以及字符或字符串。通过组合一个或多个数据类型来形成复合数据结构。</p> <p>最重要的复合数据结构是数组,同类数据集合,以及记录,异构集合。数组可以表示数字向量,字符串列表或向量集合(数组数组或数学矩阵)。记录可以存储员工信息名称,职称和薪水。记录数组(例如员工表)是元素的集合,每个元素都是异构的。相反,记录可能包含一个矢量,即一个数组。</p> <p>记录组件或字段按名称选择;例如,E.SALARY可能代表记录E的工资字段。数组元素由其位置或索引选择; A [10]是数组A中位置10的元素。因此FOR循环(确定迭代)可以通过具有索引限制的数组(在下面的示例中为FIRST TO LAST)运行,以便对其元素求和:</p> <ul class="with-dots"> <li>FOR <em>i</em> ← FIRST TO LAST</li> <li>SUM ← SUM + <em>A</em>[<em>i</em>]</li> </ul> <p>数组和记录具有固定的大小。 可以增长的结构是使用动态分配构建的,可根据需要提供新的存储。 这些数据结构具有组件,每个组件包含数据和对其他组件的引用(以机器术语,它们的地址)。 这种自引用结构具有递归定义。 例如,bintree(二叉树)要么是空的,要么包含带有数据的根组件以及左右bintree“children”。这样的bintree有效地实现了信息表。 对它们进行操作的子程序自然是递归的; 以下例程打印出bintree的所有元素(每个都是某个子树的根):</p> <ul class="with-dots"> <li>PROCEDURE TRAVERSE(ROOT: BINTREE)</li> <li>IF NOT(EMPTY(ROOT))</li> <li>TRAVERSE(ROOT.LEFT)</li> <li>PRINT ROOT.DATA</li> <li>TRAVERSE(ROOT.RIGHT)</li> <li>ENDIF</li> </ul> <p>抽象数据类型(ADT)对于大规模编程很重要。他们将数据结构和操作打包在其上,隐藏内部细节。例如,ADT表为用户提供插入和查找操作,同时保持底层结构(无论是数组,列表还是二叉树)不可见。在面向对象语言中,类是ADT,对象是它们的实例。下面的面向对象的伪代码示例假定存在ADT bintree和“超类”COMPARABLE,表征存在比较操作的数据(例如整数的“<”)。它定义了一个新的ADT,TABLE,它隐藏了它的数据表示并提供了适合于表的操作。此类根据COMPARABLE类的元素类型参数进行多态定义。它的任何实例都必须指定该类型,这里是一个带有员工数据的类(COMPARABLE声明意味着PERS_REC必须提供比较操作来对记录进行排序)。实现细节被省略。</p> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1174989863120875520"></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">你可能感兴趣的:(【转帖】计算机编程语言)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1892509320273260544.htm" title="c和c++的区别是" target="_blank">c和c++的区别是</a> <span class="text-muted">Utopia.️</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>digitalRead处理的是数字信号,只能返回HIGH或LOW。analogRead处理的是模拟信号,将模拟电压值转换为10位数字值(0到1023),可以用来测量电压的实际值或模拟信号的强度。c和c++的区别是C和C++是两种编程语言,它们有许多共同点,但也有重要的区别。以下是它们的主要区别:1.语言类型C:是一种过程式编程语言。程序的执行依赖于函数和过程,代码是按顺序执行的。C++:是一种面向</div> </li> <li><a href="/article/1892503900867588096.htm" title="深度学习工厂的蓝图:拆解CUDA驱动、PyTorch与OpenCV的依赖关系" target="_blank">深度学习工厂的蓝图:拆解CUDA驱动、PyTorch与OpenCV的依赖关系</a> <span class="text-muted">时光旅人01号</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a> <div>想象一下,你正在建造一座深度学习工厂,这座工厂专门用于高效处理深度学习任务(如训练神经网络)和计算机视觉任务(如图像处理)。为了让工厂顺利运转,你需要搭建基础设施、安装设备、设置生产线,并配备控制台来管理整个生产过程。以下是这座工厂的详细构建过程:1.工厂的基础设施:Ubuntu比喻:Ubuntu是工厂所在的土地和建筑,提供了基础设施和运行环境。作用:提供操作系统环境,支持安装和运行各种工具和框架</div> </li> <li><a href="/article/1892503270987984896.htm" title="(九万字)面向2025年BOSS直聘人工智能算法工程师高频面试题解析" target="_blank">(九万字)面向2025年BOSS直聘人工智能算法工程师高频面试题解析</a> <span class="text-muted">快撑死的鱼</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%9B%9E%E5%BD%92/1.htm">回归</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a> <div>面向2025年BOSS直聘人工智能算法工程师高频面试题解析1.机器学习(ML)理论解析机器学习是让计算机从数据中学习规律的一套方法论,包含监督学习、无监督学习和强化学习等范式。在监督学习中,给定带标签的数据,算法尝试学习从输入到输出的映射关系;无监督学习则在缺乏标签的情况下挖掘数据内在结构;强化学习则让智能体通过与环境交互、依据奖赏反馈来改进策略(Q-learning-Wikipedia)。机器学</div> </li> <li><a href="/article/1892501862800748544.htm" title="Centos7 搭建 Jupyter + Nginx 服务" target="_blank">Centos7 搭建 Jupyter + Nginx 服务</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/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>JupyterNotebook(此前被称为IPythonnotebook)是一个交互式笔记本,支持运行40多种编程语言。JupyterNotebook的本质是一个Web应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和markdown。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。本文讲述如何搭建Jupyter+Nginx服务,仅供学习与交流,请勿用于商业用途一</div> </li> <li><a href="/article/1892497197967142912.htm" title="总结10个Python赚钱的接单平台 兼职月入5000+" target="_blank">总结10个Python赚钱的接单平台 兼职月入5000+</a> <span class="text-muted">begefefsef</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>前言“如果说当下什么编程语言最靠谱或者比较适合搞副业?”答案肯定100%是:Pythonpython是所有语法中最简单易上手的语言,不需要特别的的英语词汇量,逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据,制作各种图表,提升工作效率。而且还能利用业余时间接点私活,一个月轻松收入过万不是问题,这样的生活他不香吗?今天就给大家盘点几个基本入门接私活的资源,让你轻松学python,</div> </li> <li><a href="/article/1892494552284065792.htm" title="【计算机毕设任务书】基于微信小程序的宠物寄养平台的设计与实现" target="_blank">【计算机毕设任务书】基于微信小程序的宠物寄养平台的设计与实现</a> <span class="text-muted">Eastonzhang888</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%AF%95%E8%AE%BE%E4%BB%BB%E5%8A%A1%E4%B9%A6%E5%8F%82%E8%80%83%E6%A1%88%E4%BE%8B/1.htm">计算机毕设任务书参考案例</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%AE%A0%E7%89%A9/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/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">计算机毕业设计</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>一、设计的主要内容、技术参数及工作要求研究目的现在宠物寄养管理中已有一些商家使用了基本的管理软件,这些软件都是依靠客户端,只可以特定人员使用,不能实现信息的共享。虽然可以帮助工作人员减少工作量,但从根本上还是无法满足用户的需求。这些软件都还是基于网络发展之初的要求,没有利用现代网络的技术,体现不了更为实用的功能。依靠客户端的系统开发时没有考虑园际化的问题,所以也满足不了国际化的要求。最近几年来,我</div> </li> <li><a href="/article/1892492534286970880.htm" title="AI 大模型:Intelligent Agent—— 开启智能新纪元" target="_blank">AI 大模型:Intelligent Agent—— 开启智能新纪元</a> <span class="text-muted">AI-入门</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86/1.htm">产品经理</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/agi/1.htm">agi</a> <div>在LLM语境下,Agent理解为在某种能自主理解、规划决策、执行复杂任务的智能体,LLM充当着智能体的“大脑”。从软件工程的角度,智能体是一种基于大语言模型的,具备规划思考能力、记忆能力、使用工具函数的能力,能自主完成给定任务的计算机程序。在基于LLM的智能体中,LLM的充当着智能体的“大脑”的角色,同时还有3个关键部分:规划(Planning):智能体会把大型任务分解为子任务,并规划执行任务的流</div> </li> <li><a href="/article/1892490141654642688.htm" title="网络协议、网络安全架构、网络安全标准" target="_blank">网络协议、网络安全架构、网络安全标准</a> <span class="text-muted">Utopia.️</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>1.网络协议网络协议是计算机网络中设备之间通信的规则集。熟悉常见的网络协议及其工作原理是确保网络安全的基础。常见协议:TCP/IP协议:这是网络通信的基础协议,确保数据从源端传输到目标端,支持多种传输方式(TCP可靠传输,UDP快速但不可靠)。HTTP/HTTPS:HTTP用于浏览器与服务器之间的通信,HTTPS则是在HTTP上添加了SSL/TLS加密层,用于确保数据传输的安全性。DNS协议:用于</div> </li> <li><a href="/article/1892487238852341760.htm" title="如何快速定位并解决 Linux 系统性能瓶颈:终极全攻略" target="_blank">如何快速定位并解决 Linux 系统性能瓶颈:终极全攻略</a> <span class="text-muted">BitTalk</span> <a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/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/java/1.htm">java</a> <div>在现代IT环境中,Linux系统被广泛应用于服务器、嵌入式设备和超级计算机等各类场景。随着系统负载的增加,性能瓶颈不可避免地会影响系统的可靠性和效率。因此,了解如何有效地诊断和解决Linux系统中的性能问题至关重要。本篇博客将深入探讨Linux性能瓶颈的可能来源,介绍各种性能评估方法和概念,并最终提供使用Linux命令查找性能瓶颈的实用指南。性能瓶颈的可能来源在Linux系统中,性能瓶颈可能出现在</div> </li> <li><a href="/article/1892486356869902336.htm" title="在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南" target="_blank">在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南</a> <span class="text-muted">机 _ 长</span> <a class="tag" taget="_blank" href="/search/YOLO%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9E%8B%E6%9C%89%E6%95%88%E6%B6%A8%E7%82%B9%E6%94%B9%E8%BF%9B/1.htm">YOLO系列模型有效涨点改进</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E8%90%BD%E5%9C%B0%E5%AE%9E%E6%88%98/1.htm">深度学习落地实战</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/c%2B%2B/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> <div>在人工智能和计算机视觉领域,人体姿态估计是一项极具挑战性的任务,它对于理解人类行为、增强人机交互等方面具有重要意义。YOLOv8Pose作为YOLO系列中的新成员,以其高效和准确性在人体姿态估计任务中脱颖而出。本文将详细介绍如何在瑞芯微RK3588平台上,使用RKNN(RockchipNeuralNetworkToolkit)框架部署YOLOv8Pose模型,并进行C++代码的编译和运行。注本文全</div> </li> <li><a href="/article/1892484969733877760.htm" title="ug12在win8计算机名错,我电脑是win8.1的 装ug8.0 装ug为什么会提示错误??" target="_blank">ug12在win8计算机名错,我电脑是win8.1的 装ug8.0 装ug为什么会提示错误??</a> <span class="text-muted">zc791022</span> <a class="tag" taget="_blank" href="/search/ug12%E5%9C%A8win8%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%90%8D%E9%94%99/1.htm">ug12在win8计算机名错</a> <div>可以安装,64位的可能要通用许可证才能安装。安装NX8.0.0.25之前,最好卸载掉“大于4.0”的许可服务(因为你只要装了8.0的许可服务,7.0/6.0/5.0都可以启动的),安装后打不开NX8.0的,重启电脑试试!1.用记事本方式打开安装文件夹下的“crack\UGSLicensing\NX8.0.lic”(把里面SERVERthis_hostID=20110555528000里面的this</div> </li> <li><a href="/article/1892484213102407680.htm" title="计算机程序制作的小作品,义乌市中小学生电脑作品制作比赛201203" target="_blank">计算机程序制作的小作品,义乌市中小学生电脑作品制作比赛201203</a> <span class="text-muted">东南前哨</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A8%8B%E5%BA%8F%E5%88%B6%E4%BD%9C%E7%9A%84%E5%B0%8F%E4%BD%9C%E5%93%81/1.htm">计算机程序制作的小作品</a> <div>《义乌市中小学生电脑作品制作比赛201203》由会员分享,可在线阅读,更多相关《义乌市中小学生电脑作品制作比赛201203(4页珍藏版)》请在人人文库网上搜索。1、浙江省义乌市教育研修院关于举办2012年义乌市中小学生电脑作品制作比赛暨首届青少年网络道德建设专题创作活动的通知各中小学:为进一步推进和加强中小学信息技术教育,普及信息技术知识,培养学生创新精神和实践能力,提高信息技术水平,根据上级文件</div> </li> <li><a href="/article/1892483583331856384.htm" title="Python 舆论风向分析爬虫:全流程数据获取、清洗与情感剖析" target="_blank">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/%E7%88%AC%E8%99%AB/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/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">实战案例</a> <div>引言在当今信息爆炸的时代,互联网上充斥着海量的用户言论和观点。了解舆论风向对于企业、政府机构以及研究者等具有重要的意义,可以帮助他们及时把握公众情绪、调整策略与决策。Python作为一种强大的编程语言,在数据爬取与分析方面具有得天独厚的优势,能够助力我们高效地实现舆情监测与深入剖析。一、环境搭建与目标确定1.环境搭建为了顺利完成爬虫与数据分析任务,首先需要确保你的开发环境已经安装了以下Python</div> </li> <li><a href="/article/1892469834516590592.htm" title="网络安全常识" target="_blank">网络安全常识</a> <span class="text-muted">网络安全Ash</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>一、网络安全常识什么是网络安全?网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,系统可以连续可靠正常地运行,网络服务不被中断。什么是计算机病毒?计算机病毒(ComputerVirus)是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。什么是木马?木马是一种带有恶意性质的远程</div> </li> <li><a href="/article/1892466933626892288.htm" title="DeepSeek如何重塑我的编程学习:计算机新生的AI实践" target="_blank">DeepSeek如何重塑我的编程学习:计算机新生的AI实践</a> <span class="text-muted">EnigmaCoder</span> <a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>目录前言邂逅DeepSeek:从困惑到惊喜初学编程的困境DeepSeek的优势️DeepSeek在编程学习中的运用注释算法逐步分析调试帮助跨语言迁移学习AI时代学习方法论革新知识获取方式转变新型学习能力培养反思与展望反思展望总结前言大家好!我是EnigmaCoder,本文我将介绍我的AI编程学习之旅。春节期间,DeepSeek横空出世,迅速登顶热榜。它功能强大,精准答疑、高效创作,瞬间点燃大众热情</div> </li> <li><a href="/article/1892462137901641728.htm" title="鸢尾花分类项目 GUI" target="_blank">鸢尾花分类项目 GUI</a> <span class="text-muted">编织幻境的妖</span> <a class="tag" taget="_blank" href="/search/%E5%88%86%E7%B1%BB/1.htm">分类</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>1.机器学习的定义机器学习是一门人工智能的分支,专注于开发算法和统计模型,使计算机能够在没有明确编程的情况下从数据中自动学习和改进。通过识别数据中的模式和规律,机器学习系统可以做出预测或决策。常见的应用包括图像识别、语音识别、推荐系统等。2.为什么使用鸢尾花数据集(Irisdataset)鸢尾花数据集是一个经典的多类分类问题数据集,由英国统计学家和遗传学家RonaldFisher在1936年引入。</div> </li> <li><a href="/article/1892460368698077184.htm" title="Java平台上的多线程与多核处理研究" target="_blank">Java平台上的多线程与多核处理研究</a> <span class="text-muted">向哆哆</span> <a class="tag" taget="_blank" href="/search/Java%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Java入门到精通</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Java平台上的多线程与多核处理研究在现代计算机架构中,多核处理器已成为主流。随着硬件性能的提升,如何有效利用多核处理器的计算能力成为开发者面临的重要问题之一。Java作为一种广泛使用的编程语言,提供了多线程编程的强大支持,使得开发者能够在多核环境下实现并行计算。本篇文章将深入探讨Java平台上的多线程与多核处理,探讨其工作原理、应用场景,并通过代码实例进行演示。1.多线程与多核处理的基本概念1.</div> </li> <li><a href="/article/1892460242311114752.htm" title="Spring框架在Java企业级应用中的应用分析" target="_blank">Spring框架在Java企业级应用中的应用分析</a> <span class="text-muted">向哆哆</span> <a class="tag" taget="_blank" href="/search/Java%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Java入门到精通</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>Java在移动应用开发中的优势与挑战Java作为一门历史悠久且功能强大的编程语言,在移动应用开发中一直占据着重要地位,尤其是在安卓平台的应用开发上,Java是主要的开发语言。随着技术的发展,尤其是Kotlin的崛起,Java在移动应用中的角色发生了一些变化,但它依旧具有许多独特的优势,尤其是在企业级应用和维护现有项目中。本文将从多个角度探讨Java在移动应用开发中的优势与挑战,并提供相关的代码示例</div> </li> <li><a href="/article/1892459106929799168.htm" title="十大经典排序算法的C++实现与解析" target="_blank">十大经典排序算法的C++实现与解析</a> <span class="text-muted">金外飞176</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>经典排序算法的C++实现与解析在计算机科学中,排序算法是数据处理和算法设计的基础。无论是处理大规模数据还是优化小规模数据的性能,排序算法都扮演着重要角色。本文将介绍10种经典排序算法,并提供它们的C++实现代码。这些算法包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、基数排序和桶排序。1.冒泡排序(BubbleSort)原理冒泡排序是最简单的排序算法之一。它通过重</div> </li> <li><a href="/article/1892458727408201728.htm" title="马斯克的Grok-3:技术突破与行业冲击的深度解析" target="_blank">马斯克的Grok-3:技术突破与行业冲击的深度解析</a> <span class="text-muted">♢.*</span> <a class="tag" taget="_blank" href="/search/%E9%A9%AC%E6%96%AF%E5%85%8B/1.htm">马斯克</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/xAI/1.htm">xAI</a><a class="tag" taget="_blank" href="/search/Grok/1.htm">Grok</a><a class="tag" taget="_blank" href="/search/3/1.htm">3</a> <div>一、技术架构与核心突破超大规模算力集群Grok-3基于xAI自研的Colossus超级计算机训练完成,搭载20万块英伟达H100GPU,累计消耗2亿GPU小时,算力投入是前代Grok-2的10倍48。这一规模远超行业平均水平,例如中国团队DeepSeek-V3的算力消耗仅为Grok-3的1/2634。技术挑战:团队在122天内完成首期10万块GPU部署,克服了散热、电力供应等工程难题1。思维链推理</div> </li> <li><a href="/article/1892449900264747008.htm" title="100道计算机网络面试八股文(答案、分析和深入提问)整理" target="_blank">100道计算机网络面试八股文(答案、分析和深入提问)整理</a> <span class="text-muted">守护海洋的猫</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a> <div>1.说一说POST与GET有哪些区别回答在计算机网络中,POST和GET是HTTP协议中两种主要的请求方法,它们各自具有不同的特性和用途。下面是二者的主要区别:1.数据传输方式GET:数据通过URL传递,参数以查询字符串的形式附加在URL后面。示例:http://example.com/api?name=value&age=30POST:数据包含在HTTP请求的主体部分,数据不会显示在URL中。示</div> </li> <li><a href="/article/1892446242273816576.htm" title="Python数据分析与可视化" target="_blank">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%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/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>Python数据分析与可视化在数据驱动的商业世界中,数据分析和可视化成为了理解复杂数据集、做出明智决策的关键工具。Python,作为一种功能强大且易于学习的编程语言,提供了丰富的库和框架,使得数据分析和可视化变得简单高效。本文将探讨Python在数据分析和可视化中的应用,包括数据预处理、分析、以及如何通过可视化工具将数据洞察转化为可操作的策略。1.数据分析的重要性数据分析是提取数据中有用信息的过程</div> </li> <li><a href="/article/1892446114204938240.htm" title="ECMAScript与JavaScript:探索两者之间的联系与区别" target="_blank">ECMAScript与JavaScript:探索两者之间的联系与区别</a> <span class="text-muted">程序媛小果</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>在Web开发的早期,JavaScript成为了客户端脚本语言的代名词,而随着时间的推移,JavaScript已经发展成为一个功能强大的语言,它的影响力远远超出了浏览器的范畴。在这场语言演进的过程中,ECMAScript扮演了一个关键角色。本文将深入探讨ECMAScript与JavaScript之间的关系,以及它们之间的主要区别。1.什么是ECMAScript?ECMAScript是由欧洲计算机制造</div> </li> <li><a href="/article/1892445105034424320.htm" title="DeepSeek原理介绍以及对网络安全行业的影响" target="_blank">DeepSeek原理介绍以及对网络安全行业的影响</a> <span class="text-muted">AI拉呱</span> <a class="tag" taget="_blank" href="/search/Deepseek/1.htm">Deepseek</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>大家好,我是AI拉呱,一个专注于人工智领域与网络安全方面的博主,现任资深算法研究员一职,兼职硕士研究生导师;热爱机器学习和深度学习算法应用,深耕大语言模型微调、量化、私域部署。曾获多次获得AI竞赛大奖,拥有多项发明专利和学术论文。对于AI算法有自己独特见解和经验。曾辅导十几位非计算机学生转行到算法岗位就业。关注评审分享一起学习更多知识。1.DeepSeek公司介绍1.1DeepSeek是什么:wh</div> </li> <li><a href="/article/1892442574682124288.htm" title="服务器与普通电脑有什么区别?" target="_blank">服务器与普通电脑有什么区别?</a> <span class="text-muted">wayuncn</span> <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/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91/1.htm">电脑</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>服务器和普通电脑(通常指的是个人计算机,即PC)有众多相似之处,主要构成包含:CPU,内存,芯片,I/O总线设备,电源,机箱及操作系统软件等,鉴于使用要求不同,两者差别也很明显,区别如下:区别1、CPU处理性能不同。服务器对CPU要求很高,必须具备有很强数据处理能力,通常服务器要配置多颗CPU共同进行数据运算,普通电脑通常都配置单颗CPU,在数据处理能力就远比不上起服务器。区别2、安全性能不同。服</div> </li> <li><a href="/article/1892433618089865216.htm" title="【系统架构设计师】系统性能之性能指标" target="_blank">【系统架构设计师】系统性能之性能指标</a> <span class="text-muted">王佑辉</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%B8%88/1.htm">系统架构设计师</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a> <div>目录1.说明2.计算机的性能指标3.路由器的性能指标4.交换机的性能指标5.网络的性能指标6.操作系统的性能指标7.数据库管理系统的性能指标8.Web服务器的性能指标9.例题9.1例题11.说明1.性能指标是软、硬件的性能指标的集成。2.在硬件中,包括计算机、各种通信交换设备、各类网络设备等;在软件中,包括操作系统、数据库、网络协议以及应用程序等。2.计算机的性能指标1.评价计算机的主要性能指标有</div> </li> <li><a href="/article/1892426922990825472.htm" title="[附源码]计算机毕业设计基于SpringBoot的小说阅读系统" target="_blank">[附源码]计算机毕业设计基于SpringBoot的小说阅读系统</a> <span class="text-muted">计算机毕设程序设计</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.ID</div> </li> <li><a href="/article/1892424151029837824.htm" title="远程桌面的端口号是多少?" target="_blank">远程桌面的端口号是多少?</a> <span class="text-muted">阿7_QuQ</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>远程桌面(RemoteDesktop)是一种用于远程访问和控制计算机的技术,它允许用户通过网络连接到远程计算机并以图形化界面进行操作。远程桌面使用的端口号通常是3389。在Windows操作系统中,远程桌面协议(RemoteDesktopProtocol,简称RDP)默认使用3389端口。当您启用远程桌面功能并允许其他计算机通过网络连接时,远程桌面会监听3389端口,等待远程连接的请求。需要注意的</div> </li> <li><a href="/article/1892422259088355328.htm" title="网络安全等级保护制度详解,一文掌握核心要点!_等级保护相关政策和法律法规" target="_blank">网络安全等级保护制度详解,一文掌握核心要点!_等级保护相关政策和法律法规</a> <span class="text-muted">~小羊没烦恼~</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</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/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>一、等级保护制度发展情况等级保护制度的法律依据Ø《计算机信息系统安全保护条例》(1994年GeneralOfficeoftheStateCouncil第147号令)公安部主管全国计算机信息系统安全保护工作。计算机信息系统实行安全等级保护,安全等级的划分标准和安全等级保护的具体办法,由公安部会同有关部门制定。Ø《中华人民共和国警察法》(1995,2012)人民警察履行“监督管理计算机信息系统的安全保</div> </li> <li><a href="/article/1892419226480734208.htm" title="DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命" target="_blank">DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命</a> <span class="text-muted">云边有个稻草人</span> <a class="tag" taget="_blank" href="/search/%E7%83%AD%E9%97%A8%E6%96%87%E7%AB%A0/1.htm">热门文章</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a> <div>云边有个稻草人-CSDN博客在众多创新技术中,DeepSeek和ChatGPT无疑是最为引人注目的。它们通过强大的搜索和对话生成能力,能够改变我们与计算机交互的方式,帮助我们高效地获取信息,增强智能服务。本文将深入探讨这两项技术如何结合使用,为用户提供更精准、更流畅的对话和搜索体验。目录一、介绍1.1什么是DeepSeek?1.2什么是ChatGPT?1.3DeepSeek与ChatGPT的结合:</div> </li> <li><a href="/article/105.htm" title="Js函数返回值" target="_blank">Js函数返回值</a> <span class="text-muted">_wy_</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/return/1.htm">return</a> <div>一、返回控制与函数结果,语法为:return 表达式;作用: 结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二、返回控制语法为:return;作用: 结束函数执行,返回调用函数,而且把undefined作为函数的结果 在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性</div> </li> <li><a href="/article/232.htm" title="MySQL 的 char 与 varchar" target="_blank">MySQL 的 char 与 varchar</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 今天发现,create table 时,MySQL 4.1有时会把 char 自动转换成 varchar 测试举例: CREATE TABLE `varcharLessThan4` ( `lastName` varchar(3) ) ; mysql> desc varcharLessThan4; +----------+---------+------+-</div> </li> <li><a href="/article/359.htm" title="Quartz——TriggerListener和JobListener" target="_blank">Quartz——TriggerListener和JobListener</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/TriggerListener/1.htm">TriggerListener</a><a class="tag" taget="_blank" href="/search/JobListener/1.htm">JobListener</a><a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2208624 一.概述 listener是一个监听器对象,用于监听scheduler中发生的事件,然后执行相应的操作;你可能已经猜到了,TriggerListeners接受与trigger相关的事件,JobListeners接受与jobs相关的事件。   二.JobListener监听器  j</div> </li> <li><a href="/article/486.htm" title="oracle层次查询" target="_blank">oracle层次查询</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/oracle%EF%BC%9B%E5%B1%82%E6%AC%A1%E6%9F%A5%E8%AF%A2%EF%BC%9B%E6%A0%91%E6%9F%A5%E8%AF%A2/1.htm">oracle;层次查询;树查询</a> <div>.oracle层次查询(connect  by) oracle的emp表中包含了一列mgr指出谁是雇员的经理,由于经理也是雇员,所以经理的信息也存储在emp表中。这样emp表就是一个自引用表,表中的mgr列是一个自引用列,它指向emp表中的empno列,mgr表示一个员工的管理者, select   empno,mgr,ename,sal  from e</div> </li> <li><a href="/article/613.htm" title="通过反射把map中的属性赋值到实体类bean对象中" target="_blank">通过反射把map中的属性赋值到实体类bean对象中</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/javaee/1.htm">javaee</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B/1.htm">泛型</a><a class="tag" taget="_blank" href="/search/%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2/1.htm">类型转换</a> <div>使用过struts2后感觉最方便的就是这个框架能自动把表单的参数赋值到action里面的对象中 但现在主要使用Spring框架的MVC,虽然也有@ModelAttribute可以使用但是明显感觉不方便。 好吧,那就自己再造一个轮子吧。 原理都知道,就是利用反射进行字段的赋值,下面贴代码 主要类如下:   import java.lang.reflect.Field; imp</div> </li> <li><a href="/article/740.htm" title="SAP HANA数据存储:传统硬盘的瓶颈问题" target="_blank">SAP HANA数据存储:传统硬盘的瓶颈问题</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/HANA/1.htm">HANA</a> <div>SAPHANA平台有各种各样的应用场景,这也意味着客户的实施方法有许多种选择,关键是如何挑选最适合他们需求的实施方案。 在 《Implementing SAP HANA》这本书中,介绍了SAP平台在现实场景中的运作原理,并给出了实施建议和成功案例供参考。本系列文章节选自《Implementing SAP HANA》,介绍了行存储和列存储的各自特点,以及SAP HANA的数据存储方式如何提升空间压</div> </li> <li><a href="/article/867.htm" title="Java Socket 多线程实现文件传输" target="_blank">Java Socket 多线程实现文件传输</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/socket/1.htm">socket</a> <div>        高级操作系统作业,让用Socket实现文件传输,有些代码也是在网上找的,写的不好,如果大家能用就用上。 客户端类:   package edu.logic.client; import java.io.BufferedInputStream; import java.io.Buffered</div> </li> <li><a href="/article/994.htm" title="java初学者路径" target="_blank">java初学者路径</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>学习Java有没有什么捷径?要想学好Java,首先要知道Java的大致分类。自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE</div> </li> <li><a href="/article/1121.htm" title="APP推广" target="_blank">APP推广</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/APP/1.htm">APP</a><a class="tag" taget="_blank" href="/search/%E6%8E%A8%E5%B9%BF/1.htm">推广</a> <div>一,免费篇 1,APP推荐类网站自主推荐 最美应用、酷安网、DEMO8、木蚂蚁发现频道等,如果产品独特新颖,还能获取最美应用的评测推荐。PS:推荐简单。只要产品有趣好玩,用户会自主分享传播。例如足迹APP在最美应用推荐一次,几天用户暴增将服务器击垮。 2,各大应用商店首发合作 老实盯着排期,多给应用市场官方负责人献殷勤。 3,论坛贴吧推广 百度知道,百度贴吧,猫扑论坛,天涯社区,豆瓣(</div> </li> <li><a href="/article/1248.htm" title="JSP转发与重定向" target="_blank">JSP转发与重定向</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/Java+Web/1.htm">Java Web</a><a class="tag" taget="_blank" href="/search/jsp%E8%BD%AC%E5%8F%91/1.htm">jsp转发</a> <div>  在servlet和jsp中我们经常需要请求,这时就需要用到转发和重定向;   转发包括;forward和include     例子;forwrad转发;  将请求装法给reg.html页面   关键代码;    req.getRequestDispatcher("reg.html</div> </li> <li><a href="/article/1375.htm" title="web.xml之jsp-config" target="_blank">web.xml之jsp-config</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/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/jsp-config/1.htm">jsp-config</a> <div>1.作用:主要用于设定JSP页面的相关配置。 2.常见定义: <jsp-config> <taglib> <taglib-uri>URI(定义TLD文件的URI,JSP页面的tablib命令可以经由此URI获取到TLD文件)</tablib-uri> <taglib-location> TLD文件所在的位置 </div> </li> <li><a href="/article/1502.htm" title="JSF2.2 ViewScoped Using CDI" target="_blank">JSF2.2 ViewScoped Using CDI</a> <span class="text-muted">sunjing</span> <a class="tag" taget="_blank" href="/search/CDI/1.htm">CDI</a><a class="tag" taget="_blank" href="/search/JSF+2.2/1.htm">JSF 2.2</a><a class="tag" taget="_blank" href="/search/ViewScoped/1.htm">ViewScoped</a> <div>JSF 2.0 introduced annotation @ViewScoped; A bean annotated with this scope maintained its state as long as the user stays on the same view(reloads or navigation - no intervening views). One problem w</div> </li> <li><a href="/article/1629.htm" title="【分布式数据一致性二】Zookeeper数据读写一致性" target="_blank">【分布式数据一致性二】Zookeeper数据读写一致性</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>很多文档说Zookeeper是强一致性保证,事实不然。关于一致性模型请参考http://bit1129.iteye.com/blog/2155336    Zookeeper的数据同步协议 Zookeeper采用称为Quorum Based Protocol的数据同步协议。假如Zookeeper集群有N台Zookeeper服务器(N通常取奇数,3台能够满足数据可靠性同时</div> </li> <li><a href="/article/1756.htm" title="Java开发笔记" target="_blank">Java开发笔记</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/java%E5%BC%80%E5%8F%91/1.htm">java开发</a> <div>1、Map<key,value>的remove方法只能识别相同类型的key值   Map<Integer,String> map = new HashMap<Integer,String>(); map.put(1,"a"); map.put(2,"b"); map.put(3,"c"</div> </li> <li><a href="/article/1883.htm" title="图片黑色阴影" target="_blank">图片黑色阴影</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%89%87/1.htm">图片</a> <div> .event{ padding:0;    width:460px;    min-width: 460px;    border:0px solid #e4e4e4;    height: 350px;    min-heig</div> </li> <li><a href="/article/2010.htm" title="编程之美-饮料供货-动态规划" target="_blank">编程之美-饮料供货-动态规划</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a> <div> import java.util.Arrays; import java.util.Random; public class BeverageSupply { /** * 编程之美 饮料供货 * 设Opt(V’,i)表示从i到n-1种饮料中,总容量为V’的方案中,满意度之和的最大值。 * 那么递归式就应该是:Opt(V’,i)=max{ k * Hi+Op</div> </li> <li><a href="/article/2137.htm" title="ajax大参数(大数据)提交性能分析" target="_blank">ajax大参数(大数据)提交性能分析</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/prototype/1.htm">prototype</a> <div>近期在项目中发现如下一个问题 项目中有个提交现场事件的功能,该功能主要是在web客户端保存现场数据(主要有截屏,终端日志等信息)然后提交到服务器上方便我们分析定位问题。客户在使用该功能的过程中反应点击提交后反应很慢,大概要等10到20秒的时间浏览器才能操作,期间页面不响应事件。 根据客户描述分析了下的代码流程,很简单,主要通过OCX控件截屏,在将前端的日志等文件使用OCX控件打包,在将之转换为</div> </li> <li><a href="/article/2264.htm" title="[宇宙与天文]在太空采矿,在太空建造" target="_blank">[宇宙与天文]在太空采矿,在太空建造</a> <span class="text-muted">comsci</span> <div>     我们在太空进行工业活动...但是不太可能把太空工业产品又运回到地面上进行加工,而一般是在哪里开采,就在哪里加工,太空的微重力环境,可能会使我们的工业产品的制造尺度非常巨大....      地球上制造的最大工业机器是超级油轮和航空母舰,再大些就会遇到困难了,但是在空间船坞中,制造的最大工业机器,可能就没</div> </li> <li><a href="/article/2391.htm" title="ORACLE中CONSTRAINT的四对属性" target="_blank">ORACLE中CONSTRAINT的四对属性</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/CONSTRAINT/1.htm">CONSTRAINT</a> <div>ORACLE中CONSTRAINT的四对属性 summary:在data migrate时,某些表的约束总是困扰着我们,让我们的migratet举步维艰,如何利用约束本身的属性来处理这些问题呢?本文详细介绍了约束的四对属性: Deferrable/not deferrable, Deferred/immediate, enalbe/disable, validate/novalidate,以及如</div> </li> <li><a href="/article/2518.htm" title="Gradle入门教程" target="_blank">Gradle入门教程</a> <span class="text-muted">dengkane</span> <a class="tag" taget="_blank" href="/search/gradle/1.htm">gradle</a> <div>一、寻找gradle的历程 一开始的时候,我们只有一个工程,所有要用到的jar包都放到工程目录下面,时间长了,工程越来越大,使用到的jar包也越来越多,难以理解jar之间的依赖关系。再后来我们把旧的工程拆分到不同的工程里,靠ide来管理工程之间的依赖关系,各工程下的jar包依赖是杂乱的。一段时间后,我们发现用ide来管理项程很不方便,比如不方便脱离ide自动构建,于是我们写自己的ant脚本。再后</div> </li> <li><a href="/article/2645.htm" title="C语言简单循环示例" target="_blank">C语言简单循环示例</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div># include <stdio.h> int main(void) { int i; int count = 0; int sum = 0; float avg; for (i=1; i<=100; i++) { if (i%2==0) { count++; sum += i; } } avg</div> </li> <li><a href="/article/2772.htm" title="presentModalViewController 的动画效果" target="_blank">presentModalViewController 的动画效果</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/controller/1.htm">controller</a> <div>系统自带(四种效果): presentModalViewController模态的动画效果设置:     [cpp]  view plain copy   UIViewController *detailViewController = [[UIViewController al</div> </li> <li><a href="/article/2899.htm" title="java 二分查找" target="_blank">java 二分查找</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/1.htm">二分查找</a><a class="tag" taget="_blank" href="/search/java%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/1.htm">java二分查找</a> <div>需求:在排好顺序的一串数字中,找到数字T   一般解法:从左到右扫描数据,其运行花费线性时间O(N)。然而这个算法并没有用到该表已经排序的事实。 /** * * @param array * 顺序数组 * @param t * 要查找对象 * @return */ public stati</div> </li> <li><a href="/article/3026.htm" title="Spring Security(07)——缓存UserDetails" target="_blank">Spring Security(07)——缓存UserDetails</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a> <div>        Spring Security提供了一个实现了可以缓存UserDetails的UserDetailsService实现类,CachingUserDetailsService。该类的构造接收一个用于真正加载UserDetails的UserDetailsService实现类。当需要加载UserDetails时,其首先会从缓存中获取,如果缓存中没</div> </li> <li><a href="/article/3153.htm" title="Dozer 深层次复制" target="_blank">Dozer 深层次复制</a> <span class="text-muted">jayluns</span> <a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a> <div>最近在做项目上遇到了一些小问题,因为架构在做设计的时候web前段展示用到了vo层,而在后台进行与数据库层操作的时候用到的是Po层。这样在业务层返回vo到控制层,每一次都需要从po-->转化到vo层,用到BeanUtils.copyProperties(source, target)只能复制简单的属性,因为实体类都配置了hibernate那些关联关系,所以它满足不了现在的需求,但后发现还有个很</div> </li> <li><a href="/article/3280.htm" title="CSS规范整理(摘自懒人图库)" target="_blank">CSS规范整理(摘自懒人图库)</a> <span class="text-muted">a409435341</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a> <div>   刚没事闲着在网上瞎逛,找了一篇CSS规范整理,粗略看了一下后还蛮有一定的道理,并自问是否有这样的规范,这也是初入前端开发的人一个很好的规范吧。 一、文件规范 1、文件均归档至约定的目录中。 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类。通用的CSS文件,放在如下目录中: 基本样式库 /css/core </div> </li> <li><a href="/article/3407.htm" title="C++动态链接库创建与使用" target="_blank">C++动态链接库创建与使用</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/dll/1.htm">dll</a> <div>一、创建动态链接库 1.新建工程test中选择”MFC [dll]”dll类型选择第二项"Regular DLL With MFC shared linked",完成 2.在test.h中添加 extern “C” 返回类型 _declspec(dllexport)函数名(参数列表); 3.在test.cpp中最后写 extern “C” 返回类型 _decls</div> </li> <li><a href="/article/3534.htm" title="Android代码混淆之ProGuard" target="_blank">Android代码混淆之ProGuard</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/ProGuard/1.htm">ProGuard</a> <div>Android应用的Java代码,通过反编译apk文件(dex2jar、apktool)很容易得到源代码,所以在release版本的apk中一定要混淆一下一些关键的Java源码。 ProGuard是一个开源的Java代码混淆器(obfuscation)。ADT r8开始它被默认集成到了Android SDK中。 官网: http://proguard.sourceforge.net/</div> </li> <li><a href="/article/3661.htm" title="程序员在编程中遇到的奇葩弱智问题" target="_blank">程序员在编程中遇到的奇葩弱智问题</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>  现在收集一下:         排名不分先后,按照发言顺序来的。   1、Jquery插件一个通用函数一直报错,尤其是很明显是存在的函数,很有可能就是你没有引入jquery。。。或者版本不对 2、调试半天没变化:不在同一个文件中调试。这个很可怕,我们很多时候会备份好几个项目,改完发现改错了。有个群友说的好:   在汤匙</div> </li> <li><a href="/article/3788.htm" title="解决maven-dependency-plugin (goals "copy-dependencies","unpack") is not supported" target="_blank">解决maven-dependency-plugin (goals "copy-dependencies","unpack") is not supported</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/dependency/1.htm">dependency</a> <div>解决办法:在plugins之前添加如下pluginManagement,二者前后顺序如下:   [html]  view plain copy   <build>           <pluginManagement</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>