暂时未有相关云产品技术能力~
暂无个人介绍
1.Java大数值处理方案 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算 使用静态的valueOf方法可以将普通的数值转换为大数值:
1.java异常引入 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException 的异常。 异常发生的原因有很多,通常包含以下几大类:
1.概述 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
1.概述 抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。 一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。 抽象类可以包含抽象方法和非抽象方法。 抽象类一般会被继承,由其子类实现具体的抽象方法👴🏻
1.equals方法 ==运算符 比较运算符,即可以判断基本类型又可以判断引用类型 如果判断基本类型,则判断值是否相等 如果判断引用类型,则判断地址是否相等,即判断是否为同一个对象 equals 是object类的一个方法,只能判断引用类型 object - equals源码:
1.概述 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:
1.重写的概念 重写是子类对父类(或爷爷及以上类)的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 2.实现一个简单的Demo 父类:
1.super介绍 我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。 用于访问父类的属性,方法,构造器 2.super的基本使用 我们来演示以下子类调用父类的属性,方法和构造器 父类:
1.继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
1.封装的概念 在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
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 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
1.linux概述 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
1.系统目录 windows - system32文件夹 System32是Windows 操作系统的系统文件夹,是操作系统的神经中枢,文件夹中包含了大量的用于Windows操作系统的文件。
1.渗透测试的概念 渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。 换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐
3.原始 HTML 任何介于<>之间的看起来像 HTML 标记的文本都将被解析为原始 HTML 标记并呈现为 HTML 而不会转义。
MarkDown初级语法一文精通,兼容MarkText2
1.标题 标题按照级别是从h1到h6构建的,数字角标越小,标题越大:
1.Why MarkText typora要收费使用了,🤔我们可以使用免费的开源软件MarkText来编写MarkDown文档 MarkText官方承认,将会永远免费开源此软件 MarkText 是一个带有各种降价扩展的降价实时预览编辑器。您可以简单地编写和编辑文本 安装地址: MarkText安装
宝塔默认是不支持同一个IP创建不同网站的,所以我们想要再以这个IP+8000端口再搭建一个新网站,这个时候如果你像下面这样填写是错误的。会报错“您添加的站点已存在”
IDEA精选插件使用
1.模型使用 约定:GORM 倾向于约定,而不是配置。默认情况下,GORM 使用 ID 作为主键,使用结构体名的 蛇形复数 作为表名,字段名的 蛇形 作为列名,并使用 CreatedAt、UpdatedAt 字段追踪创建、更新时间 GORM 定义一个 gorm.Model 结构体,其包括字段 ID、CreatedAt、UpdatedAt、DeletedAt
1.概述 gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。
1.概述 Gin框架允许开发者在处理请求的过程中,加入用户自己的钩子(Hook)函数。这个钩子函数就叫中间件,中间件适合处理一些公共的业务逻辑,比如登录认证、权限校验、数据分页、记录日志、耗时统计等。
路由组 我们可以将拥有共同URL前缀的路由划分为一个路由组。习惯性一对{}包裹同组的路由,这只是为了看着清晰,你用不用{}包裹功能上没什么区别。
访问:http://localhost:9090/user?username=dahe&password=admin 控制台输出:main.UserInfo{Username:“dahe”, Password:“admin”} ShouldBind会按照下面的顺序解析请求中的数据完成绑定: 如果是 GET 请求,只使用 Form 绑定引擎(query)。 如果是 POST 请求,首先检查 content-type 是否为 JSON 或 XML,然后再使用 Form(form-data)。
来回切换中英文输入法的时候,goland会弹出来一个搜索框,很不方便,现在要把那个弹出框禁用掉 File=> Settings=> Advanced Settings=> User Interface=> 选中“Disable double modifier key shortcuts”
1.Gin模板的基本使用方法 我们首先定义一个存放模板文件的templates文件夹 模板文件:
1.简介 sqli-labs是用来学习sql注入的一个游戏教程 Sqli-labs项目地址—Github获取:sqli-labs
这样我们只需要在模板文件不需要转义的内容后面使用我们定义好的safe函数就可以了。 {{ . | safe }}
1.Gin介绍 Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。如果你需要极好的性能,使用 Gin 吧
静态分析:不执行代码,推导程序的行为,分析程序的性质。 控制流:程序的执行流程 数据流:数据在控制流上的传递
1.自动内存管理概要 Auto memory management: 自动内存管理 Grabage collction: 垃圾回收 Mutator: 业务线程 Collector: GC 线程 Concurrent GC: 并发 GC Parallel GC: 并行 GC Tracing garbage collection: 追踪垃圾回收 Copying GC: 复制对象 GC Mark-sweep GC: 标记-清理 GC Mark-compact GC: 标记-压缩 GC Reference counting: 引用计数 Generational GC: 分代 GC Young gene
在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率 1.slice 预分配内存 在尽可能的情况下,在使用 make() 初始化切片时提供容量信息,特别是在追加切片时 原理 测试程序: