• parse 从语法上描述
  • wrapped 包装类
  • 高淇58集讲述了String类的StringBuilder以及一些常用方法的使用
  • null指没有,而不是0;让一个对象=null后它在栈里分配了空间,但是在堆里没有类的构造;使用该对象调用方法通常会抛出NullPointerException异常
  • 65讲到时间Date
  • 66集DateFormat、SimpleDateFormat的使用
  • 67集讲到Calendar类
  • 70集讲到File类
  • tread 线程
  • File f = new File(“D:\test.txt”);

    声明一个文件对象

  • 只有成员变量(包含静态变量)会被自动初始化
  • 构造器的第一句总是super(指向直接父类),即一级一级往上调用父类的构造器
  • 返回值不同不构成重载
  • toString()方法就是把对象转换成String类型,转换的算法根据类型和实际需要而定。
  • hashCode()方法和equal()方法的作用其实一样,在java里都是用来对比两个对象是否相等一致。

    因为重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高。

    但是hashCode()并不是完全可靠,有时候不同的对象他们生成的hashcode也会一样(生成hash值得公式可能存在的问题),所以hashCode()只能说是大部分时候可靠,并不是绝对可靠

  • 要做日期计算的话有限考虑GregorianCalendar
  • native 声明表示调用本地(操作系统)的方法,所以不用实现。
  • JavaBean 只有属性和set、get方法的一种非常简单的类
  • 常量就是全局的(static),定义时会隐式地加上static final
  • Entry<K,V>简析
    Map中一个封装键值对的接口,Map的子类们(HashMap等)都有实现

    使用方法:

其中rooms是一个HashMap对象

使用详解

  • 判断字符串是否全是空格:str.trim().isEmpty()
  • 不能用#define ElemType int来代替typedef ElemType int,因为define不能识别int是类型
  • 重命名之后可能会出现诡异的报错,所以尽量避免重命名,实在不行复制文件得了
  • span 跨度
  • 搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。
  • 引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。
  • 工作空间就是你项目存放的位置,方便下次查找。每个工作空间里面都有一个.metadata文件夹。多个java项目可以存放在一个工作空间中,eclipse可以设置多个不同的工作空间路径。一个工作空间就等于一个分类的文件夹
  • sts是一个定制版的eclipse,专为spring开发定制的,方便创建调试运行维护spring应用。
  • plugin 插件

    yml文件

  • 是yaml(一种基于Unicode容易阅读、容易和脚本语言交互的、用来表达资料序列的编程语言。)编写的文件格式。和.xml和propertie文件一样,都是配置文件
  • spring-boot web项目偶尔抽风访问不了的话,可以换成运行而不是调试来访问。

    编译

  • 包括编译和链接两个过程。
  • 编译部分,是把源文件(代码)转换成机器可以识别的二进制语言,之歌过程是针对每一个源文件的。
  • 链接,是把编译生成的二进制文件,组合成为一个可以执行的可执行文件。

    运行

  • 把编译出来的可执行文件,在系统中运行的过程,成为程序的运行。

    java中的编译和运行

  • java讲究的是一次编译处处运行,也就是提高了程序的一致性。java的程序之所以能在不同的操作系统上的运行结果是一样的,是因为java的虚拟机。
  • 所以要运行java要装一个叫jdk的东西,里面有java的虚拟机。这个虚拟机就是来解释我们写的代码。通过这份虚拟机,就实现了代码的移植。
  • 我们写好的程序,通过虚拟机,编译成.class文件,然后再运行,但是我们只需要编译一次即可。

    javadoc

  • 一种编写程序员自己的类、成员、方法的API文档的技术。

    容器

  • 容器与虚拟机类似,可以对应用程序及其关联性进行隔离,从而构建起一套能够随处运行的自容纳单元。

    pojo

  • 简单的Java对象(Plain Ordinary Java Objects)实际就是普通JavaBeans。

    .iml文件

  • iml是intellij idea的工程配置文件,里面是当前project的一些配置信息。它包含了项目依赖的所有jar包。

    request.getContextPath()

  • 返回当前页面所在的应用的名字,也就是工程名
  • 各种获取路径方法

    XPath

  • xml路径语言,它是一种用来确定该xml文档中某部分位置的语言。也即是一门在xml文档中查找信息的语言。

    DDL

  • 在命令行创建操作数据库的语言

    Hutool

  • java工具类库,包含很多的Util类,都是一些开箱即用的工具类。

    Lombok

  • 在idea安装这个插件并添加此项依赖可以使用它提供的注解来代替一些简单的重复性高的代码。
  • 传入的参数可以同时有@RequestParam和HttpServletRequest、HttpServletRequest。

java版本与jdk版本的关系

获取文件属性

  • HPScore/FileUtil中有获取文件基本属性(如最后更新时间)的方法

格式化代码

  • Ctrl+Alt+L

跑项目突然很慢

  • 服务器刚好被别人用到跑项目,占用资源,会使自己的项目跑起来很慢。

@Transactional加在非测试类上

  • 不会恢复到数据库原样

private static final long serialVersionUID = 1L

  • serialVersionUID作用:表明类的不同版本间的兼容性。相当于java类的身份证,主要用于版本控制。序列化时保持版本的兼容性,即在版本升级时反序列化是仍保持对象的唯一性。在程序中定义,会使软件版本兼容,无论怎么改,都可相互序列化和反序列化。
  • 有两种定义方式:
    • 一个是默认的1L,如标题。
    • 一个是根据类名、接口名、成员方法即属性等来生成一个64位的哈希字段,比如,public static final long serialVersionUID = xxxxL;

SSH

  • Struts、Spring、Hibernate,Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。

    EJB

  • Enterprise Java Bean,企业级Java Bean,是一个用来构筑企业级应用的服务器端可被管理组件,设计目标与核心应用是部署分布式应用程序。
  • EJB最初的设计思想是为分布式应用服务。分布式是针对大型应用构造的跨平台的协作计算,EJB最初的目的就是为这种计算服务的。但是软件发展到目前为止,大多数应用不需要采用分布式的解决方案,因此用EJB显得太臃肿了。Spring的出现恰恰解决了这个问题。
  • 这两个框架有着一个共同的核心设计理念:为松耦合的pojo类提供中间件服务。框架通过在运行时截取执行环境,或将服务对象注射给pojo类的方式,将应用服务和pojo类连接起来。pojo类本身并不关注如何连接,而且也很少依赖于框架。
  • 联系:二者都是容器类框架。
  • 区别:
  1. EJB来源于官方,一经通过,即成标准。Spring来源于开源社区,是由广大开发者共同参与开发的。
  2. EJB是重量级的,而Spring是轻量级的,倡导零侵入性。
  3. 分布式能力。EJB主要用来做分布式开发,但是Spring不具备分布式能力。
    ###

    Set<String> set=null; //无序的set
    set=map.keySet(); //获取所有的key
    List<String> list=new ArrayList<>(set); //转换为有序的list
    

句柄Handle

  • 大概就是和指针差不多的意思

    SDK

  • software development kit,软件开发工具包
  • 是指由第三方服务商提供的实现软件产品某项功能的工具包。
  • 一般以API和使用文档、范例、工具的形式出现。

    服务器

  • 服务器其实也可以算电脑的一种,只是服务器一般用来提供服务。
  • 比如我们天天访问百度网页,就是百度公司的服务器在默默为我们服务着,我们玩网络游戏,也是网游公司的服务器给我们服务着。哪天百度的服务器或网游服务器被黑了,不能提供服务了,你也就打不开百度网页了,也玩不了游戏了。
  • 服务器与一般的电脑又有所不同,服务器支持常年不关机,所以服务器上面的配件与电脑上的都不一样,硬件要求高得多。
  • 而且服务器不像电脑,电脑一般一块硬盘就够了,服务器要很多块,这时会要求做一个磁盘阵列(可以提高磁盘访问速度或者安全性的方法)
  • 服务器有两大功能:存储数据、便捷通信
  • 比如说你用App给我的手机发送了一条信息但是我关机了,发完后你关上手机我打开手机却能收到你的信息,那么在你我手机之间一定还有其他东西在默默的奉献着。这就是服务器。其实App是将信息发给了服务器,服务器发现我的手机关机就将信息暂存下来。当服务器监测到我的手机打开App上线时,就会将这段时间的信息都发给我了。
  • 当需要数据或者信息的时候,App都会通过互联网向服务器发起请求;当一个用户希望联系到另一个用户时,服务器就在中间起到了牵线搭桥、方便通信的作用。

    完整的App是如何工作的

  • 我们首先需要明白API是程序调用的接口,数据库存储了所有的信息,服务器应用则是调度、处理所有请求、信息、响应的中枢。服务器上的应用通过API来监听App传来的请求并进行响应,同时回传数据库中的检索信以及处理结果。
  • 当你登录时,App会将你的登录信息通过API传到服务器,服务器应用就会与数据库中的信息进行比对。随后根据比对结果通过API向App回传相应的信息(登录成功/失败)。
  • 从下往上看
  • 很多大公司有自己的服务器机房,但是如今开发者有了新的选择,例如亚马逊AWS、微软的Azure以及Digital Ocean等云服务商都提供所谓的虚拟服务器。
  • 开发者无需购买任何的硬件,就可以通过这些服务商提供的服务器来运行自己的应用,你需要做的只是提交自己的服务器应用,设置相应的参数即可。

发布项目

  • 就是说编码完工了,经过专业测试后确定项目可以上线,给客户使用了。这个时候,找一台及其当做服务器,里面安装软件所需要的环境(Java、数据库、服务器软件Tomcat等)把代码打包成jar包或war包。丢进服务器软件指定目录,开启服务。

    ADT

  • 抽象数据类型(Abstract Data Type)是指抽象数据组织和与之相关的操作。

带宽

  • 单位时间内通过链路的数据量,度量单位是比特bit。
  • 宽带:比如我们去办理100兆的宽带,这里的100兆指的是100兆比特(Mbps,Million bit per s,每秒100兆比特,比特也就是字节了,8bit=1B),换算成网速就是12.5Mps,这里的M是指MB。
  • 一般来说,我们说网速时指的是单位为MB、KB之类的网速,而带宽、带宽网速指的则是单位为bit的那个,其实概念上没啥区别,只是需要换算而已。

SSH协议

  • Secure Shell,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
  • 利用ssh协议可以有效防止远程管理过程中的信息泄露问题。
  • ssh最初是Unix系统上的一个远程控制的工具。Linux的服务器可以配置成ssh的服务器,然后客户端通过ssh工具可以远程
  • sshd服务:Secure Shell Daemon(守护进程),使用ssh来进行远程控制的服务。

SSL

  • Secure Sockets Layer,安全套接层,在传输层对网络进行加密,为网络通信安全提供安全及数据完整性。
  • 利用数据加密技术,确保数据在传输过程中不会被截取及窃听。
  • 广泛应用于web浏览器与服务器之间的身份认证和加密数据传输。

域名

  • 由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,例如,baidu.com。
  • ECS不需要域名即可使用,除非想利用ESC来作为web站点,那就需要注册一个域名。

sftp

  • Secure File Transfer Protocol,安全文件传输协议。可以为传输文件提供一种安全的网络加密方法。传输效率比ftp低很多。对网络安全性要求更高时可以选择sftp。

shell

  • 壳,也就是为使用者提供操作界面的命令解析器(软件),它类似于控制窗口。

Xshell

  • 能在Windows界面下访问远端不同系统下的服务器。简单来说,你可以通过这款软件控制ECS。

Xftp

  • 基于MS Windows平台的功能强大的sftp、ftp文件传输软件。简单来说,通过这款软件你可以在你的电脑和云服务器之间传输文件。

jar包和war包的区别

  • jar包:通常是开发时需要引用通用类,打成包方便引用管理。
  • war包:做好一个web应用后,通常是网站,打成war包部署到容器中。一个war包就是以为web应用程序。

win10防火墙

  • win10防火墙虽然是系统的安全防护屏障,但是现在大家都使用第三方杀毒软件,所以win10防火墙就变成了一种累赘。

resin服务器

  • 跟tomcat一样是应用服务器。

ini文件

  • Initialization File的缩写,即初始化文件。
  • ini文件由节、键、值组成。

    //节,用来表示一个短路,区分不同用途的参数区。
    [section name]
    //参数
    键=值
    ;分号后面一行都是注解啦