随笔分类 - Java基础
摘要:特别注意:java只有值传递没有引用传递。 一、值传递和引用传递的定义 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 引用传递(pass by reference)是指在调用函数时将实际参数的地址直接传递到
阅读全文
摘要:1. Java读取的基础方法 // 得到的是当前class文件的URI目录,包括包路径等 this.getClass().getResource("") // 得到的是当前的classpath路径, 不包括具体的包路径,只到classes目录 this.getClass().getResource(
阅读全文
摘要:diamond operator java7 引入了diamond operator(钻石操作符) 用于简化泛型。 以前我们需要这么写: Map<String,List<String>> anagrams = new HashMap<String,List<String>>(); 现在可以这样写:
阅读全文
摘要:网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。 java.net 包中提供了低层次的网络通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。 java.net 包中提供了两种常见的网络协议的支持: TCP - TCP 是传输控制协议的缩写,它保障
阅读全文
摘要:新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的,弥补了原来的 I/O 的不足,提供了高速的、面向块的 I/O。 一、NIO简介 NIO 是一种同步非阻塞的 I/O 模型,在 Java 1.4 中引入了 NIO 框架,对应 java.nio 包,提供了 Channel 、Selector
阅读全文
摘要:一、File类 File类是java.io包中唯一对文件本身进行操作的类。它可以进行创建、删除文件等操作。 1. 创建文件 可以使用 createNewFille() 创建一个新文件。 注意: Windows 中使用反斜杠表示目录的分隔符"\"。 Linux 中使用正斜杠表示目录的分隔符"/"。 最
阅读全文
摘要:一、Jdbc简介 JDBC代表数据库连接(Java DataBase Connectivity)。 JDBC是用于在编程语言中与数据库连接的API。 1. Jdbc架构 JDBC体系结构由两层组成: JDBC API:提供应用程序到JDBC管理器连接。 JDBC驱动程序API:支持JDBC管理器到驱
阅读全文
摘要:一、JSON简介 JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。 JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立
阅读全文
摘要:一、背景知识 现代软件开发,往往做出的应用程序不止给一个国家的人去使用。不同国家的人往往存在语言文字不通的问题。由此产生了国际化(internationalization)、多语言(multi-language)、本地化(locale)这些词,它们其实都是一个意思,支持多种语言,提供给不同国家的用户
阅读全文
摘要:正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验、查找、替换与规则匹配的文本。 正则表达式是一个强大的文本匹配工具,但是它的规则实在很繁琐,而且理解起来也颇为蛋疼,容易让人望而生畏。 学习正则应该从实例去理解规则。 一、正则表达式介绍 JD
阅读全文
摘要:一、字节流 1. 概要 字节流有两个核心抽象类:InputStream 和 OutputStream。所有的字节流类都继承自这两个抽象类。 InputStream 负责输入,OutputStream 负责输出。 字节流主要操作byte类型数据。 以下为 JDK8 版本中字节流的族谱图: 由上图可以看
阅读全文
摘要:方法(有的人喜欢叫函数)是一段可重用的代码段。 一、方法的使用 1. 方法定义 方法定义的语法形式: [修饰符] 返回值类型 方法名([参数类型 参数名]){ ... 方法体 ... return 返回值; } 示例 public static void main(String[] args) {
阅读全文
摘要:一、选择语句 1. if语句 if 语句会判断括号中的条件是否成立,如果成立则执行 if 语句中的代码块,否则跳过代码块继续执行。 语法: if(布尔表达式) { //如果布尔表达式为true将执行的语句 } 2. if...else 语句 if 语句后面可以跟 else 语句,当 if 语句的布尔
阅读全文
摘要:一、简介 1. 数组的特性 数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起,采用一个统一的标识符名称。 数组的定义和使用需要通过方括号 []。 Java 中,数组是一种引用类型。Java 中,数组是用来存储固定大小的同类型元素。 2. 数组和容器 Java 中,既然有了强大的容器,是
阅读全文
摘要:动态代理是反射的一个非常重要的应用场景。动态代理常被用于一些 Java 框架中。例如 Spring 的 AOP ,Dubbo 的 SPI 接口,就是基于 Java 动态代理实现的。 动态代理的方式有两种: JDK动态代理:利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHa
阅读全文
摘要:一、数据类型分类 Java 中的数据类型有两类: 值类型(又叫内置数据类型,基本数据类型) 引用类型(除值类型以外,都是引用类型,包括 String、数组) 1. 值类型 Java 语言提供了 8 种基本类型,大致分为 4 类。 整数型 byte - 8 位。 short - 16 位。 int -
阅读全文
摘要:一、简介 Java中为什么要设计访问权限控制机制呢?主要作用有两点: (1)为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分。 (2)为了让类库设计者可用更改类的内部工作方式,而不必担心会对用户造成重大影响。 Java中的访问权限
阅读全文
摘要:一、异常框架 1. Throwable Throwable 是 Java 语言中所有错误(Error)和异常(Exception)的超类。Throwable 包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace() 等接口用于获取堆栈跟踪数据等信息。 主要方法: fillI
阅读全文
摘要:在单例模式中,一个类只有一个实例。而枚举其实就是多例,一个类有多个实例,但实例的个数不是无穷的,是有限个数的。例如word文档的对齐方式有几种:左对齐、居中对齐、右对齐。开车的方向有几种:前、后、左、右!我们称呼枚举类中实例为枚举项!一般一个枚举类的枚举项的个数不应该太多,如果一个枚举类有30个枚举
阅读全文
摘要:容器就是可以装载其他java对象的对象。从jdk1.2开始,Java提供了很多通用的容器。 思考下为什么需要容器呢? 因为很多程序都是在运行时才知道需要创建什么对象、创建多少对象,我们需要在任意时刻任意位置创建任意数量的对象。正是因为它的不确定性,我们必须要动态的创建对象,保存对象(其实是对象的引用
阅读全文