Linux .sh脚本与初识Java

.sh脚本文件编程步骤
  1. 写脚本文件行首#!/bin/bush/
  2. 输入你想批量执行的命令
  3. 修改文件u的权限,变成科执行文件
  4. 执行 ./xx.sh
查看进程和杀死进程:

ps : 查看进程
kill -9 PID :杀死进程

Java学习笔记

Java:面向对象
C:面向过程

是什么:

一种编程语言:语法规则,词法规则,句法规则,高级应用
部署环境,开发环境,运行环境

为什么:

  • 简单易学–>面向对象思想
  • 一次编译,多端运行(可移植性)
    Java源码:Xxx.java
    通过javac命令,能够把源码变成字节码文件 Xxx.class
    通过Java命令,来运行.class文件
    我在windows上编译好的,.class文件放在Linux上依旧可以执行
  • 多线程–>语言层面的多线程
  • 动态更新–>程序A 调用了 程序B,程序B的源代码发生了改变,程序B需要重新编译的

JVM提供的特性:

垃圾回收机制(CG):
  • 可以让我们免于内存管理的麻烦
  • 不需要手动去释放内存,解放了程序员的时间和精力
  • GC是优先级较低的后台线程
  • 字节码校验功能

什么时候会运行呢?

  • 内存不足的时候
  • 程序空闲的时候

垃圾回收的方法?

  • java.lang.System.gc()
  • java.lang.Runtime.gc()
    这两个方法只提供建议功能

垃圾回收的算法?

  • 标记法: 压缩标记的过程,其实就是判断对象是否可达的过程。当所有的根都检查完毕后,堆中将包含可达(已标记)与不可达(未标记)对象。标记完成后,进入压缩阶段。在这个阶段中,垃圾回收器线性的遍历堆,以寻找不可达对象的连续内存块。并把可达对象移动到这里以节约内存空间。
  • 迁移法:与标记清理算法过程一样,只是不直接清理可回收对象,而是将所有存活对象移动到一端,之后清理边界之外的对象内存

开辟内存空间是如何做到的?

  • 没有对象需要 new
  • 还承担了开辟内存空间的作用

怎么办

Java使用前的准备:

  • 获得JDK,用1.8 ,Oracle官网下载

  • 安装JDK
    Linux:解压压缩包
    Windows:像安装软件一样,下一步

  • 配置环境变量:

    • Linux:

      • 配置文件
        • 系统配置文件/etc/profile
        • 用户配置文件~/.bashrc
      • 添加环境变量:

      JAVA_HOME:指代jdk安装路径
      CLASSPATH:Java执行环境,找到所要执行的Java程序所需要的类或者包。
      PATH:可执行文件的搜索路径

      • 配置完成后:

      记得: source 配置文件

    • Windows:

      右击我的电脑—>左侧有一个高级系统设置
      –>环境变量
      –>上层用户变量,下层时系统变量
      –>需要手动添加JAVA_HOME[和CLAAPATH]
      –>再Path中添加%JAVA_HOME%/bin
      –>三个确定全部点完
      –>重启cmd进行验证

  • 如何验证?

    • java -version
    • java
    • javac
      三个命令不报错即可

Java的一些版本

JDK:Java Development Kit
包含的内容:

  • JVM:Java虚拟机
  • JRE:java Runtime Environment

java 运行命令:

java:执行Java类
javac:编一Java文件
javadoc:‘生成Java的api
jar…:打包…

在vi中创建第一个Java程序

  1. 需要手动编写的只有.java文件

  2. 需要创建一个文件,名字叫做Hello.java. —touch Hello.java

  3. 使用vi打开Hello.java开始编写 — vi Hello.java

  4. Java首行有三部分内容:
    package(可选):

    定义包名
    java.lang.Date
    javax.Swing.JButton
    包名有什么用?

    1. 给.java文件和.class文件进行文件夹分层,让代码保存的位置有一个良好的树形结构
    2. 可以区分同名的文件
      java.util.Date
      java.sql.Date
    3. 包名+类名的这种写法:全限类名
    4. 包名有自己的取名的规则
      一般是组织或者域名的反写
      www.baidu.com —>com.baidu.util 包名

    import(可选):

    导包
    Java中默认导入java.lang
    如果需要使用lang包之外的需要导入
    import可以导入哪些包?
    1.jdk提供的类库
    2.自己写的Java代码所在的包
    3.借用导入的第三方jar包

    public class(必须要有的):

    每个Java文件有且只有一个,且后哦面跟的单词必须和文件名字保持一直,区分大小写

    main 方法:

    Java程序的入口方法,如果你的Java程序想要运行,必须要有主方法
    main方法有自己的写法规则,必须是固定格式,一般不修改

  • public:定义的是方法的权限 公共的

  • static:定义的是静态方法

  • void:方法的返回值类型,无返回值用void

  • main:方法名称

  • ():要放参数的列表,参数列表的形式;数据类型 形式参数多个之间用英文逗号隔开

  • String[] args:main方法的参数是一个字符串类型的数组,形式参数的名字叫做args

  • {}:代码块,代表实际执行的部分。也叫做方法体,里面的代码从头到尾执行完毕,程序运行结束分析一下输出语句:

  • System --> 类

  • .out --> 内部类

  • .println --> 静态方法

  • (“Hello ,World”); --> 小括号内是参数字符串类型的参数,引号里的内容会被打印到终端上

package com.briup.day01;
        public class Hello{
         public static void main(String [] args){
                 System.out.println("Hello ,World!");
                  }
             }
  1. 【当前路径下】有写好的源文件,Hello.java
    • 编译
      javac -d Hello.java
    • 如果有package产生了
      com/briup/day01/Hello.class
    • 运行
      java com.briup.day01.Hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值