暂时未有相关云产品技术能力~
暂无个人介绍
我们想要测试一下show和hi方法是否符合我们的预期,一个传统的方式是在主函数中调用这两个函数,但实际上我们可以通过java Junit单元测试工具来单独对show和hi函数进行单元测试
1.Collections工具类 Collections是java中一个很强大的工具类,可以很方便的操作java list,map,set
1.TreeSet概述 TreeSet实现了Set接口,与HashSet不同的时,他是有序集合,底层是一个TreeMap 默认按照升序排列,代码示例:
1.基本介绍 HashTable的键和值都不能为空,否则会抛出一个异常 使用方法基本与HashMap一致 HashTable是线程安全的,HashMap是线程不安全的
k,v是一个Node实现了Map.Entry<K,V> jdk8以上底层为数组+链表+红黑树
1.Map接口介绍 Map用于保存具有映射关系的数据:Key - Value 对于Set,底层其实依然是一个Map,但是Set选择不使用Value,也就是Set的Value值始终是一个常量😁 Map中的Key和Value可以是任何类型的数据,会封装到HashMap$Node对象中 Map中的Key不能重复,但是Value可以重复,当有相同的Key时,等价与替换操作😀
1.实体 任何发送或者接受信息的硬件或软件进程 2.对等实体 收发双方相同层次中的实体 例如:通信双方的网卡
1.速率 连接在计算机网络上的主机在数字信道上传送比特的速率 也称比特率或数据率 常用的速率单位:
1.电路交换 电话交换机接通电话线的方式称为电路交换 电路交换的三个步骤: 建立连接(分配通信资源) 通话(一直占用通信资源) 释放连接(归还通信资源) 电路交换致命的缺点:效率低!👨🏻
参数 expression1, expression2, ... expression_n: 要检索的列。 tables: 要检索的数据表。 WHERE conditions: 可选, 检索条件。 DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT修饰符对结果没啥影响。 ALL: 可选,返回所有结果集,包含重复数据。 案例:查询工作岗位为MANAGER或者SALESMAN的员工信息(使用union)
sql99的优点是:表的连接是独立的,不占用where的位置。使sql语句整体更加清晰😀 内连接 - 非等值连接 案例:找出每个员工的薪资等级,要求显示员工名,薪资,薪资等级
1.示例表内容 dept表:
1.什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。 我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
1.Set接口方法 Set接口对象存放的数据是没有重复,且数据是无序存放的(添加顺序和存放顺序不一致,但是这个存放的顺序是固定的,不会随机变化)🤳 代码示例:
从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。
git统计项目代码行数 显示项目的所有文件列表及行数
1.Date 构建Date对象 java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 Date主要使用无参构造和long类型创建:
1.Java大数值处理方案 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算 使用静态的valueOf方法可以将普通的数值转换为大数值:
1.String类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 String对象实现了Serializable接口,说明String对象可以串行化(在网络中进行传输),同时实现了Comparable接口,说明String对象可以进行比较🎁
1.java异常引入 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException 的异常。 异常发生的原因有很多,通常包含以下几大类:
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。
1.概述 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
1.概述 抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。 一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。 抽象类可以包含抽象方法和非抽象方法。 抽象类一般会被继承,由其子类实现具体的抽象方法👴🏻
2.final 使用小贴士 赋初值的时机 对于final声明的属性可以在如下的位置进行赋值操作: 定义时初始化一个值 在构造器中 在代码块中 如果final修饰的属性是静态的,则初始化的位置只能是:(不能在构造器中赋值!) 定义时 静态代码块 final类的坑🕳 如果一个类已经是final类,就无需再将方法设置为final final和static搭配使用效率更高,因为底层的编译器做了优化,不会导致类加载 final修饰的变量是基本类型:那么变量存储的数据值不能发生改变 final修饰的变量是引用类型,其地址值不能改变,但指向对象的内容可以改变
1.equals方法 ==运算符 比较运算符,即可以判断基本类型又可以判断引用类型 如果判断基本类型,则判断值是否相等 如果判断引用类型,则判断地址是否相等,即判断是否为同一个对象 equals 是object类的一个方法,只能判断引用类型 object - equals源码:
1.动态绑定机制 java的动态绑定机制非常重要🎈 实例A 我们来看一个实例:
1.概述 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:
1.重写的概念 重写是子类对父类(或爷爷及以上类)的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 2.实现一个简单的Demo 父类:
1.super介绍 我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。 用于访问父类的属性,方法,构造器 2.super的基本使用 我们来演示以下子类调用父类的属性,方法和构造器 父类:
1.继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
1.封装的概念 在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
1.包的概念 为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。 包的作用 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。 Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等✨
IDEA改变菜单栏,字体大小,配置文件编码
1.什么是this java虚拟机会给每个对象分配this,代表当前对象 使用this可以解决构造方法中命名冲突的问题💥 另外this只能在类定义的方法中使用!
1.概述 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。 最常用的地方就是构造器的重载。
1.写在前面🎂 市面上关于java代码审计的课程和教程比较少,所以我打算开设一个新的专栏,在这个专栏里面免费和大家分享一些从0到1的关于java代码审计相关的知识
1.启动容器
1.docker镜像 当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。下面我们来学习:管理和使用本地 Docker 主机镜像创建镜像
1.创建配置文件 阿里云容器镜像服务,里面有最新教程
1.面向对象基本使用 Java作为一种面向对象语言。支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java 中的类: 类可以看成是创建 Java 对象的模板
6.数组其他常见API static int binarySearch(type[] a, int start, int end, type v): 采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值;否则,返回一个负数值r。-r-1是为保持a有序v应插入的位置
1.错误场景 有时我们会遇到这种情况:我们从develop 分支新建一个名为feat/home 分支去做A功能,然后由于一些其他原因A 功能需要延后,然后我们再从develop分支新建一个分支去做B功能或者C功能,在多分支多功能开发时,就容易出现做B功能时,忘记切换分支,一直等做完了提交了push之后才发现 push 错了远端的分支,并且 push 的改动与该分支需要开发的功能并没有交集,因此我们需要将已经提交错的分支内容回滚并提交push 到正确的远端分支。
1.Git Tag应用场景 如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。 2.Git Tag 基本使用 在Git中打标签非常简单,首先,切换到需要打标签的分支上,比如要给最新版的 master 分支代码打上标签:
1.GitFlow的由来 在使用Git的过程中如果没有清晰流程和规划,否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。Git版本管理同样需要一个清晰的流程和规范。 我们为什么需要GitFlow这种git管理流程?原因有以下几点 有一个稳定版本的代码分支,可以安心的用在线上发布。 在代码提测前或者说是代码达到预发状态时,在测试交付的过程中程序员们还可以继续进行下一个版本的开发工作(挤出每一秒去开发-_-’’)。 有个一个分支可以让我们及时的对线上的bug进行修复,这个过程中我们不希望将正在开发中的代码提交到线上生产中去。 由于上述开发过程中面临的需求,GitFl
1.应用场景 对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。 这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。
1.添加文件到暂存区 添加单个文件,右击文件,依次选择:
1.创建自己的代码仓库 这很简单,您只需要按照Github上的提示进行创建即可🙌 填写您的代码仓库的基本信息,当然,您也可以选择在创建仓库的同时初始添加README,.gitignore,以及license文件
1.问题原因 今天在使用Github的时候突然出现了这样的报错,云里雾里,看了网上的解决办法,说是代理服务器的问题,尝试了无数遍无果 然后Ping了一下github网站,发现Ping不通:
添加新用户 添加dahe用户,会自动创建该用户的家目录,也就是/home/dahe,之后dahe用户的工作区间都在这个目录
1.什么是vim Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。