java基础篇 java基础 目录 1.java是一种什么语言,jdk,jre,jvm三者的区别 2.java 1.5之后的三大版本 3.java跨平台及其原理 4.java 语言的特点 5.什么是字节码,字节码的好处 6.java 和 c++ 的区别 7.java的三大特性 8.java中的基本数据类型和引用数据类型及其区别 9.switch(expr),expr支持哪些数据类型 10.int 和 Integer 有什么区别,怎么理解自动拆箱,自动装箱 11.计算2^3效率最高的方法是 12.…
这是Java基础篇(JVM)的第二篇文章,紧接着上一篇字节码详解,这篇我们来详解Java的类加载机制,也就是如何把字节码代表的类信息加载进入内存中. 我们知道,不管是根据类新建对象,还是直接使用类变量/方法,都需要在类信息已经加载进入内存的前提下.在Java虚拟机规范中,类加载过程也就是类的生命周期包括7个部分:加载.验证.准备.解析.初始化.使用.卸载.不过我们先不写这几个阶段,先讲讲类加载器的知识,然后再来看具体的类加载过程. 1. 类加载器 关于类加载器,我主要关注两个方面,一是类加载器的…
这是Java基础篇(JVM)的第一篇文章,本来想先说说Java类加载机制的,后来想想,JVM的作用是加载编译器编译好的字节码,并解释成机器码,那么首先应该了解字节码,然后再谈加载字节码的类加载机制似乎会好些,所以这篇改成详解字节码. 由于Java纯面向对象的特性,字节码只要能表示一个类的信息,就可以表示整个Java程序了,JVM只要能加载一个类的信息,就能加载整个程序了.所以,不管是字节码,还是JVM加载机制,关注点都是在类.我关注的点主要在于: 1. 由于字节码不是一次性全部加载进入内存,那么…
java基础篇---I/O技术   对于任何程序设计语言而言,输入输出(I/O)系统都是比较复杂的而且还是比较核心的.在java.io.包中提供了相关的API. java中流的概念划分 流的方向: 输入流:数据源到程序(inputStream,Reader读进来) 输出流:程序到目的地(OutPutStream,Writer写出去) 处理数据单元: 字节流:按照字节读取数据(InputStream,OutputStream) 字符流:按照字符读取数据(Reader,Writer) 功能不同 节点…
Java基础篇: 题记:本系列文章,会尽量模拟面试现场对话情景, 用口语而非书面语 ,采用问答形式来展现.另外每一个问题都附上“延伸”,这部分内容是帮助小伙伴们更深的理解一些底层细节的补充,在面试中可能很少直接涉及,权当是提高自身水平的知识储备吧. 第一部分:java容器相关 1.问:List 和 Set 都有什么区别? 分析:这种问题面试官一般想考察的都是你对这两种数据结构的了解,已经使用时候的选择依据,所以可以从数据结构和一些使用案例入手分别做个介绍 答:List,列表,元素可重复.常用的实…
Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成了一种关系体系.例如公司中的研发部员工,运维部员工,人事部员工都属于员工,程序中便可以描述为研发部员工和维护部员工继承自员工,同理,JavaEE工程师和Python工程师继承自研发部员工,而网络运维工程师和系统运维工程师继承自维护部员…
java基础-引用数据类型之一维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的定义 1>.为什么需要数组 保存一个数据可以定义一个变量,如果要保存一个班级的100多名同学的成绩,是否要定义100多个变量呢?其实在Java中可以通过定义一个变量来保存这100多个同学的成绩,而保存这么100多个学生成绩的载体就是数组. 2>.数组的概念 数组是同一种数据类型的集合,可以是基本数据类型,也可以是引用数据类型.变量就是内存中的一块存储空间,数据就是内存…
JAVA基础篇1 注释 单行注释 //这是一个单行注释,由两个斜杠组成,不能嵌套多行注释 多行注释 /*这是一个 多行注释 ,//里面不能嵌套多行注释, 但是可以嵌套单行注释*/ 文档注释 /**javadoc:文档注释 *有功能,@ */ 标识符和关键字 关键字: 标识符命名规则: 所有标识符都应该以大小写字母,美元符($),下划线(_)开始: 首字母之后可以是大小写字母,美元符,下划线或数字的任何字符组合: 不能用关键字作为变量名和方法名: <阿里巴巴Java开发手册>编写程序时可以用来参…
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时,不能指定其长度.不同于C 数组的小标可以是整型常量或整型表达式. .length方法是显示数组的长度:数组.length;String.length();一个是属性,一个是方法.注意区分. 2.数组的内存分析? Array a[]; a = new Integer(15); /*这个a在栈中,在堆…
java基础篇---HTTP协议   HTTP协议一直是自己的薄弱点,也没抽太多时间去看这方面的内容,今天兴致来了就在网上搜了下关于http协议,发现有园友写了一篇非常好的博文,博文地址:(http://www.cnblogs.com/xdp-gacl/p/3751277.html)作者:孤傲苍狼 一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的…