Java

Java环境搭建:

  • java官网下载jdk13
  • 解压后配置环境变量
export JAVA_HOME=/home/chr/java/jdk1.8.0_231
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=/home/chr/java/jdk1.8.0_231/bin:$PATH
export MAVEN_HOME=/home/chr/maven/apache-maven-3.6.2
export PATH=${MAVEN_HOME}/bin:$PATH

注意环境变量后面不能有空格否则mvn -v会报错

  • 下载安装maven
  • 换阿里的源setttings.xml
  <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

在项目中右键更新

  • vs code配置json环境
    "java.errors.incompleteClasspath.severity": "ignore",
    "java.home": "/home/chr/java/jdk1.8.0_231",
    "java.configuration.maven.userSettings": "~/maven/apache-maven-3.6.2/conf/settings.xml",
    "maven.executable.path": "~/maven/apache-maven-3.6.2/bin/mvn",
    "maven.terminal.useJavaHome": true,
    "maven.terminal.customEnv": [
        {
            "environmentVariable": "JAVA_HOME",
            "value": "/home/chr/java/jdk1.8.0_231"
        }
    ],

关键额几个参数配对就行


Vs Code2019 配置Java开发环境

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


Vs Code中SpingBoot第一个Hello World

  • Ctrl+Shift+P打开选择器
  • 搜索spring
  • 选择Generate a Maven Project创建一个Maven项目

在这里插入图片描述

  • 选择Java语言

在这里插入图片描述

  • Group Id
    在这里插入图片描述

  • 输入项目名

在这里插入图片描述

  • 选择SpringBoot版本
    在这里插入图片描述

  • 选择需要引入的包,引入如下几个包即可满足web开发:

在这里插入图片描述

  • 创建好后vscode右下角会有如下提示,点击Open it 即可打开刚才创建的SpringBoot项目

在这里插入图片描述

  • 项目创建后会自动创建DemoApplication.java文件,在DemoApplication 文件目录下新建文件夹 Controller,新建文件HomeController.java,效果如下:

在这里插入图片描述

Ps:SpringBoot项目的Bean装配默认规则是根据DemoApplication类所在的包位置从上往下扫描。所以必须放在同一目录下否则会无法访问报如下所示错误:

在这里插入图片描述

  • Debug配置,在pom.xml中添加tomcat引擎
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!-- <scope>provided</scope> -->
            <!-- <scope>compire</scope> -->
        </dependency>

现在就可以进行Debug啦


大功告成

在这里插入图片描述

在这里插入图片描述


SpingBoot中一些优秀的设计思想

  • SpringBoot的IOC和AOP

pass


Java语法概念,类比Python和Golang

  • java中的public为访问修饰符,一共有四个等级,对访问类进行限制
  • 关键字后面紧跟类名,类名以大写开头
  • 源码的文件名必须与公共类的名字相同,要注意大小写
  • java解释器运行java代码时将其编译成.class结尾的字节码,javac
  • psvm:入口函数
  • java的main外面必须有个壳
  • void:没有返回值
  • static:静态方法
  • 所有后面必须加;
  • 回车不是语句的结束标志,可以将一条语句写在多行
  • int:±20亿,long就大了
  • byte:-128 ~ 127
  • java有两种浮点类型:float,double(双精度浮点数)
  • 整形和boolean之间不能转换
  • 在java中每一个变量都有一个类型
  • 不提倡在一行声明多个变量
  • 变量的声明与赋值(初始化),可以在一行
  • 在java中声明可以放在任何的位置,尽可能放在靠近使用的地方
  • final代表常量 const
  • 常量只能被赋值一次,一般为大写,一旦赋值后不能被改变
  • public static final:类常量(python的中类属性)
  • 类常量定义在main的外边
  • 可以将main标记为strictfp:pssvm(使用严格的浮点计算)
  • Math和strictMath
  • 数值类型之间的转换,6种精度无丢失的转换,3种有丢失的转换
  • float f = n:正常转
  • int nx = (int)x:强转
  • +=3.5:如果类型不同就会自动强转
  • n++, ++n
  • 枚举类型:enum
  • 有一个示例说明了break语句的工作状态,标签放在希望跳出的最外层循环之前,必须紧跟一个冒号
  • 大数值:在不能满足精度要求的时候
  • int[ ]a = new int[100]
  • 可以使用 int[ ] a或int a[ ] 声明数组
  • 用for循环来初始化数组
  • for each就是for in
  • 构造器就是构造函数
  • private只有类自身才能访问该属性
  • 所有的java对象都是在堆中构造的。构造器伴随new操作符一起使用
  • public static final double PI:静态常量
  • public final double PI:final实例域,域的值被设置不能被修改:常量,即没有setName方法,只有getName,一般放在不可变类String等的前面
  • public static double PI:静态域
  • public double PI:定义一个变量
  • 有final就是fanil实例域,有static就是静态域,两者结合叫静态常量。
  • 实例域通过对象来访问,静态域通过类名访问。其实就是python中的类属性和实例属性
  • 不要把域设计为public 可以为 final和private
  • 静态方法不能对对象进行操作,就是因为没有隐式参数this
  • 无参数的构造器
  • java支持在构造器中调用另一个构造器
  • java还支持初始化块来初始化数据(静态初始化块,对象初始化块)
  • 所有标准的java包都在java和javax中
  • 一个类可以使用所属包中的所有类,以及其他包中的共有类,需要import
  • 静态方法和静态域的导入:import static java.xx.xx.*
  • 将类放入包中,类比于go,外部就可以通过包访问public内容了
  • 如果不放在包中就会默认放在com/horstmann/corejava里面
  • 包的作用域:public
  • java中四个访问级别:private
  • protected受访问保护
  • object类也是所有类的超类
  • hashcode:散列码
  • getName:返回这个类的名字
  • Class getClass返回包对象的类对象信息
  • java中的接口用来做多继承,不支持类(抽象类)的多继承。在python中没有接口的概念,使用抽象类。多继承会使程序变得复杂
  • 接口中必须包含compareTo方法。
  • 要将类声明为实现某个接口需要使用关键字implements
class Employee implements Comparable<Employee> {
    public int CompareTo(Employee other) {
        return Double.compare(salary, other.salary);
    }
}

comparable接口中的compareTo方法返回一个整数数值
try catch finally

  • 泛型类就是具有一个或多个类型变量的类
  • case:注意不是花括号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值