向Java API看齐

wwblqpd 2011-02-28 05:47:26
偶然看到一篇帖子《学了8年Java为何还是个门外汉》,很有感触!
回头想想,自己学Java也有些年头了,我也是个门外汉!
有人说学SSH,
有人说学JAVA设计模式,灵活的设计与开放接口设计,
也有人说会集群, 会JTA JMS JDNI 集成 规则引擎,搜索引擎。
要我说,学Java API吧!
有多少API我还没有看过!
看看java.util.concurrent这个包下的API,你会多少?
看看java.security 这个报下的API,你又理解多少?
看着Spring的AOP,我无限崇拜!深入源代码,我看到了cglib、ASM,再读一下这些源代码,我对Java API五体投地!
看看Java的Object类,我恐怕一辈子都没法超越!(即便我自己开发编程语言)
...全文
216 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianchenjie 2012-07-18
  • 打赏
  • 举报
回复
说的都不错,对我这个新手有启发意义~
-AJ- 2012-07-18
  • 打赏
  • 举报
回复
星星云集啊。。。
蓝色小棉袄 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

这三样中的东西非常多,基本上就是 Java 的核心所在。


多线程(multi-threading and concurrent)

1:关键词:volatile, sychronized

2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#no……
[/Quote]
慢慢理解。。。。有点晕了。。。。
Darling_sheep 2011-03-01
  • 打赏
  • 举报
回复
API果然是学习Java最好的教材,早就听说火龙果是论坛里面的红人牛人,希望能多多赐教!
soli11722984 2011-03-01
  • 打赏
  • 举报
回复
果子。。。。给点关于安全的文章来。。。。。。
我嘞个去 2011-03-01
  • 打赏
  • 举报
回复
龙果兄总是这么给力。
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 is_lie 的回复:]
总结的很好。。。给你一面小红旗。。
[/Quote]

我没看到小红旗
xianyu119 2011-03-01
  • 打赏
  • 举报
回复
顶个!!!
handsome_huxiulei 2011-03-01
  • 打赏
  • 举报
回复
楼上的楼上 强人
is_lie 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bao110908 的回复:]
这三样中的东西非常多,基本上就是 Java 的核心所在。


多线程(multi-threading and concurrent)

1:关键词:volatile, sychronized

2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#not……
[/Quote]
总结的很好。。。给你一面小红旗。。
aotian16 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bao110908 的回复:]

这三样中的东西非常多,基本上就是 Java 的核心所在。


多线程(multi-threading and concurrent)

1:关键词:volatile, sychronized

2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#no……
[/Quote]
杯具,我果然不懂java,兄弟你可以出個系列文章
runer 2011-02-28
  • 打赏
  • 举报
回复
认识的一个高高手

早就摆脱了语言和框架的限制

自己开发了一套平台,所做的各种软件都是基于自己的平台来做

任你外面各种语言,各种框框层出不穷,我自岿然不动

反正也知道自己在中国一辈子摆脱不了做工程软件的命运了

那就早领悟,早得道,早解脱了
  • 打赏
  • 举报
回复
上面这些是我总结了一下的东西,希望对大家有一定的帮助 :)
  • 打赏
  • 举报
回复
这三样中的东西非常多,基本上就是 Java 的核心所在。


多线程(multi-threading and concurrent)

1:关键词:volatile, sychronized

2:传统的线程 API:java.lang.Thread, java.lang.Runnable, java.lang.ThreadGroup, Object#wait, Object#notify, Object#notifyAll

3:JDK 5 并发包(java.util.concurrent)API:线程池、执行器、信号量、倒计数门闩、并发集合(并发 Map,阻塞队列等)、原子 API(java.util.concurrent.atomic)、锁 API(java.util.concurrent.lock)

4:同步锁策略:自旋锁、分离锁、分拆锁、可重入锁、读写锁、锁的公平性等

涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。


网络(network communication)

1:阻塞 TCP 通信、阻塞 UDP 通信、组播
2:非阻塞 TCP 通信、非阻塞 UDP 通信
3:客户端通信 API(java.net.URL, java.net.URLConnection 等类库)

涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。


安全(security, cryptography and AAA)

1:Java 加密类库 JCA
2:Java 加密类库扩展 JCE
3:涉及密码学知识点的消息摘要、消息认证码、对称加密、非对称加密、数字签名
4:涉及网络通信证书管理工具(keytool)及 API
5:基于 SSL/TLS 的安全网络通信 API(JSSE)。阻塞 SSL 通信和非阻塞 SSL 通信
6:Java 认证及授权服务(JAAS)API

涉及安全的东西都在:

java.security(JCA、JCE、数字证书、SPI)
javax.net(SSL/TLS)
javax.security(JAAS)
javax.crypto(密码学)
keytool 的 JDK 工具
  • 打赏
  • 举报
回复
Java 中的三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全)

还有一个网络在 java.net、javax.net 中,呵呵

掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。

PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿
Acesidonu 2011-02-28
  • 打赏
  • 举报
回复
能解决问题就行
runer 2011-02-28
  • 打赏
  • 举报
回复


想起这么多年做设计,做开发

很多很多重复的动作,受限于现实的无奈

被客户牵着鼻子走,能力和技术,越来越流于形式

越来越工具化,越来越急功近利

事物的本质,越来越没有兴趣和精力去探究

很多时候都一味留恋表面的华丽,享受着虚幻的成就感。

就像CSDN上别人给了我一分,也会高兴大半天

何苦呢
runer 2011-02-28
  • 打赏
  • 举报
回复
JAVA API博大精深

自己一个人不能把所有的东西都熟悉

但java api虽然庞杂,却有其内部的设计准则和规律

掌握这些结构性的东西,api虽然多,却可以触类旁通,一通百通

我们的目的不是做字典,而是知道解决问题的办法

做的是工程的学问

dinghun8leech 2011-02-28
  • 打赏
  • 举报
回复
理论上实现一个目的,是没有所谓的最优写法、最优算法的。
只要有自信,肯动手,肯定会有所收获。
有兴趣的可以多研究开源项目,日后有进入这些项目团队的机会。
龙四 2011-02-28
  • 打赏
  • 举报
回复
泛,不如某方面精,包括业务
加载更多回复(1)
简介 黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别 如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备的 UI 通常是基于 HTML 的,可通过 PC 或 Mac 浏览器查看。但并不是每个设备都需要通过一个常规的计算设备来控制。想象一下传统的家用电器,例如电炉、微波炉或面包机。如果您的家用电器由 Android 控制,并且有一个彩色触摸屏,会怎么样?如果电炉上有一个 Android UI,那么操控者甚至可以烹饪点什么东西。 在本文中,了解 Android 平台,以及如何将它用于移动和非移动应用程序。安装 Android SDK,并构建一个简单的应用程序。下载 本文中的示例应用程序的源代码。 -------------------------------------------------------------------------------- 回页首 Android 简史 Android 平台是 Open Handset Alliance 的成果,Open Handset Alliance 组织由一群共同致力于构建更好的移动电话的公司组成。这个组织由 Google 领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。从软件开发的观点看,Android 正处在开源领域的中心位置。 市场上第一款支持 Android 的手机是由 HTC 制造并由 T-Mobile 供应的 G1。这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的 SDK 发行版。随着 G1 发行日的临近,Android 团队发布了 SDK V1.0,用于这个新平台的应用程序也浮出水面。 为了鼓励创新,Google 举办了两届 “Android Developer Challenges”,为优胜的参赛作品提供数百万美金的奖励。G1 问世几个月之后,随后就发布了 Android Market,它使用户可以浏览应用程序,并且可以将应用程序直接下载到他们的手机上。经过大约 18 个月,一个新的移动平台进入公众领域。 -------------------------------------------------------------------------------- 回页首 Android 平台 Android 有丰富的功能,因此很容易与桌面操作系统混淆。Android 是一个分层的环境,构建在 Linux 内核的基础上,它包括丰富的功能。UI 子系统包括: •窗口 •视图 •用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件 Android 包括一个构建在 WebKit 基础上的可嵌入浏览器,iPhone 的 Mobile Safari 浏览器同样也是以 WebKit 为基础。 Android 提供多种连接选项,包括 WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如 GPRS、EDGE 和 3G)。Android 应用程序中一项流行的技术是链接到 Google 地图,以便在应用程序中显示地址。Android 软件栈还提供对基于位置的服务(例如 GPS)和加速计的支持,不过并不是所有的 Android 设备都配备了必需的硬件。另外还有摄像支持。 过去,移动应用程序努力向桌面应用程序看齐的两个领域分别是图形/媒体和数据存储方法。Android 通过提供对 2D 和 3D 图形的内置支持,包括 OpenGL 库,解决了图形方面的挑战。由于 Android 平台包括流行的开源 SQLite 数据库,因此缓解了数据存储的负担。图 1 显示一个简化的 Android 软件层次结构。 图 1. Android 软件层次结构 -------------------------------------------------------------------------------- 回页首 应用程序架构 如前所述,Android 运行在 Linux 内核上。Android 应用程序是用 Java 编程语言编写的,它们在一个虚拟机(VM)中运行。需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Mach

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧