java基础()之抽象类和抽象函数
1、抽象函数的语法特征 2、抽象类的语法特征 3、抽象类的作用 抽象函数 只有函数的定义,没有函数体的函数被称为抽象函数; abstract void func();
抽象类 使用abstract定义的类称为抽象类。 abstract class Person{}
注意: 1、抽象类不能够生成对象; 2、如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类。 3、如果一个类当中没有抽象函数,这个类也可以被声明为抽象类。 下面来用一个例子说明下: Person.java:
linux学习0章-开课
2019年11月8日: 学习背景: 出于对目前收入的不满,和对未来生活的高品质的生活向往,目前工作也是做技术运维工作,但是收入并不理想,所以开始计划学习linux,但是之前由于没有系统的去学习过,只是在互联网上查阅过linux的自学课程,但是又感觉自学可能学不到linux系统的精髓。在一次偶然的浏览网页的时候,无意间发现了刘遄老师培训网站,看了刘遄老师的前两章的课程视频,被刘遄老师的讲课风格深深的吸引了,就是这样一个缘分,下定决心报名了! 刘遄老师的书中有一段话,是稻盛和夫先生在《活法》中的一
CSIC_716_20191108
关于编码的问题: 在平时编写代码,涉及到打开文件时,常常遇到字符编码的报错, 通过总结,得出以下规律 上节讲到打开文件的编码方式有三种,r、w、a叫做纯净模式, r+、w+、a+模式,在除了可读可写,其他特性与纯净模式一致。 打开文件的时候,光标永远在文档最开始的地方 以w+模式打开文件时,可读可写 如果先写,则
区块链的颠覆力量之:底层技术!
区块链的颠覆力量之:底层技术! 从根本上来讲,区块链是一种数据存储技术,只是这种技术与曾经的存储模式有非常大的区别。 在人类社会发展过程中,有很多种不同类型的信息存储方式。虽然随着社会的发展,我们越来越倾向于将信息存储与U盘、硬盘、云盘这类存储技术相关联,但是事实上,信息的存储从人类进入文明就开始了。 有据可查的人类记录行为是结绳记事。为了记录部落的打猎收获和分配情况,人类祖先采用给绳子打结的方式来记录。 这些记录行为贯穿人类社会的始终。后来的U盘、硬盘、云盘这类有形的存储
spring学习(二十九)--参数绑定注解
package springAnnotions;
import java.util.Map;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springfr
Spring 注解配置原理
声明 源码基于Spring 5.0.8 1. 简介 自从Spring Boot流行,基于注解的配置逐渐取代了XML配置。因为突然而来的兴趣从而阅读了Spring 对Configuration注解的解析流程。 2. 原理介绍 解析@Configuration的入口是ConfigurationClassPostProcessor。ConfigurationClassPostProcessor实现了BeanDefinitionRegistryPostProcessor接口,使得Spring在初始过程
idea maven No implementation for org.apache.maven.model.path.PathTranslator was bound.
查看idea log 2019-11-08 22:30:29,402 [ 475319] ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 2018.2.5 Build #IU-182.4892.20
2019-11-08 22:30:29,402 [ 475319] ERROR - #org.jetbrains.idea.maven - JDK: 1.8.0_152-release
2019-11-08 22:3
读书心得(1)-20191108
今天,百忙之中,学习提升自己,读了一本书《突破程序员基本功的16课》 做点小笔记: 熟悉掌握Java的内存回收,垃圾回收机制,才能提高Java程序的运行性能。 1. 内存管理的小技巧 (1)尽量使用直接量 当需要使用字符串,还有Byte、Short、Integer、Long、Float、Double、Boolean、Character包装类的实例时, 程序不应该才用new 的方式来创建对象,应该直接采用直接量来创建它们。 例如,程序需要 “hello” 字符串 String str
hashtable,hashMap,concurrentHashMap
一 功能简介 Hashtable 实现方式: 底层数组+链表 初始大小:11 扩容:newSize = oldSize*2+1; 超过3/4 即0.75时扩容 存放键值对要求: key 和 value 都不能为null 线程安全性:线程安全,实现方式是在修改数据时锁住整个HashTable,效率低 父类:Dictionnary (已废弃,所以子类也都不推荐使用了) ,Hashtable 属于遗留类 HashMap 实现方式:底层 数组+链表 初始大小:16 扩容:newSize = oldSi
windows上使用VsCode开发C/C++
使用VsCode+makefile开发C/C++ 1. 介绍 vscode作为现在越来越受欢迎的编辑器之一,因为可以使用插件让vscode支持几乎市面上所有的编程语言,由于笔者主要接触的是 C/C++ 方面,因此在这里简单介绍一下如何搭建vscode编译、调试C/C++项目的过程;整套环境完全使用开源软件进行搭建,只需要做很少的改变就可以无缝搬移到linux中;采用的方案是:vscode+git+mingw gcc+makefile;最后有详细的技术说明和资源分享(GitHub 项目:vs
DevOps - DevOps初解
1 - DevOps的含义 DevOps涉及领域广泛,其含义因人而异,在不同的理解和需求场景下,有着不同的实践形式。 DevOps可以理解为是一个职位、一种组织形式、一套工具集合、一组过程与方法。 但从商业价值角度来说,DevOps是指通过Dev(开发)和Ops(运维)的紧密合作来实现和提高商业价值的工作方式和文化。 不仅包括了新技术和新工具的使用,还包括相关的团队组织建设和文化,实现持续改善的运维结构,以及开发流程设计等。 通过开发与运维之间的协作,能够消除对个人的依赖、减轻团队之间的损耗,
【codeforces 19/11/06 div2】C. Tile Painting
1 #include <iostream>
2 using namespace std;
3
4 typedef long long LL;
5
6 LL gcd(LL a, LL b)
7 {
8 if (!b) return a;
9 return gcd(b, a % b);
10 }
11
12 int min(int a, int b)
13 {
14 return a < b ? a : b;
15 }
16
17 int m
【Tool】IDEA功能--SVN和Git
IDEA功能--SVN和Git 2019-11-08 21:12:22 by冲冲 1、IDEA的SVN (1)提交项目代码到SVN服务器 ① 指定不用上传的目录 ② 设置项目上传的路径 SVN服务器路径示例 https://192.168.1.196:8443/svn/mydemo ③ 上传项目 操作参考 https://blog.csdn.net/dunegao/article/details/90664705 注意:当提交代码时,如果显示是.xsd文件报错,可以点击“continue”继续
redhat8 安装 wine
redhat8 安装 wine sudo yum -y install freetype-devel
sudo yum -y install freetype # 访问 winehq.org 下载最新版
wget https://dl.winehq.org/wine/source/4.0/wine-4.0.tar.xz
---------- On 32-bit Systems ----------
cd wine-4.0/
./configure
make
make install
手机验证码常见漏洞总结
0X00 前言 手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手机验证码可能存在的问题,收集了一些手机验证码漏洞的案例,这里做一个归纳总结,在测试中,让自己的思路更加明确。常见的手机验证码漏洞如下: 1、无效验证 2、客户端验证绕过 3、短信轰炸 4、验证码爆破 5、验证码与手机号未绑定 0X01 无效验证 有验证码模块,但验证模块与业务功能没有关联性,此为无效验证,一般在新上线的系统中比较常见。 案例一: 获
今日推荐
周排行