JAVA_day_01

JAVA_day_01

语言=os+数据结构+算法+结构

数据结构:按照一定结构保存数据
队(先进先出)、栈(先进后出)、二叉树(节点保存数据)、链表(上一个节点的地址|数据|下一个节点地址)(单向链表,双向链表)
算法:做游戏开发,代码优化
面试题:int a>0,b>0只使用一条输出语句输出a,b的最大值
system.out.prinltn((|a+b|+|a-b|)/2)
思想:是语言的灵魂
core Java:面向对象的语言
c:面向过程的语言
c++:不完全面向对象
面向过程的语言:注重的是过程
菜:西红柿炒蛋
菜 炒(){
1.买西红柿鸡蛋
2.炒鸡蛋。炒西红柿
3.出锅
}
面向对象的语言:注重的是对象
菜:西红柿炒蛋
菜 炒(西红柿,鸡蛋){
//.....
return 菜;
}
封装对象,new创建对象,调用对象
class 西红柿{
//属性:颜色、大小、重量(静态)
//行为:打人(动态)
}

1.安装Java的开发环境

a)下载jdk
sun公司官网,oracle公司官网
b)安装jdk
c)配置环境变量
JAVA_HOME:jdk安装路径
ClassPath:配置加载.class文件的搜索路径
PATH:追加可执行文件的路径
JAVA_HOME/bin

2.jdk(java开发工具)

JDK主要包括内容:
a)Java虚拟机:负责解析和执行Java程序.
Java虚拟机可运行在各种平台上
b)JDK类库:提供最基础的Java类及各种实用类。
这些类放在$JAVA_HOME/jre/lib/rt.jar
java.lang, java.io, java.util,
javax.swing,java.sql包中的类都位于JDK类库中。
c)开发工具:这些开发工具都是可执行程序.
主要包括:位于$JAVA_HOME/bin
javac.exe 编译工具;
     java.exe 运行工具;
javadoc.exe 生成JavaDoc文档的工具
jar.exe 打包工具等。


3.Java是什么


a)编程语言:语言本质即规则: 字符集、词法规则、句法规则(条件语句、循环语句等);
桌面应用程序 :拥有图形化用户接口的软件;服务器应用程序:通过浏览器访问运行;
b)开发环境:开发程序,不管是桌面应用还是服务器应用,均需要JDK的支持。
c)应用环境:面向应用程序,而不是开发系统程序或者硬件编程,比如说驱动就是系统程序,系统程序一般用c语言
d)部署环境:服务器应用程序需部署运行在服务器应用程序上,服务器本身也是一个Java程序,
用Java语言编写的服务器应用程序部署运行时也需要Java语言的支持,将java代码打成一个包,
部署到服务器这个过程叫做部署环境


4.Java的特性


a)提供一个解释性环境
跨平台(一次编译,到处运行,不同版本的JVM实现跨平台,JVM只能识别字节码,并将它们解释到系统的API调用,针对不同系统版本有不同的JVM实现,
同一段字节码,在不同的JVM实现上会映射到不同系统的API调用,从而实现代码的不加修改即可跨平台运行。)
.java--->编译--->.class(字节码文件Bytecode,与当前的操作系统和机器指令是无关的,同一段代码编译的字节码是一样的)--->运行--->JVM解释成机器指令
--->CPU
多线程(应用层面)
动态更新
b)提供了一个更加简单的编程方式
1)没有指针,推出一个新的概念“引用”,
在代码层面上没有指针,在底层还是存在指针
2)没有内存管理

c,c++需要手动管理内存
c:malloc()手动开辟内存,free()手动释放内存
c++:new手动开辟内存,delete()手动释放内存
手动释放内存对内存回收比较好,控制明确。但是也有释放错误(释放一个已经释放的内存,
释放一个没有开辟的内存)

Java不需要手动管理内存
new手动开辟内存,程序员无需释放内存,由GC垃圾回收器来hi收垃圾。
3)面向对象的语言

5.JVM


简称java 虚拟机(java virtual machine),是用软件来模拟一个虚拟的环境。我们用java编写的源程序经过编译以后生成字节码文件,Jvm 提供了一个解释运行
java字节码文件的环境(JVM只能认识字节码),只要在不同操作系统上安装了jvm后,就能对同一个java程序进行解释运行,这就java的跨平台,一次编译,到处运行。

6.GC垃圾回收器

作用:回收new出来的垃圾
垃圾:无用对象所占据的内存空间
无用对象:合法分配内存空间,但是使用任何方式都无法访问到该对象。
垃圾回收:释放无用对象所占据的内存空间
垃圾回收器:是一个系统级别比较低的系统线程,来进行自动回收垃圾。

线程:程序执行的最小单位
进程:资源分配的最小单位

垃圾回收器什么时候回收垃圾:
1)系统闲置的时候
2)内存严重不足的时候

程序员无法控制垃圾回收器。
程序员可以使用以下两种的方法通知GC工作:
System.gc()或者
Runtime.gc()方法

垃圾回收器采用的是什么算法回收垃圾:
1)标记清扫法,是垃圾的内存做标记,只清扫有垃圾的地方,效率快,但不整理内存,会产生碎片
2)内存搬移法,将有用的搬走,没用的变成垃圾,整理内存,效率慢


7.Java代码的安全验证


字节码的验证(.class文件)

8.编写Java程序
a)编写Java文件
.java文件写代码
b)编译javac
.java文件编译成.class文件(生成.class文件)
c)运行Java
Java运行(加载.class文件)

package com.briup.ch01;

import java.util.*;

public class First{
public static void main(String[] args){
System.out.println("Hello word!"+new Date());
}
}

代码有包的时候:
编译:javac -d bin src\First.java
(-d:指定生成的.class存放的路径,
连同package一起编译,生成一级一级的目录,将.class文件放在目录里。
类一旦加package之后编译,它的类名就发生了改变,变成包名+类名,又叫权限类名,
所以在运行时候类的类名就变成了权限类名,如果只是运行类名就会发生报错,
bin:.class文件存放在bin目录下,不指定bin目录.class文件会放在当前目录下)
运行:java -cp bin com.briup.ch01.First
(com.briup.ch01代表包,-cp:临时指定.class加载路径,classpath到src里面找.class文件,如果不用-cp
classpath会从当前路径找.class文件,会显示找不到错误)

代码没有包的时候:
编译:javac src/First.java(没有包名,不用加-d不编译包,不会生成com.briup.ch01包路径,生成的.class文件找不到,此时.class文件在src中)
cd src(到src目录下,否则显示找不到)
运行:Java -cp src First(Java First 会发生找不到文件错误)

package的作用:
1)避免命名冲突
2)采用目录的结构管理类
3)一旦定义了package,类名发生改变,变成权限类名
4)每一个类建议定义一个package,并且放在类前面
5)如何定义包名
建议:公司域名倒写.功能
com.xxx.ch01(www.xxx.com)
com.xxx.dao
com.xxx.service
import:导包,可有可无,放在package下面,当使用的类不在当前包的时候就需要导入包。


public class:定义类
public公共的类
一个.java文件中可以有多个class,但只能有一个public class
public class的类名必须和文件的名字相同

主方法:程序的入口
public static void main(String[] args){方法体}

方法的定义:
修饰符 返回值类型 方法名(参数列表){方法体}

方法的调用:
静态方法的调用:方法名(实参)
非静态方法的调用:

输出语句:
System.out.println();System类在Java.lang包中
Java.lang包可以不导入,需要时直接调用就行

转载于:https://www.cnblogs.com/vce630/p/11469476.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值