1 平时工作中,同样工作8小时,高手效率和认识深度要比一般人高很多,
原因: a) 学习习惯好 b) 基础好 c) 学习方法
a) 学习习惯好:
官网,API文档是学习新东西的入门神器,同时百度(google在国内打不开了)是深入学习的最佳获取源
b) 基础好:
数据结构,编译原理,某一门语言的深入理解(可以触类旁通的快速学习别的语言和框架),
常用算法(http://www.kaikeba.com/) 还有E文
这些都是慢功夫,需要持续追加精力来学习,没有一蹴而就的事
c)学习方法:
1 RSS收集器来订阅博客 2 InfoQ国内外同步最新技术 iteye c博客等技术论坛
3 付费/免费视频 4 动手 写文章 在动手 在写文章总结
关于架构设计:
这个框架是什么东西
有哪些特点
适用于哪些业务场景
框架之间的搭配
脑子中有一套设计架构,不合适时知道去改哪里
2 学习语言,精通一门,eg: 精通Java内存模型,在看别的语言内存,基本是一样的,好比学会了捷达,切换到
爱丽舍,是不需要很大磨合的。
3 计算机语言发展史:
4 SUN和Java发展:
SUN: Stanford University Netword,
斯坦福大学和硅谷,Google,Facebook等有着千丝万缕的联系,
SUN公司也开发了Java这套语言(SUN后来被Oracle收购),最开始这套语言是作为SUN公司的一个Green项目
Green项目的应用环境:像电视盒子这样的消费电子产品,需要一套语言中立,跨平台使用,
JAVA 之父是 James Gosling
后来基于Java的后续发展,同时遇到了1998互联网爆发式发展(互联网的发展是指数级别, 传统行业发展是百分比一点点增长),互联下需要一个中立跨平台都能解释运行的一门语言,因此Java大卖。
由此可见, 成功是需要提前准备和机遇的。
5 Java各种爹:
6 java 版本体系:
7 JVM简介:
8 Java注释和编译运行:
Java代码中的注释信息在编译时会被清理掉,编译后的字节码文件没有任何注释。
9 为何国际通用unicode字符集:
一个Unicode字符集占2个字节,
即 2的16次方= 256*256 = 65536,
英文24个字母,汉字2W多个汉字,这6W多的范围足够表示世界上所有的字符,因此使用占2个字节长度的
Unicode编码作为国际通用标准。
9 为何Java是强数据类型:
Java应用范围很广,从服务器到个人PC到手持设备,有的对内存要求宽泛有的则苛刻,
定义成强类型是为了便于开发人员在不同环境下做选择。
10 浮点数并不能精确的表示小数,是有舍入误差的,尽量避免比较中使用浮点数, 如果需要进行
不产生误差的精确数字计算,需要使用 BigDecimal, 而如果针对大数据整型做比较要用BigInteger
11 向上转型时, 指的是表述的范围的向上,而不是字节长度向上
13 生成Javadoc做法:
1 代码中需要用 /** 方式注释 2 使用参数@param @return等参数
2
工程右键/ 如下图,一路next即可生成 当前工程对应javadoc的html格式说明文档:
14 为何静态方法 不能使用非静态变量:
1 静态方法放在内存方法区
2 非静态变量(类变量)只有在new出来后 放在堆内存中
这两者不在同一区域中,够不到,因此访问不了
15 面向对象编程的本质:
以类的方式组织代码,以对象方式封装数据。
面向对象和面向过程:
老蒋和老毛思维, 一个面向过程,后者面向对象,面向对象下,后期整合非常方便,
面向过程下,老蒋总是坐着飞机飞来飞去指导每一步骤
16 java 单继承:
单继承利于构建继承树, 分析类之间关系, 维护类之间关系。
国企和公务员就是多继承关系,领导有好几个
外企就是单继承关系。 比尔盖茨是没权利指挥不是自己直属手下人干活,比如扫地工,也没有权利开除
部队也是单继承关系。
17 this, super参数:
this, super参数:
1 只会出现在非静态方法中
2 在非静态方法的形参中会默认含有次参数,隐形参数
public void study(this,super) { // 这个this指向 new出对象的内存地址, super也是隐形参数 被默认传递
this.name = name;
}
this使用案例2: 如何辨别调用方法是子类自己还是父类:
public class HttpServlet { public void service(){ System.out.println("HttpServlet service()"); doGet(); } public void doGet(){ System.out.println("HttpServlet doGet()"); } } public class MyServlet extends HttpServlet { public void doGet(){ System.out.println("MyServlet doGet()"); } public static void main(String[] args) { HttpServlet servlet = new MyServlet(); /** * 在调用时, 都会带隐含形参(this, super), 执行下面方法时,进入到父类方法 * public void service(this,super){ System.out.println("HttpServlet service()"); doGet(); ----> this.doGet(); 因为这里的this是new MyServlet() 因此最后调用方法为 MyServlet的doGet() } */ servlet.service(); } }
18 三大特性:
继承: is a has a 方式来区别于 组合
封装: public protected default private 实现访问权限的限制
多态: 相当于现实生活中的 说一套 做另一套,比如美国对于钓鱼岛问题,含糊,真正出事时该帮日本还是帮日本; 多态仅仅是方法多态
相关推荐
尚硅谷_陈鑫_JavaSE_【Java概述、环境搭建、标识符、变量、基本数据类型】.md
这个名为"javase_day04_v1_pm_all.zip"的压缩包文件显然是一个教学资源集合,旨在帮助学习者巩固和深化Java SE(标准版)的知识。"day04"的命名可能意味着这是连续课程中的第四天内容,通常涵盖了一些基本概念的深入...
《Core Java SE.zip》是一个包含了Java SE(标准版)API文档的压缩文件,主要针对2017年的版本。这个文档是Java开发者的重要参考资料,它详细介绍了Java SE平台中的类库、接口和方法,帮助程序员理解和使用Java进行...
JavaSE(Java Standard Edition)是Java平台的基础,它主要用于开发桌面应用程序。JavaEE(Java Enterprise Edition),也称为Java EE,是Java平台的企业版,专为构建企业级分布式应用系统而设计。JavaME(Java ...
12. **Java SE**:"Java in JavaSE"标签表明这本书主要关注的是Java标准版(Java SE),涵盖了Java桌面应用开发所需的所有核心知识。 《Thinking in Java》不仅适合初学者,也对有经验的开发者有着很高的参考价值,...
在"VIP09_JavaSE_JavaIO_File_day0307-1.rar"这个压缩包中,我们可以预想它包含的是一个关于Java IO和File类的课程或教程的第三天第七节的内容。下面,我们将深入探讨Java IO和File类的相关知识点。 1. **Java IO...
JavaSE,全称为Java Standard Edition,是Java编程语言的核心部分,主要用来开发桌面应用程序。它提供了丰富的类库和API,让开发者能够构建高效、可移植的软件。在JavaSE中,"基础"涵盖了许多关键概念,包括但不限于...
JavaSE,全称为Java Standard Edition,是Java平台的核心部分,主要面向桌面应用和服务器端开发。这个编程资料包涵盖了JavaSE的学习资源,旨在帮助开发者掌握Java的基础知识、集合框架、IO流等关键概念。 首先,...
在Java标准版(JavaSE)中,I/O操作是处理文件和数据的重要方式之一。本篇主要介绍Java中的IO操作中的类层次结构以及缓冲流的使用。 #### 类层次结构 Java IO体系主要通过一系列抽象类和接口构建而成,形成了丰富...
Java是一种由SUN公司在1995年推出的高级编程语言,最初命名为Oak。它以其在Web应用程序中的广泛应用而著名,特别适合互联网编程,具备安全、可靠和面向对象的特性。Java的重要特点是其跨平台性,这得益于Java虚拟机...
JavaSE_柴林燕_阶段11主要涵盖了Java语言的基础知识和历史发展,以及Java语言在业界的地位。Java作为一种广泛使用的编程语言,尤其在应用软件领域,与.NET平台相抗衡。TIOBE指数反映了Java的流行程度,是衡量开发者...
JavaSE(Java Standard Edition)是Java编程语言的核心部分,用于开发和部署桌面应用程序。JDK(Java Development Kit)是Java编程的工具集,包含了编译器、运行环境、调试工具和API文档等必要组件。本资源"JavaSE_...
java的基本概念以及介绍
Java语言进阶_javase_这部分的学习涵盖了Java标准版(Java SE)的高级特性,主要集中在类、流、文件操作和数据结构等多个方面。以下是对这些主题的详细解释: 1. **Object类**:所有Java类都直接或间接继承自Object...
JavaSE(Java Standard Edition)是Java开发平台的一个版本,主要针对桌面应用和服务器端应用程序的开发。J2SE(Java 2 Platform, Standard Edition)是JavaSE早期的称呼,5.0是其一个重要的版本发布,它在Java发展...
JavaSE是Java标准版,它是Java开发的基础,涵盖了面向对象编程、集合框架、网络编程、I/O流等核心概念。在JavaSE中,线程是一个非常重要的知识点,它关乎程序的并发执行,使得多任务处理成为可能。在这个“JavaSE_...
【MLDN_JAVASE_文档】是一份针对Java SE(标准版)的全面学习资源,由MLDN(可能是指微软学习网络或类似的教育平台)提供。这个文档集合旨在帮助初学者和进阶者掌握Java编程语言的基础知识。Java SE是Java平台的核心...
【ATM_javase_】项目是一个以Java SE(标准版)为开发平台,用于学习基础编程和理解面向对象设计的实例。这个简单的ATM机模拟程序涵盖了Java语言的核心概念和面向对象编程的关键要素,是初学者提升技能的理想实践...
JavaSE(Java Standard Edition)是Java平台的核心部分,主要用于桌面应用程序的开发。在这个"JavaSE_01 源代码"压缩包中,我们很显然会发现一系列与Java基础编程相关的源代码文件,这些文件通常位于`src`目录下。这...