惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
S
SegmentFault 最新的问题
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
F
Fortinet All Blogs
TaoSecurity Blog
TaoSecurity Blog
D
Docker
C
Cybersecurity and Infrastructure Security Agency CISA
K
Kaspersky official blog
宝玉的分享
宝玉的分享
腾讯CDC
Google Online Security Blog
Google Online Security Blog
Recorded Future
Recorded Future
T
The Exploit Database - CXSecurity.com
T
The Blog of Author Tim Ferriss
V
V2EX
S
Securelist
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
Y
Y Combinator Blog
P
Proofpoint News Feed
T
Tor Project blog
AWS News Blog
AWS News Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
博客园 - 聂微东
T
Threat Research - Cisco Blogs
B
Blog
Attack and Defense Labs
Attack and Defense Labs
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
N
News and Events Feed by Topic
博客园 - 司徒正美
H
Help Net Security
C
Cisco Blogs
C
Check Point Blog
S
Secure Thoughts

博客园 - Iceting

性能分析工具 TapTap推广统计逻辑 广告推广测试 背压(Backpressure)机制 工作相关资料 ElasticSearch问题记录 bfrd collector性能排查 Ubuntu13.10下安装HADOOP Hadoop各商业发行版之比较 linux编程学习顺序 作为程序员,你最常上的网站是什么 Java 学习 swing 应该学习到什么程度? Java中的字符串 2012—IT职场繁荣重现 Best Practices for Exception Handling 散列表(哈希表)(四)散列表上的运算 散列表(哈希表)(二)散列函数的构造方法 散列表(哈希表)(三)处理冲突的方法 散列表(哈希表)(一)散列表的概念
JAVA学习之路
Iceting · 2013-03-29 · via 博客园 - Iceting

首先你确定你要进入Java开发?决定学习Java是要下很大决心的,因为Java技术的世界是个无底洞,永远也学不完,不废话了,我就简单的说一下自己的看法(偏重Java方面,什么html、css、js之类的会点就行):
1.Java Core,就是Java基础、jdk的类库,很多童鞋都会说,jdk我懂,但是懂还不足够,知其然还要知其所以然,jdk的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了

2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细

3.I/O,Socket编程,首先要熟悉java中socket编程,以及I/O包,再深入下去就是Java NIO,再深入下去是操作系统底层的socket实现,了解windows和linux中是怎么实现socket的

4.JVM的一些知识,不需要熟悉,但是需要了解,这是Java的本质,可以说是Java的母体, 眼界会更宽阔,比如Java内存模型(会对理解Java锁、多线程有帮助)、字节码、JVM的模型、各种垃圾收集器以及选择、JVM的执行参数(优化JVM)等等,这些只是在<深入Java虚拟机>这本书中都有详尽的解释,或者去oracle网站上查看具体版本的JVM规范.

5.一些常用的设计模式,比如单例、模板方法、代理、适配器等等

6.常用数据库(Oracle、Mysql等)、SQL语句

7.JavaWeb开发的框架,比如ibatis、spring、struts等框架,同样他们的原理才是最重要的,一定搞清楚

8.其他一些开源框架和包,netty网络框架,apache common的N多包等等

暂时想到的就这么多吧,1-4条是Java基础,全部的这些知识没有一定的时间积累是很难搞懂的,但是了解了之后会对Java有个彻底的了解,5和6是需要学习的额外技术,7-8是都是基于1-4条的,正所谓万变不离其宗,前4条就是Java的灵魂所在,希望能对你有所帮助

1,大局观。不能拘泥于某些业务逻辑,陷入一些修bug 的工作中。用一种更远的眼光去看待网站,业务发展,如何构建这个网站能做到高可用,承受高并发访问,同时具有高可扩展性呢?

2,注重细节。现代的硬件发展得比较快,价格也随之下降,掩盖了很多问题。一些有技术含量的点,被一些不是太昂贵的硬件解决了,可能也就不再深入研究了。架构师的作用,就是用技术的方式,廉价的硬件,去取胜。当然,在当前发展如此迅猛的互联网,一开始,肯定是花钱解决问题的。当花钱也解决不了问题的时候,架构师就要出场了。前提是,要有钱去度过那个时期。如何体现出架构师的不同,细节是关键。小至一个TCP 包,也是架构师关心的内容。有没有想过,实现自己的私有协议,修改MTU ,减少TCP split 来优化网络呢?

3,通晓软硬件。当人们面对传统硬盘的IO 问题发愁是,SSD 似乎改变了人们的思考方向,貌似改变了一些想法。但SSD 还没让大众完全接受,FusionIO 的横空出世再次改变了人们的想法。怎么让当前的网站完成使用上当前的硬件的资源呢?怎么让新的硬件技术应用在新的网站应用上呢?

4,理解技术原理。一个人的精力总是有限的,不可能说既有大局观,又能把很多时间投入到编程中,还通晓各类语言。语言只是工具,可能所有语言都能用来解决一种问题,区别在于,哪个语言解决得更快,更优雅,更高性能。架构师必须理解原理性的东西,首先是用原理去解决问题,然后具体实施方案。但是,要有这种积累,也是需要沉淀很长时间的。

5,对待新技术的态度。平时肯定要不断地学习各种经验和国外的新技术,同时要有自己对待的思考,不是所有的成功案例都适合自己,不是所有的成功案例都是正确的。看到新技术,不能故步自封,在保证不影响当前业务的情况下,大胆尝试,在别人的基础上,尝试下自己的创新。