java到底有什么好?? java来自C++我觉得没有什么独到之处,请批评,批者有分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 易中天深情地看着Java唱到: 你到底好在哪里, 好在哪里? 1.Java 是 简 单 的 Java 与 C++ 极 为 相 似, 但 却 简 单 得 多。 高 级 编 程 语 言 的 所 有 特 性 中,不 是 绝 对 需 要 的 都 已 删 去 了。 例 如, Java 没 有 算 符 过 载、 标 题 文 件、 预 处 理、 指 针 运 算、 结 构、 联 合、 多 维 数 组、 模 板 及 隐 式 类 型 变 换。 如 果 你 知 道 一 点 C、 C++ 或 Pascal, 你 很 快 就 会 驾 驭 Java。 这 里 是 一 个 简 单 的 Java Hello World 程 序: public class HelloInternet {public static void main(String argv[]) {System.out.println(“Hello In-ternet!”)}}2.Java 是 面 向 对 象 的 Java 是 一 种 面 向 对 象 的 编 程 语 言。 除 了 简 单 的 类 型, 如 数 字 和 布 尔 算 子 之 外, Java 中 的 大 部 分 都 是 对 象。 正 如 任 何 面 向 对 象 的 语 言 一 样, Java 代 码 也 按 类 组 织。 每 个 类 定 义 一 组 规 定 对 象 行 为 的 方 法。 一 个 类 可 以 继 承 另 一 个 类 的 行 为。 在 类 的 根 层 次 上, 通 常 是 类 对 象。 Java 支 持 单 继 承 类 层 次 结 构。 这 就 是 说, 每 个 类 一 次 只 能 继 承 一 个 别 的 类。 有 些 语 言 允 许 多 继 承 性, 但 这 可 能 造 成 混 乱, 使 语 言 不 必 要 地 复 杂 化。 例 如, 难 以 想 像, 一 个 对 象 会 继 承 两 个 完 全 不 同 的 类 的 行 为。 Java 还 支 持 摘 要 类 的 接 口。 这 允 许 编 程 人 员 先 定 义 接 口 的 方 法, 而 不 必 急 于 马 上 确 定 方 法 的 实 现。 一 个 类 可 以 施 行 多 个 接 口, 从 而 具 有 真 正 多 继 承 性 的 许 多 优 点。 一 个 对 象 也 可 实 施 任 意 数 量 的 接 口。 Java 接 口 与 IDL 接 口 极 其 相 似。 很 容 易 建 立 IDLJ 编 译 器。 这 就 是 说, Java 可 用 于 CORBA 对 象 系 统 来 建 立 分 布 式 对 象 系 统。 鉴 于 在 许 多 计 算 机 系 统 中 都 采 用 IDL 接 口 和 CORBA 对 象 系 统, 这 种 兼 容 性 是 重 要 的。 3.Java 是 静 态 类 型 的 在 一 个 Java 程 序 中, 必 须 定 义 所 用 对 象 (数 字、 字 符、 数 组 等) 的 类 型。 这 有 助 于 编 程 人 员 很 快 发 现 问 题, 因 为 当 程 序 编 译 时 可 以 检 测 类 型 错 误。 不 过, Java 系 统 中 的 对 象 也 有 动 态 类 型。 要 求 一 个 对 象 为 动 态 类 型 往 往 是 可 能 的, 所 以 编 程 人 员 写 的 程 序 可 以 对 不 同 类 型 的 对 象 做 不 同 的 事。 4.Java 是 编 译 型 的 当 运 行 Java 程 序 时, 它 首 先 被 编 译 成 字 节 代 码。 字 节 代 码 非 常 类 似 于 机 器 指 令, 所 以 Java 程 序 非 常 高 效。 然 而, 字 节 代 码 并 不 专 对 一 种 特 定 的 机 器, 所 以 Java 程 序 无 需 重 新 编 译 便 可 在 众 多 不 同 的 计 算 机 上 执 行。 Java 源 程 序 被 编 译 成 类 文 件, 它 相 当 于 程 序 的 字 节 代 码 表 现。 在 一 个 Java 类 文 件 中, 所 有 对 方 法 及 实 例 变 量 的 参 照 均 按 名 进 行, 并 在 第 一 次 执 行 代 码 时 加 以 分 辨。 这 使 得 代 码 更 通 用, 更 不 易 受 修 改 的 影 响, 而 仍 具 高 效。 5.Java 是 体 系 结 构 中 立 的 Java 语 言 对 每 种 计 算 机 都 一 样。 比 如, 简 单 的 类 型 都 是 不 变 的: 整 数 总 是 32 位, 长 整 数 总 是 64 位。 令 人 奇 怪 的 是, 诸 如 C 及 C++ 等 时 髦 的 编 程 语 言 却 不 是 这 样。 由 于 这 些 语 言 定 义 如 此 自 由, 每 种 编 译 器 及 开 发 环 境 便 各 有 不 同 了, 这 使 程 序 的 移 植 成 为 讨 厌 的 问 题。 Java 程 序 的 移 植 却 很 容 易, 而 且 不 需 要 进 行 重 新 编 译。 6.Java 是 健 全 的 Java 程 序 不 可 能 造 成 计 算 机 崩 溃。 Java 系 统 仔 细 检 测 对 内 存 的 每 次 访 问, 确 认 它 是 合 法 的, 而 且 不 致 引 起 任 何 问 题。 不 过, 即 使 Java 程 序 也 可 能 有 错 误。 如 果 出 现 某 种 出 乎 意 料 之 事, 程 序 不 会 崩 溃, 而 把 该 例 外 抛 弃。 程 序 会 发 现 这 类 例 外, 并 加 以 处 理。 传 统 的 程 序 可 以 访 问 计 算 机 的 全 部 内 存。 程 序 可 能 (无 意 识 地) 修 改 内 存 中 的 任 何 值, 这 就 会 造 成 问 题。 Java 程 序 只 能 访 问 内 存 中 允 许 它 们 访 问 的 那 些 部 分, 所 以 Java 程 序 不 可 能 修 改 不 拟 修 改 的 值。 7.Java 是 小 巧 的 由 于 Java 的 设 计 是 要 在 小 的 计 算 机 上 运 行, 作 为 一 种 编 程 语 言 来 说 其 系 统 是 相 对 较 小 的。 它 能 有 效 地 在 4MB 以 上 RAM 的 PC 机 上 运 行。 Java 翻 译 器 只 占 用 几 百 KB。 这 种 翻 译 器 对 Java 的 平 台 无 关 性 和 可 移 植 性 是 可 靠 的。 由 于 Java 很 小, 它 对 内 存 很 小 的 计 算 机, 如 基 于 Java 的 PC 机, 以 及 电 视 机、 烤 箱、 电 话 机 及 家 用 计 算 机 等, 是 很 理 想 的。 8.Java 是 多 线 程 的 Java 程 序 可 以 执 行 一 个 以 上 的 线 程。 比 如, 它 可 以 在 一 个 线 程 中 完 成 某 一 耗 时 的 计 算, 而 其 它 线 程 与 用 户 进 行 交 互 对 话。 所 以 用 户 不 必 停 止 工 作, 等 待 Java 程 序 完 成 耗 时 的 计 算。 在 多 线 程 环 境 中 的 编 程 通 常 是 困 难 的, 因 为 许 多 东 西 可 能 同 时 出 现。 但 是, Java 提 供 了 易 于 使 用 的 同 步 特 性, 使 编 程 更 为 方 便。 Java 线 程 通 常 被 映 射 为 实 际 的 操 作 系 统 线 程, 只 要 底 层 操 作 系 统 支 持 这 种 映 射。 因 此, 用 Java 写 的 应 用 程 序 可 说 是 “MP 热”。 这 就 是 说, 如 果 它 们 在 多 处 理 器 机 器 上 运 行, 它 们 更 将 表 现 不 凡。 9.Java 是 可 收 集 无 用 的 存 储 单 元 的 用 C 及 C++ 写 软 件 的 编 程 人 员 必 须 仔 细 跟 踪 所 用 的 内 存 块。 当 一 个 块 不 再 使 用 时, 他 们 务 必 让 程 序 释 放 它, 从 而 方 可 再 用。 在 大 的 项 目 中, 这 可 能 很 困 难, 并 往 往 成 为 出 错 和 内 存 不 足 的 根 源。 在 Java 的 情 况 下, 编 程 人 员 不 必 为 内 存 管 理 操 心。 Java 系 统 有 一 个 叫 做 “无 用 单 元 收 集 器” 的 内 置 程 序, 它 扫 描 内 存, 并 自 动 释 放 那 些 不 再 使 用 的 内 存 块。 10.Java 是 快 速 的 Java 比 典 型 的 脚 本 语 言 大 为 有 效, 但 它 比 C 慢 20 倍。 这 对 大 多 数 应 用 是 可 接 受 的。 不 久 的 将 来, 代 码 生 成 器 就 可 供 利 用 了, 这 将 使 Java 程 序 几 近 于 用 C 或 C++ 编 写 的 程 序 那 么 快。 11.Java 是 安 全 的 Java 程 序 没 有 指 针, 而 且 象 这 样 的 字 节 代 码 程 序 强 在 类 型 上, 所 以 在 执 行 之 前 它 可 能 验 证 Java 程 序。 被 验 证 的 Java 程 序 得 以 保 证 不 突 破 Java 语 言 的 任 何 限 制, 而 且 可 以 安 全 地 执 行。 Java 字 节 代 码 验 证 被 Web 浏 览 器 用 来 确 保 小 程 序 不 含 病 毒。 12.Java 是 可 扩 展 的 Java 程 序 可 与 用 其 它 语 言 编 写 的 现 存 程 序 库 连 接。 由 于 Java 数 据 结 构 与 C 的 数 据 结 构 的 类 型 极 为 相 似, 这 是 相 当 方 便 的。 最 大 的 问 题 在 于, 现 有 多 线 程 程 序 库 为 数 不 多。 Java 程 序 可 以 声 明 某 些 方 法 是 内 部 的, 然 后, 把 这 些 内 部 方 法 映 射 成 软 件 库 所 定 义 的 功 能, 从 而 动 态 地 链 接 到 虚 拟 机 1。 内存管理,调试的时候几乎没有指针,内存泄漏,数组越界这些问题2。 没有多重继承,更加purely object-oriented,3。 类型检查更严格,C++里面指针可以强转的,java里面则要检查继承关系的树结构4。 解释器运行,方便的跨平台,当然托管的C++或C#也可以在.net上这样,但思想是抄袭java的 1、java框架太多,容易让开发者不好选择2、java开发效率低3、java对底层系统不能控制4、java学习曲线陡5、java配置太复杂,不容易掌握6、java的类太多,记不过来7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题8、java不够敏捷9、java抄袭c#10、java社区支持不好 java容易上手,从某种上说同时也禁锢了人的思维,呵呵不知道对不对不过java还有待于提高 java就要灭亡了,就要走到历史终点了 鄙视你这句话,JAVA什么都有,接分.^_^ 是C#抄java你这些问题都是我N年前的想法。现在我已经转过来了。java是做大事的。 1、java框架太多,容易让开发者不好选择 2、java开发效率低 3、java对底层系统不能控制 4、java学习曲线陡 5、java配置太复杂,不容易掌握 6、java的类太多,记不过来 7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题 8、java不够敏捷 9、java抄袭c# 10、java社区支持不好 ~~~~~~~~~~~~~~~~~~~~~~~~~~2、java开发效率低 开发效率低?我怎么没看出来 1、java框架太多,容易让开发者不好选择 2、java开发效率低 3、java对底层系统不能控制 4、java学习曲线陡 5、java配置太复杂,不容易掌握 6、java的类太多,记不过来 7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题 8、java不够敏捷 9、java抄袭c# 10、java社区支持不好 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 这好象衣服都被脱光了一样一无是处了拯求JAVA下.这里哪几条是不对的??! Java主要可以跨平台啊!编程思想先进一些。 因为在开发某些系统的时候,它比C++开发周期短。C/C++是很牛,但对老板来说,请那样的程序员要的工资多,开发时间也长。不经济。用C/C++现在主要是做与硬件相关的东西了。 睡眠诚可贵, 吃饭价更高;若为JAVA者,两者皆可抛. java不乖啊,老不听话,C++更调皮,控制不了它,c语言老大不小了,什么都要别人去做。 Java开发效率低,和RIA无缘,现在的网站一般采用PHP,asp,asp.net,JSP已经快入土了,Java的调试是个老壳痛的问题,调试不到源代码,不晓得是浪个运行的.java是做大事的,一般用在大型项目上吧,吃政府饭. 我喜欢java1,java跨平台是它最大的特点2,java原来运行效率低,深受人们的质疑..但是现在随着jdk的升级,java运行越来越快3,java主张开源的思想,如今很流行..哪像微软那么霸道......鄙视microsoft!~4,java封装了好多底层的东西,很人性化....5,c#是java的clone版,社会上好多人说c#是对java的取其精华,去其糟粕.....不无道理~!6..........待续.~!.. java就要灭亡了,准备后事吧java七宗罪:1、java效率低,比C慢不是一点半点。2、java现在体态臃肿,如果减肥可能会死得更快。3、java已经10岁了,对于一个编程语言已经步入暮年。4、java是面向对象和面向过程的混合体,不论不类。5、java封装的太多,是一种玩具语言,长期使用会变弱智。6、java门槛低,学的人杂,使得自己变贱了。7、java的太广泛和频繁使用,反而失去了重心。 java开发效率低?java抄袭c#?这两个观点不敢苟同.java中的很多内容在思想上和C++是一致的.比如JAVA中用接口来实现C++中的多继承功能等待. Java究竟好在哪里,这个需要你自己不断的使用,不断的学习,以最近的距离观察她,才会发挥现她的好! 你很幽默......说的这些都有些滑稽的角色...就那么憎恶java??那你为什么还要来这个java社区呢? JAVA唯一的麻烦就是 各个公司开发的框架太多 类库的整体性上没。NET好不过一直用。NET开发 人会傻掉的速度应该不是我们要考虑的问题而且 最重要的是 用什么语言已经不重要了 只要能解决问题 各有各的好,还是感觉JAVA 好。 java 屏蔽底层硬件的差异,运行在虚拟机上,可跨平台 我个人感觉JAVA比C++做得好的地方就是垃圾处理器,有了这个之后就不用考虑对象的使用周期了。 答:java来自C++ ;C++来自C;C来自CBPL;CBPL来自B;B来自汇编;汇编来自0/1二进制。因此:我觉得它们所有的都没有什么独到之处,请批评,批者有分 java抄袭C#吗?我觉得C#是抄袭JAVA java 的网络编程能力前无古人 java类太多?头一回听说类太多不好! 1、java框架太多,容易让开发者不好选择 ---------------你精通那些2、java开发效率低 ---------------要的是后期的维护3、java对底层系统不能控制 ---------------?????、java学习曲线陡 ---------------?????5、java配置太复杂,不容易掌握 ---------------为什么JAVA比NET工资高啊6、java的类太多,记不过来 ---------------汗 写代码要记??7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题 ---------------你还没理解精髓吧8、java不够敏捷 ---------------??????????9、java抄袭c# ---------------你知道不啊 那个抄袭那个啊10、java社区支持不好 ---------------啊 啊 JAVA框架好像是社区搞起来的吧 不要说什么好不好,只要你自己用得好了,java是做大事的,可以无所不能,c++同样可以无所不能,c也可以,汇编也行,你叼,去用机器语言。说这说那有屁用,哪种语言都有它的一席之地,适用最好。你说哪个不好,你会吗?你精通了吗?我看未必,你有什么资格说三道四? 你说java已经10岁了,对于一个编程语言已经步入暮年。请问C++多大了??你说java copt C#好像反了吧 。 严格说来是c#"最先"抄袭java,但是现在是他们"互相"抄袭。这没有什么不好的。顺便接分。 Java 存在 内存泄漏 现象当一个对象的引用 隐式 被另一个对象持有,就释放不了。Map 中出现.... 不要因为你偏爱java,就失去理智~ 又个语言之争 我C++ JAVA 汇编都用 不知道谁好 只知道我有饭吃了! java抄袭c#严重不同意,明明是java出现的早,明明是C#抄袭java,你有没有看书啊? 光说别人?说说你自己吧。你学哪门语言的?逻辑乱成这样。你开个宝马,跑去说奔驰这不好那不好,然后开奔驰的反驳你,你又跟人家说不要因为偏爱奔驰,就失去理智。谁先开头的?谁失去理智了?开奔驰的说宝马不好了没?你这种人就是吃饱了撑的没事干的,不说你java学得怎样,我敢肯定你其它语言也不行。 1、智能说java字节码运行速度比C编译的本地代码慢,所谓效率,很大程度是看开发效率,C和Java能比吗,而且Java和C完全是应用在不同的世界的,为什么要这么比呢,别有居心2、体态臃肿看看.net,也小不了多少3、c/c++出现几十年了4、难道迷信面向对象一定正确?只要能有效地解决问题就可以,剩下的交给“理论家”去讨论吧5、弱智才会不使用已经有的良好的工具,而要自己编写,重复别人的劳动,这不是劳模6、门槛低,你说自己贱;门槛高,你说上手困难,晦涩难懂。你想怎么样,你到底想怎么样。7、使用广泛,谢谢夸奖,只是任何一个语言都想做到的,有几个能做到?总结,这些没有一条能站得主脚,讨论这些干吗,还是自己修练好内功,少说话,多做事! 3.Java 是 静 态 类 型 的 在 一 个 Java 程 序 中, 必 须 定 义 所 用 对 象 (数 字、 字 符、 数 组 等) 的 类 型。 这 有 助 于 编 程 人 员 很 快 发 现 问 题, 因 为 当 程 序 编 译 时 可 以 检 测 类 型 错 误。 不 过, Java 系 统 中 的 对 象 也 有 动 态 类 型。 要 求 一 个 对 象 为 动 态 类 型 往 往 是 可 能 的, 所 以 编 程 人 员 写 的 程 序 可 以 对 不 同 类 型 的 对 象 做 不 同 的 事。 静态类型安全性 很受用 其实语言的缺点本来不是问题,比尔·盖茨前辈有很长一段时间是使用BASIC语言的咩.我们更关注应该不是缺点而是优点,这10条中有的其实是优点,有的是夸大的缺点,有的是缺点但SUN在努力改进,最后两条无视咩.Java最大的优点是开源,全世界的Java使用者都在推动Java的进步,它的共享与跨平台特点目前没有什么语言能超越,而这种理念正逐渐深入人心. 没有任何一个语言可以用于所有领域,我认为java是一个好语言,它还有很长的寿命,但sun实在是一家失败的公司现在的程序员光会一两种语言已远远不够, .net和java都要会, .net比java简单得多,所以学好java和c++就是基础,再学其他的易如反掌!! ………………习惯就好了,更具项目决定用什么语言,每种语言都是自己的优点和长处,像我现在C/C++/JAVA都会~~~累啊~~~JAVA比另外两种好的地方就是,跨平台方面虚拟机帮你解决了,不少问题框架也帮你解决了…………你只用更多的去考虑你的业务过程,节省不少时间,但是不可避免的就是会浪费系统资源~~~楼主还是虚心多做几年吧,这样你就会知道不同语言的优缺点了~~~~现在的年轻人啊~~太急了~~~~ 看来你们都没有领会小平同志的重要指示呀,管它A语言B语言,能解决问题的就是好语言。整个公司都使用PHP的,我就不信你能把你的Python代码加进去。 头一次听说JAVA是抄袭C#的哈哈有史以来最大的笑话。那些罗列JAVA的缺点的人 恰恰的是根本不熟悉JAVA的所谓高手 可能我还是属于JAVA 盲,楼上的仁兄,无论是赞成还是反对都是有一定的经验上提出来的本身也是一种肯定 我提java的缺点是为了更好的利用java的优点,扬长避短,才能督促它走的更远。我没提java的优点,我难道就不知道java的优点吗?如果java看不到自己的缺点,从而不断改进,java还能走到现在吗?java新版本里的泛形、注释、脚本化等等,不都是后来不断加近来的吗?如果它没看到自己很多方面的不足,java 加入这么多语言特性干什么? 估计你看过 Thinking in C++ 吧,建议你看卡 Tinking in java .看完后你就知道Java是什么了,java与C++的优缺点在哪儿了。 1. 所有的框架都是基于几种基本的设计模式,几分钟就能搞明白的事情,你觉得不好选择或者不明白恐怕是因为对设计的理解不够2. 你做一个企业级应用看看,同时能在分布异构的平台上运行,至少目前没有比java更好的,如果你觉得.net好,也是因为它抄袭了JVM的思想3. 如果你实在要使用本地方法控制底层系统,用JNI就是了, 但现代的应用并不提倡这么做, 屏蔽异构的底层细节会节省大量的开发维护成本4. 是因为你对软件设计,面向对象的理解不够,所以才觉得困难5. 配置从来都是很简单的事情,不需要掌握,查一下手册就行了6. 需要记住所有的类吗? 那样还需要documnet干什么??7. 说白了,根源在于你对程序设计语言原理,面向对象没有深入的理解, 自己写的代码有问题还怪程序设计语言8. 你怎么定义敏捷??? 9. 完全说反了10. 世界上70%的程序员是用java的,社区相应也比其他的大 倒是觉得java的框架太多太杂 各种各样的配置文件 很杂 很烦 85楼啊,哈哈1、四人组总结数年才写出《设计模式》,你几分钟就看懂了,貌似你认为他们是白痴?2、貌似你理解错了一个概念,国外有名的电信等企业用的分布式都是c++和corba哦3、按照你的话,屏蔽底层这么好,c完全可以废除了4、按照你的意思,理解了面向对象,就可以学好java了?5、这条最搞笑了,我请问,你只要查手册就可以把所以实际应用中的配置都搞定吗?6、你难道不记都有哪些类吗,到时候用的时候再查吗?7、貌似你好象很理解了,那请问你精通了java?8、你连敏捷都不知道,还跟我讨论什么?9、你证明一下?10、哈哈,世界上70%都是java程序员吗,貌似根据最新调查,不是吧,也没有70%啊? 大部分不是缺点.1.不会看到有哪个技术经理会为这个问题头疼,他只会头疼能复用的太少.2."高"字的五笔和"低"很接近? 或者是只比较了毕业设计这一种情况?3.这是优点,同85楼.4.学习曲线一般用来比较汇编和高级语言咩.所有中高级语言的学习曲线没什么差别.5.Java只用配置环境变量. spring? EJB? 这也是语言的缺点咩? 可怜的Java.6.翻字典背E文单词,或者记类学Java,这和老外背新华字典学中文有区别么.7.Java的语法和C++没多大区别.8.敏捷和语言无关.9.James Gosling会伤心的.10.全体程序员都陪James Gosling去了,毕竟这话间接伤害了其他语言的社区. 争论语言的好坏简直就想是在争论PEPSI 和COCACOLA之间的区别一样. 1. 严重质疑你中文阅读理解的能力,我说的是掌握了基本的设计模式,几分钟就可以明白那些框架的组织,我说过我几分钟就看完 设计模式 这本书吗??2. 你似乎觉得C++和Corba是并列的东西, Corba本身就是为了屏蔽分布异构特性而有的跨语言标准3. 对于99%的软件公司,需要屏蔽底层,这就是为什么现在中间件这么广泛的被使用; 当然,如果你要写windows, linux, 当然C是最好的,不过,世界上写这些东西的程序员不到程序员总数的1%,大部分人开发商业应用4. 理解了面向对象, 学会java最多需要1周的时间5. 配置和语言特性无关,也不是你开发产品或者应用的主要时间,查手册当然可以搞定,你搞不定,使阅读理解的水平问题6. 精通不精通都是相对的, 思想比技术重要的多7. 我从来都不记,查一下javadoc很快,有的类用多了自然就记住了,这些只不过是些API,需要记吗?? 劝你省点大脑内存记记设计思想,算法 这些有用的东西吧8. 如果你说的敏捷是指agile method, 呵呵, 从来没听说过方法学要和语言挂钩的9. 请尊重事实10. 同上 说的好!!!!!JAVA有什么不好!!!。NET和JAVA互相抄袭对你有什么不好么?取人之短,补己之长!有什么不好啊!!! 感觉java最大的好处在于上手快,而且适合团队式的开发,符合现在软件开发的需求。 5、java封装的太多,是一种玩具语言,长期使用会变弱智。=======================================================支持这一点但就是这一点让很多老板喜欢它,开发周期快。Java不够底层,这是真的。但是做一些财务,ERP之类的软件的时候,如果程序员在考虑业务逻辑的时候还要去处理与硬件相关的问题,那他会疯掉的。C#刚开始抄袭了Java,可是SUN在搞JavaSE5的时候又返回来看看了C#,把它的优点加到Java身上。所以不能说谁抄了谁,这年头,互相学习嘛。在补充一句C#用久了也会傻。用了不会变傻的语言也就是像C/C++这样什么都要自己干的语言。 请教一个java预编译代码 小问题求助 JLabel显示图片的名称问题 io流中文件复制的问题 如果说我把书看完了,可以自己写东西了。我可以写东西在手机上运行吗? 求一个可以实现垂直或者方向分割3个组件的JSplitPane的实现 关于java的applet的问题 mysql驱动类notfound,怎么回事? 敢问:现在在上海搞电脑(指软件技术方面)哪一行/业最赚钱? 有一点点JAVA基础, 想成为J2EE开发员,请大家帮开一个读书清单 JAVA调用SQLSERVER2005存储过程,报错:该语句没有返回结果集 在线等!!! 求助:关于AIX UNIX中文乱码问题
不 是 绝 对 需 要 的 都 已 删 去 了。 例 如, Java 没 有 算 符 过 载、 标 题 文 件、
预 处 理、 指 针 运 算、 结 构、 联 合、 多 维 数 组、 模 板 及 隐 式 类 型 变 换。 如
果 你 知 道 一 点 C、 C++ 或 Pascal, 你 很 快 就 会 驾 驭 Java。 这 里 是 一 个 简 单 的 Java Hello World 程 序: public class HelloInternet {public static void main(String argv[]) {System.out.println(“Hello In-ternet!”)}}
2.Java 是 面 向 对 象 的 Java 是 一 种 面 向 对 象 的 编 程 语 言。 除 了 简 单 的 类 型, 如 数 字 和 布 尔 算
子 之 外, Java 中 的 大 部 分 都 是 对 象。 正 如 任 何 面 向 对 象 的 语 言 一 样, Java 代 码 也 按 类 组 织。 每 个 类 定 义 一
组 规 定 对 象 行 为 的 方 法。 一 个 类 可 以 继 承 另 一 个 类 的 行 为。 在 类 的
根 层 次 上, 通 常 是 类 对 象。 Java 支 持 单 继 承 类 层 次 结 构。 这 就 是 说, 每 个 类 一 次 只 能 继 承 一 个 别
的 类。 有 些 语 言 允 许 多 继 承 性, 但 这 可 能 造 成 混 乱, 使 语 言 不 必 要 地
复 杂 化。 例 如, 难 以 想 像, 一 个 对 象 会 继 承 两 个 完 全 不 同 的 类 的 行
为。 Java 还 支 持 摘 要 类 的 接 口。 这 允 许 编 程 人 员 先 定 义 接 口 的 方 法, 而 不
必 急 于 马 上 确 定 方 法 的 实 现。 一 个 类 可 以 施 行 多 个 接 口, 从 而 具 有
真 正 多 继 承 性 的 许 多 优 点。 一 个 对 象 也 可 实 施 任 意 数 量 的 接 口。 Java
接 口 与 IDL 接 口 极 其 相 似。 很 容 易 建 立 IDLJ 编 译 器。 这 就 是 说, Java 可
用 于 CORBA 对 象 系 统 来 建 立 分 布 式 对 象 系 统。 鉴 于 在 许 多 计 算 机 系 统
中 都 采 用 IDL 接 口 和 CORBA 对 象 系 统, 这 种 兼 容 性 是 重 要 的。 3.Java 是 静 态 类 型 的 在 一 个 Java 程 序 中, 必 须 定 义 所 用 对 象 (数 字、 字 符、 数 组 等) 的 类 型。
这 有 助 于 编 程 人 员 很 快 发 现 问 题, 因 为 当 程 序 编 译 时 可 以 检 测 类 型
错 误。
不 过, Java 系 统 中 的 对 象 也 有 动 态 类 型。 要 求 一 个 对 象 为 动 态 类 型 往
往 是 可 能 的, 所 以 编 程 人 员 写 的 程 序 可 以 对 不 同 类 型 的 对 象 做 不 同
的 事。 4.Java 是 编 译 型 的
当 运 行 Java 程 序 时, 它 首 先 被 编 译 成 字 节 代 码。 字 节 代 码 非 常 类 似 于
机 器 指 令, 所 以 Java 程 序 非 常 高 效。 然 而, 字 节 代 码 并 不 专 对 一 种 特
定 的 机 器, 所 以 Java 程 序 无 需 重 新 编 译 便 可 在 众 多 不 同 的 计 算 机 上
执 行。
Java 源 程 序 被 编 译 成 类 文 件, 它 相 当 于 程 序 的 字 节 代 码 表 现。 在 一 个
Java 类 文 件 中, 所 有 对 方 法 及 实 例 变 量 的 参 照 均 按 名 进 行, 并 在 第 一
次 执 行 代 码 时 加 以 分 辨。 这 使 得 代 码 更 通 用, 更 不 易 受 修 改 的 影 响,
而 仍 具 高 效。 5.Java 是 体 系 结 构 中 立 的
Java 语 言 对 每 种 计 算 机 都 一 样。 比 如, 简 单 的 类 型 都 是 不 变 的: 整 数
总 是 32 位, 长 整 数 总 是 64 位。 令 人 奇 怪 的 是, 诸 如 C 及 C++ 等 时 髦 的
编 程 语 言 却 不 是 这 样。 由 于 这 些 语 言 定 义 如 此 自 由, 每 种 编 译 器 及
开 发 环 境 便 各 有 不 同 了, 这 使 程 序 的 移 植 成 为 讨 厌 的 问 题。 Java 程 序
的 移 植 却 很 容 易, 而 且 不 需 要 进 行 重 新 编 译。
6.Java 是 健 全 的 Java 程 序 不 可 能 造 成 计 算 机 崩 溃。 Java 系 统 仔 细 检 测 对 内 存 的 每 次
访 问, 确 认 它 是 合 法 的, 而 且 不 致 引 起 任 何 问 题。
不 过, 即 使 Java 程 序 也 可 能 有 错 误。 如 果 出 现 某 种 出 乎 意 料 之 事, 程
序 不 会 崩 溃, 而 把 该 例 外 抛 弃。 程 序 会 发 现 这 类 例 外, 并 加 以 处 理。
传 统 的 程 序 可 以 访 问 计 算 机 的 全 部 内 存。 程 序 可 能 (无 意 识 地) 修 改
内 存 中 的 任 何 值, 这 就 会 造 成 问 题。 Java 程 序 只 能 访 问 内 存 中 允 许 它
们 访 问 的 那 些 部 分, 所 以 Java 程 序 不 可 能 修 改 不 拟 修 改 的 值。 7.Java 是 小 巧 的 由 于 Java 的 设 计 是 要 在 小 的 计 算 机 上 运 行, 作 为 一 种 编 程 语 言 来 说
其 系 统 是 相 对 较 小 的。 它 能 有 效 地 在 4MB 以 上 RAM 的 PC 机 上 运 行。 Java
翻 译 器 只 占 用 几 百 KB。 这 种 翻 译 器 对 Java 的 平 台 无 关 性 和 可 移 植 性
是 可 靠 的。 由 于 Java 很 小, 它 对 内 存 很 小 的 计 算 机, 如 基 于 Java 的 PC 机, 以 及 电
视 机、 烤 箱、 电 话 机 及 家 用 计 算 机 等, 是 很 理 想 的。 8.Java 是 多 线 程 的 Java 程 序 可 以 执 行 一 个 以 上 的 线 程。 比 如, 它 可 以 在 一 个 线 程 中 完 成
某 一 耗 时 的 计 算, 而 其 它 线 程 与 用 户 进 行 交 互 对 话。 所 以 用 户 不 必
停 止 工 作, 等 待 Java 程 序 完 成 耗 时 的 计 算。 在 多 线 程 环 境 中 的 编 程 通 常 是 困 难 的, 因 为 许 多 东 西 可 能 同 时 出
现。 但 是, Java 提 供 了 易 于 使 用 的 同 步 特 性, 使 编 程 更 为 方 便。
Java 线 程 通 常 被 映 射 为 实 际 的 操 作 系 统 线 程, 只 要 底 层 操 作 系 统 支
持 这 种 映 射。 因 此, 用 Java 写 的 应 用 程 序 可 说 是 “MP 热”。 这 就 是 说,
如 果 它 们 在 多 处 理 器 机 器 上 运 行, 它 们 更 将 表 现 不 凡。
9.Java 是 可 收 集 无 用 的 存 储 单 元 的
用 C 及 C++ 写 软 件 的 编 程 人 员 必 须 仔 细 跟 踪 所 用 的 内 存 块。 当 一 个 块
不 再 使 用 时, 他 们 务 必 让 程 序 释 放 它, 从 而 方 可 再 用。 在 大 的 项 目
中, 这 可 能 很 困 难, 并 往 往 成 为 出 错 和 内 存 不 足 的 根 源。 在 Java 的 情 况 下, 编 程 人 员 不 必 为 内 存 管 理 操 心。 Java 系 统 有 一 个 叫
做 “无 用 单 元 收 集 器” 的 内 置 程 序, 它 扫 描 内 存, 并 自 动 释 放 那 些 不
再 使 用 的 内 存 块。 10.Java 是 快 速 的 Java 比 典 型 的 脚 本 语 言 大 为 有 效, 但 它 比 C 慢 20 倍。 这 对 大 多 数 应 用
是 可 接 受 的。 不 久 的 将 来, 代 码 生 成 器 就 可 供 利 用 了, 这 将 使 Java 程 序 几 近 于 用 C
或 C++ 编 写 的 程 序 那 么 快。 11.Java 是 安 全 的 Java 程 序 没 有 指 针, 而 且 象 这 样 的 字 节 代 码 程 序 强 在 类 型 上, 所 以 在
执 行 之 前 它 可 能 验 证 Java 程 序。 被 验 证 的 Java 程 序 得 以 保 证 不 突 破
Java 语 言 的 任 何 限 制, 而 且 可 以 安 全 地 执 行。 Java 字 节 代 码 验 证 被
Web 浏 览 器 用 来 确 保 小 程 序 不 含 病 毒。 12.Java 是 可 扩 展 的 Java 程 序 可 与 用 其 它 语 言 编 写 的 现 存 程 序 库 连 接。 由 于 Java 数 据 结
构 与 C 的 数 据 结 构 的 类 型 极 为 相 似, 这 是 相 当 方 便 的。 最 大 的 问 题 在
于, 现 有 多 线 程 程 序 库 为 数 不 多。 Java 程 序 可 以 声 明 某 些 方 法 是 内 部 的, 然 后, 把 这 些 内 部 方 法 映 射 成
软 件 库 所 定 义 的 功 能, 从 而 动 态 地 链 接 到 虚 拟 机
2。 没有多重继承,更加purely object-oriented,
3。 类型检查更严格,C++里面指针可以强转的,java里面则要检查继承关系的树结构
4。 解释器运行,方便的跨平台,当然托管的C++或C#也可以在.net上这样,但思想是抄袭java的
2、java开发效率低
3、java对底层系统不能控制
4、java学习曲线陡
5、java配置太复杂,不容易掌握
6、java的类太多,记不过来
7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题
8、java不够敏捷
9、java抄袭c#
10、java社区支持不好
不过java还有待于提高
2、java开发效率低
3、java对底层系统不能控制
4、java学习曲线陡
5、java配置太复杂,不容易掌握
6、java的类太多,记不过来
7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题
8、java不够敏捷
9、java抄袭c#
10、java社区支持不好
~~~~~~~~~~~~~~~~~~~~~~~~~~
2、java开发效率低
开发效率低?
我怎么没看出来
2、java开发效率低
3、java对底层系统不能控制
4、java学习曲线陡
5、java配置太复杂,不容易掌握
6、java的类太多,记不过来
7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题
8、java不够敏捷
9、java抄袭c#
10、java社区支持不好
~~~~~~~~~~~~~~~~~~~~~~~~~~
这好象衣服都被脱光了一样
一无是处了
拯求JAVA下.
这里哪几条是不对的??!
编程思想先进一些。
C/C++是很牛,但对老板来说,请那样的程序员要的工资多,开发时间也长。
不经济。
用C/C++现在主要是做与硬件相关的东西了。
若为JAVA者,两者皆可抛.
C++更调皮,控制不了它,
c语言老大不小了,什么都要别人去做。
Java的调试是个老壳痛的问题,调试不到源代码,不晓得是浪个运行的.
java是做大事的,一般用在大型项目上吧,吃政府饭.
1,java跨平台是它最大的特点
2,java原来运行效率低,深受人们的质疑..但是现在随着jdk的升级,java运行越来越快
3,java主张开源的思想,如今很流行..哪像微软那么霸道......鄙视microsoft!~
4,java封装了好多底层的东西,很人性化....
5,c#是java的clone版,社会上好多人说c#是对java的取其精华,去其糟粕.....不无道理~!
6..........待续.~!..
java七宗罪:
1、java效率低,比C慢不是一点半点。
2、java现在体态臃肿,如果减肥可能会死得更快。
3、java已经10岁了,对于一个编程语言已经步入暮年。
4、java是面向对象和面向过程的混合体,不论不类。
5、java封装的太多,是一种玩具语言,长期使用会变弱智。
6、java门槛低,学的人杂,使得自己变贱了。
7、java的太广泛和频繁使用,反而失去了重心。
java中的很多内容在思想上和C++是一致的.比如JAVA中用接口来实现C++中的多继承功能等待.
就那么憎恶java??
那你为什么还要来这个java社区呢?
不过一直用。NET开发 人会傻掉的速度应该不是我们要考虑的问题而且 最重要的是 用什么语言已经不重要了 只要能解决问题
各有各的好,还是感觉JAVA 好。
2、java开发效率低 ---------------要的是后期的维护
3、java对底层系统不能控制 ---------------?????
、java学习曲线陡 ---------------?????
5、java配置太复杂,不容易掌握 ---------------为什么JAVA比NET工资高啊
6、java的类太多,记不过来 ---------------汗 写代码要记??
7、java某些语法晦涩,看上去简单,实际上复杂,运用会出问题 ---------------你还没理解精髓吧
8、java不够敏捷 ---------------??????????
9、java抄袭c# ---------------你知道不啊 那个抄袭那个啊
10、java社区支持不好 ---------------啊 啊 JAVA框架好像是社区搞起来的吧
不要说什么好不好,只要你自己用得好了,java是做大事的,可以无所不能,c++同样可以无所不能,c也可以,汇编也行,你叼,去用机器语言。
说这说那有屁用,哪种语言都有它的一席之地,适用最好。你说哪个不好,你会吗?你精通了吗?我看未必,你有什么资格说三道四?
请问C++多大了??
你说java copt C#
好像反了吧 。
这没有什么不好的。顺便接分。
java抄袭c#严重不同意,明明是java出现的早,明明是C#抄袭java,你有没有看书啊?
你学哪门语言的?逻辑乱成这样。你开个宝马,跑去说奔驰这不好那不好,然后开奔驰的反驳你,你又跟人家说不要因为偏爱奔驰,就失去理智。谁先开头的?谁失去理智了?开奔驰的说宝马不好了没?你这种人就是吃饱了撑的没事干的,不说你java学得怎样,我敢肯定你其它语言也不行。
1、智能说java字节码运行速度比C编译的本地代码慢,所谓效率,很大程度是看开发效率,C和Java能比吗,而且Java和C完全是应用在不同的世界的,为什么要这么比呢,别有居心2、体态臃肿看看.net,也小不了多少3、c/c++出现几十年了4、难道迷信面向对象一定正确?只要能有效地解决问题就可以,剩下的交给“理论家”去讨论吧5、弱智才会不使用已经有的良好的工具,而要自己编写,重复别人的劳动,这不是劳模6、门槛低,你说自己贱;门槛高,你说上手困难,晦涩难懂。你想怎么样,你到底想怎么样。7、使用广泛,谢谢夸奖,只是任何一个语言都想做到的,有几个能做到?总结,这些没有一条能站得主脚,讨论这些干吗,还是自己修练好内功,少说话,多做事!
这 有 助 于 编 程 人 员 很 快 发 现 问 题, 因 为 当 程 序 编 译 时 可 以 检 测 类 型
错 误。
不 过, Java 系 统 中 的 对 象 也 有 动 态 类 型。 要 求 一 个 对 象 为 动 态 类 型 往
往 是 可 能 的, 所 以 编 程 人 员 写 的 程 序 可 以 对 不 同 类 型 的 对 象 做 不 同
的 事。
静态类型安全性 很受用
其实语言的缺点本来不是问题,比尔·盖茨前辈有很长一段时间是使用BASIC语言的咩.
我们更关注应该不是缺点而是优点,这10条中有的其实是优点,有的是夸大的缺点,有的是缺点但SUN在努力改进,最后两条无视咩.Java最大的优点是开源,全世界的Java使用者都在推动Java的进步,它的共享与跨平台特点目前没有什么语言能超越,而这种理念正逐渐深入人心.
现在的程序员光会一两种语言已远远不够, .net和java都要会, .net比java简单得多,所以学好java和c++就是基础,再学其他的易如反掌!!
JAVA比另外两种好的地方就是,跨平台方面虚拟机帮你解决了,不少问题框架也帮你解决了…………你只用更多的去考虑你的业务过程,节省不少时间,但是不可避免的就是会浪费系统资源~~~楼主还是虚心多做几年吧,这样你就会知道不同语言的优缺点了~~~~
现在的年轻人啊~~太急了~~~~
整个公司都使用PHP的,我就不信你能把你的Python代码加进去。
哈哈
有史以来最大的笑话。
那些罗列JAVA的缺点的人 恰恰的是根本不熟悉JAVA的所谓高手
楼上的仁兄,无论是赞成还是反对
都是有一定的经验上提出来的
本身也是一种肯定
我没提java的优点,我难道就不知道java的优点吗?
如果java看不到自己的缺点,从而不断改进,java还能走到现在吗?
java新版本里的泛形、注释、脚本化等等,不都是后来不断加近来的吗?
如果它没看到自己很多方面的不足,java 加入这么多语言特性干什么?
建议你看卡 Tinking in java .看完后你就知道Java是什么了,java与C++的优缺点在哪儿了。
1. 所有的框架都是基于几种基本的设计模式,几分钟就能搞明白的事情,你觉得不好选择或者不明白恐怕是因为对设计的理解不够
2. 你做一个企业级应用看看,同时能在分布异构的平台上运行,至少目前没有比java更好的,如果你觉得.net好,也是因为它抄袭了JVM的思想
3. 如果你实在要使用本地方法控制底层系统,用JNI就是了, 但现代的应用并不提倡这么做, 屏蔽异构的底层细节会节省大量的开发维护成本
4. 是因为你对软件设计,面向对象的理解不够,所以才觉得困难
5. 配置从来都是很简单的事情,不需要掌握,查一下手册就行了
6. 需要记住所有的类吗? 那样还需要documnet干什么??
7. 说白了,根源在于你对程序设计语言原理,面向对象没有深入的理解, 自己写的代码有问题还怪程序设计语言
8. 你怎么定义敏捷???
9. 完全说反了
10. 世界上70%的程序员是用java的,社区相应也比其他的大
1、四人组总结数年才写出《设计模式》,你几分钟就看懂了,貌似你认为他们是白痴?
2、貌似你理解错了一个概念,国外有名的电信等企业用的分布式都是c++和corba哦
3、按照你的话,屏蔽底层这么好,c完全可以废除了
4、按照你的意思,理解了面向对象,就可以学好java了?
5、这条最搞笑了,我请问,你只要查手册就可以把所以实际应用中的配置都搞定吗?
6、你难道不记都有哪些类吗,到时候用的时候再查吗?
7、貌似你好象很理解了,那请问你精通了java?
8、你连敏捷都不知道,还跟我讨论什么?
9、你证明一下?
10、哈哈,世界上70%都是java程序员吗,貌似根据最新调查,不是吧,也没有70%啊?
大部分不是缺点.
1.不会看到有哪个技术经理会为这个问题头疼,他只会头疼能复用的太少.
2."高"字的五笔和"低"很接近? 或者是只比较了毕业设计这一种情况?
3.这是优点,同85楼.
4.学习曲线一般用来比较汇编和高级语言咩.所有中高级语言的学习曲线没什么差别.
5.Java只用配置环境变量. spring? EJB? 这也是语言的缺点咩? 可怜的Java.
6.翻字典背E文单词,或者记类学Java,这和老外背新华字典学中文有区别么.
7.Java的语法和C++没多大区别.
8.敏捷和语言无关.
9.James Gosling会伤心的.
10.全体程序员都陪James Gosling去了,毕竟这话间接伤害了其他语言的社区.
1. 严重质疑你中文阅读理解的能力,我说的是掌握了基本的设计模式,几分钟就可以明白那些框架的组织,我说过我几分钟就看完 设计模式 这本书吗??
2. 你似乎觉得C++和Corba是并列的东西, Corba本身就是为了屏蔽分布异构特性而有的跨语言标准
3. 对于99%的软件公司,需要屏蔽底层,这就是为什么现在中间件这么广泛的被使用; 当然,如果你要写windows, linux, 当然C是最好的,不过,世界上写这些东西的程序员不到程序员总数的1%,大部分人开发商业应用
4. 理解了面向对象, 学会java最多需要1周的时间
5. 配置和语言特性无关,也不是你开发产品或者应用的主要时间,查手册当然可以搞定,你搞不定,使阅读理解的水平问题
6. 精通不精通都是相对的, 思想比技术重要的多
7. 我从来都不记,查一下javadoc很快,有的类用多了自然就记住了,这些只不过是些API,需要记吗?? 劝你省点大脑内存记记设计思想,算法 这些有用的东西吧
8. 如果你说的敏捷是指agile method, 呵呵, 从来没听说过方法学要和语言挂钩的
9. 请尊重事实
10. 同上
。NET和JAVA互相抄袭对你有什么不好么?取人之短,补己之长!有什么不好啊!!!
=======================================================
支持这一点
但就是这一点让很多老板喜欢它,开发周期快。Java不够底层,这是真的。
但是做一些财务,ERP之类的软件的时候,如果程序员在考虑业务逻辑的时候还要去处理与硬件相关的问题,
那他会疯掉的。C#刚开始抄袭了Java,可是SUN在搞JavaSE5的时候又返回来看看了C#,把它的优点加到Java身上。
所以不能说谁抄了谁,这年头,互相学习嘛。在补充一句C#用久了也会傻。用了不会变傻的语言也就是像C/C++这样什么都要自己干的语言。