本章重点介绍java.lang.reflect包下的接口和类 当程序使用某个类时,如果该类还没有被加载到内存中,那么系统会通过加载,连接,初始化三个步骤来对该类进行初始化. 类的加载时指将类的class文件读入内存,并为之创建一个java.lang.class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象.(几乎所有的类都是java.lang.Class的实例); 所以JVM最先初始化的总是java.long.Object类. 在java中,一个类用…
NIO采用内存映射文件的方式处理输入输出,NIO将文件或文件的一段区域映射到内存中,这样就可以像访问内存一样来访问文件了(这种方式模拟了操作系统上的虚拟内存的概念),通过这种方式来进行输入输出比传统的输入输出要快得多. Java中与NIO相关的包如下: java.nio包:主要包含各种与Buffer相关的类. java.nio.channels包:与Channle和Selector相关的类. java.nio.charset包:主要包含与字符集相关的类 java.nio.channels.spi…
重点复习一下网络通信和代理 java的网络通信很简单,服务器端通过ServerSocket建立监听,客户端通过Socket连接到指定服务器后,通信双方就可以通过IO流进行通信. 需要重点看的工具类:InetAddress,URLDecoder,URLEncoder,URL和URLConnetion等 TCP/IP分层模型:应用层(比如http),传输层(比如TCP),网络层(比如IP),物理+数据链路层 IP地址是一个32位(bit)整数,为了便于记忆,分成4个8位的二进制数,每8位之间用圆点隔…
多线程这块,平时用的框架里都封装好了,只有写批处理和工具包时用过几次.现在水平仅仅限于会用的程度,需要全面深入学习多线程. 主要内容:创建线程,启动线程,控制线程,多线程的同步,线程池,使用线程安全的集合类 16.1.1 线程和进程 线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程.线程可以拥有自己的堆栈,程序计数器和局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的全部资源.因为多个线程共享父进程的全部资源,因此编程更加方便,带也需要更加小心. 16.2…
try,catch,finally,throw,throws java将异常分为两种,Checked异常和Runtime异常. IndexOutOfBoundsException NumberFormatException ArithmeticException NullPointerException 捕获异常时,先捕获小异常,再捕获大异常, 从java7开始,一个catch块可以捕获多种类型的异常 public static void main(String[] args) { try {…
JDBC:java database connectivity 数据库基本命令: 启动 show databases; create database [if not exists] 数据库名; dop database 数据库名; use 数据库名; show tables; 查看数据库的表结构: desc 表名; Mysql默认的InnoDB,提供事务安全的存储机制,无须指定. 如果要显示的指定,可以在建表时添加如下: ENGINE=MyISAM         #强制使用MyISAM存储机…
Paths类 public static void pathTest(){ Path path = Paths.get("~"); System.out.println(path); System.out.println(path.getNameCount()); System.out.println(path.getRoot()); Path absolutePath = path.toAbsolutePath(); System.out.println(absolutePath);…
产生文件 File file = new File("abc.txt"); if(!file.exists()){ System.out.println(file.exists()); file.createNewFile(); } System.out.println(file.getAbsolutePath()); 关于临时文件 1).放在指定目录,此时已项目为默认目录 File file = File.createTempFile("defaultTmp",&…
参考<Java疯狂讲义>Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(这种接口被称为函数式接口)的实例 1. Lambda表达式入门 下面先使用匿名内部类来改写(6.6介绍的命令模式Command表达式的例子) public class CommandTest{ public static void main(String[] args) { ProcessArray pa = new ProcessArray(); int[]…
java语言程序设计基础篇笔记1. 几种有名的语言COBOL:商业应用FORTRAN:数学运算BASIC:易学易用Visual Basic,Delphi:图形用户界面C:汇编语言的强大功能和易学性,可移植性C++:系统软件C#:.netjava:互联网应用程序2. java语言规范:java.sun.com/docs/books/jls 对语言的技术定义javaAPI(Application Program Interface):预定义的类和接口3.javaEE:服务器端的应用程序javaSE:…