Java编程基础知识清单

这篇博客涵盖了Java的运行原理,从高级语言的发展到Java的跨平台特性。讲解了环境配置,包括编译和运行步骤。接着介绍了Java的基础语法、程序流程控制、方法定义、数组和面向对象编程。此外,还涉及异常处理、集合、线程操作以及IO和反射等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Java运行原理

  • 1.计算机语言发展过程
    • 机器语言
    • 汇编语言
    • 高级语言
      • 解释型语言(JavaScript)
        要想运行多次,需要进行多次解释
        支持跨平台

      • 编译型语言(C\C++)
        要想运行多次,不需要进行多次编译
        不支持跨平台

  • 2.Java运行原理
    • 先编译,再解释
    • .java源文件—>编译器(javac)—>.class字节码文件—>JVM(java 不同平台)—>机器指令

2.配置环境

  • 环境变量

      >path
      	告诉操作系统,去什么位置找相关的命令
    
      >JAVA_HOME
      	JDK的安装目录
      	规避对系统级别环境变量造成误修改的风险
      	后来随着Java语言的流行,很多框架或者服务都是基于Java语言开发的
      	这些框架或者服务器就将JAVA_HOME的配置作为一个规范了,比如Tomcat
      
      >classpath	
      	告诉Jvm去什么位置找字节码文件,默认 .      
    
  • 源文件–>.class字节码–>JVM(不同的平台)

  • javac 编译、java 运行

3.Java语言基础

*注释
*变量
*标识符
*数据类型
	byte	1(字节)	  	8bit	   -128~127
	short	2
	int		4
	long	8			64bit		-2的63次方~2的63次方-1			

4.程序流程控制

*顺序流程
*分支流程(选择)
	>if分支
		&单分支
		&双分支
		&多分支

	>switch分支  
		switch (表达式){
			case : {

			}
		}
		表达式类型:byte,short,int,char,enum(1.5),String(1.7)
*循环流程
	>for
	>while	

*运算符	

5.方法的定义

修饰符 返回值类型 方法名(参数列表) 异常声明{
	方法体
}

6.数组

7.面向对象

*万物皆对象
*封装
*继承
*多态(静态绑定|动态绑定)

8.异常

  • Throwable

      >Error
      >Exception
      	&运行时异常		RuntimeException的子类
      	&编译时异常		Exception的子类
      		在编译阶段必须对其进行处理
    
  • 异常的原理

      如果程序在执行的过程中发生了异常,底层会创建对应类型的对象,然后通过throw 关键字将异常向上抛出。
      程序会找对异常处理的代码,如果有,将给处理的代码处理,如果没有继续抛出
    
  • 异常处理的方式

      >通过throws继续向上抛出
      >try...catch进行补货
    

9.集合

  • 1)Collection 存放单值类型数据

      >List	有序、可重复
      	&注意:有序指的是集合中的元素有下标,放进去和取出来的顺序一致
      	&ArrayList
      		底层是数组
      		优点:查询效率高,因为数组中的元素在内存中是连续的,可以快速的根据下标获取集合中的元素
      		
      		缺点:增删效率低,因为在对数组中元素进行增删操作的时候,涉及移位
    
      	&LinkedList
      		底层是链表
      		优点:增删效率高	因为对链表上的元素进行增删操作的时候,不需要移位,只需要改变链表中节点的指向即可
    
      		缺点:查询效率低,查询集合中的元素的时候,需要进行全链表的扫描
    
      	&Vector
      		底层也是数组,只不过是线程安全的
    
      >Set	无序、不可重复
      	&HashSet
      			底层是HashMap
    
      	&SortedSet	让集合中的元素具备了排序的能力
      		#TreeSet
      			底层是TreeMap
    
  • 2)Map 存放的是键值对类型

      >HashMap
      	数组 + 链表 + 红黑树
      >SortedMap
      	&TreeMap
      		底层是可排序的二叉树
      		在向集合中放元素的时候,遵循左小右大的原则,在取元素的时候按照中序遍历的方式取原则
    

10.线程

  • 线程创建的方式

      >继承Thread类
      >实现Runable接口
      >实现Callable接口
    
  • 启动线程

      strat
    
  • 停止线程

      -stop 不推荐实现
      -正确停止线程的方式  是通过标记位进行停止
    
  • 连线题

      类						方法
      					        sleep	
     Object				    	join
     							yield
     Thread 					wait
     							notify
     							notifyAll
    
  • 线程几种状态之间的装换

      >初始状态
      >可运行
      >运行
      >终止
      >阻塞
      >等待
      >锁池
    

线程几种状态的转换图:

11.IO

*按照传输内容分类
	字节流	字符流

*按照流向分类
	输出流	输入流

*按照流的功能分类
	节点流
	过滤器

*字节
	>FileInputStream
	>FileOutputStream

*字符
	>BufferReader
	>PrintWriter

面试题:裸机、JDK、API下,使用记事本复制图片到指定位置?

12.反射

*反射反射,程序员的快乐
*获取类对象
	>Class.forName
	>类名.class
	>对象.getClass()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值