随笔分类 - 后端 / 面向对象 / 编译型
摘要:下载Kotlin命令行编译工具,下载地址 解压后将bin路径添加到环境变量的path 打开cmd,输入kotlinc -version看到版本 输入kotlinc进入交互式命令行 新建1个hello.kt文件,编写内容如下 fun main(args: Array<String>) { printl
阅读全文
摘要:注解的定义 Annotation 是从JDK5.0开始引入的新技术 Annotation的作用 不是程序本身, 可以对程序作出解释 可以被其他程序(比如:编译器等)读取 Annotation的格式 注解是以"@注释名"在代码中存在的 还可以添加一些参数值 , 例如:@SuppressWarnings
阅读全文
摘要:计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件,软件,数据信息等资源 tcp/ip模型 ip # 唯一的标识 internet 上的计算机 ( 通信实体 ) # 本地回环地址(hostAddre
阅读全文
摘要:签名算法 # 如果小明用自己的私钥加密了一条消息,比如小明喜欢小红,然后他公开了加密消息,由于任何人都可以用小明的公钥解密,从而使得任何人都可以确认小明喜欢小红这条消息肯定是小明发出的,其他人不能伪造这个消息,小明也不能抵赖这条消息不是自己写的 # 私钥加密得到的密文实际上就是数字签名,要验证这个签
阅读全文
摘要:密钥交换算法 # 如果我们把a看成甲的私钥,A看成甲的公钥,b看成乙的私钥,B看成乙的公钥 # DH算法的本质就是双方各自生成自己的私钥和公钥,私钥仅对自己可见,然后交换公钥,并根据自己的私钥和对方的公钥,生成最终的密钥secretKey # DH算法通过数学定律保证了双方各自计算出的secretK
阅读全文
摘要:对称加密算法 对称加密算法就是传统的用一个密码进行加密和解密 根据算法名称/工作模式/填充模式获取Cipher实例; 根据算法名称初始化一个SecretKey实例,密钥必须是指定长度; 使用SerectKey初始化Cipher实例,并设置加密或解密模式; 传入明文或密文,获得密文或明文。 | 算法
阅读全文
摘要:BouncyCastle加密 # 导入bcprov-jdk15on-xxx.jar public class Main { public static void main(String[] args) throws Exception { // 注册BouncyCastle: Security.ad
阅读全文
摘要:url编码 Java标准库提供了一个URLEncoder类来对任意字符串进行URL编码 # 加密 public class Main { public static void main(String[] args) { String encoded = URLEncoder.encode("中文!"
阅读全文
摘要:简介 序列化:一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型 反序列化:将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化 序列化前提 一个类的对象要想序列化成功,必须满足两个条件: 该类必须实现 java.io.Seri
阅读全文
摘要:枚举 枚举类型是Java 5中新增特性的⼀部分,它是⼀种特殊的数据类型, 定义枚举类型时使⽤的关键字是enum,与class关键字类似,但前者是定义枚举类型,后者是定义类类型 代码案例 enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
阅读全文
摘要:Object类 Object类位于java.lang包中,java.lang包包含着Java最基础和核⼼的类,在编译时会⾃动导⼊ Object类是所有Java类的祖先,每个类都使⽤ Object 作为超类 # 常用方法 public final native Class<?> getClass()
阅读全文
摘要:简介 # 时区:整个地球分为⼆⼗四时区,每个时区都有⾃⼰的本地时间。为了统⼀起⻅,使⽤⼀个统⼀的时间,称为全球标准时间(UTC, Universal Time Coordinated)。TC与格林尼治平均时(GMT, Greenwich Mean Time,也翻译成:格林威治标准时间)差不多⼀样;C
阅读全文
摘要:Reader是输⼊字符流的⽗类,它是⼀个抽象类, 部分库不推荐使⽤Reader/Writer int read() ⼀个字符⼀个字符的读,只能⽤来操作⽂本(不能写图⽚ ⾳频 视频) int read(char cbuf[]) 从输⼊字符流中读取⼀定数量的字符,并将其存储在缓冲区数组cbuf中, 返回
阅读全文
摘要:IO: Input / Ouput 即输⼊输出 输出流:程序(内存) >外界设备 输⼊流:外界设备 >程序(内存) 处理数据类型分类 字符流:处理字符相关,如处理⽂本数据(如txt⽂件), Reader/Writer 字节流: 处理字节相关,如声⾳或者图⽚等⼆进制,InputStream/Outpu
阅读全文
摘要:计算机⽂件(File) 以计算机硬盘为载体存储在计算机上的信息集合,可以是⽂本、图⽚、视频、程序等,⽂件⼀般有拓展名,表示⽂件的类型 ⽂件⽬录 (Directory) # 即是我们⼀般称呼的⽂件夹,为了便于对⽂件进⾏存取和管理 # ⽂件⽬录是由⽂件⽬录项组成的。⽂件⽬录分为⼀级⽬录、⼆级⽬录和多级⽬
阅读全文
摘要:迭代器Iterator Iterator是java中的⼀个接⼝,核⼼作⽤就是⽤来遍历容器的元素,当容器实现了Iterator接⼝后,可以通过调⽤Iterator()⽅法获取⼀个 Iterator对象 由于容器的实现有多种,不同的容器遍历规则不⼀样,⽐如ArrayList/LinkedList/Has
阅读全文
摘要:数据结构 # 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型 # 简述:数据结构是相互之间存在⼀种或多种特
阅读全文
摘要:异常简介 错误:程序运⾏时发⽣的不被期望的事件,阻⽌了程序按照预期正常执⾏ 常⻅程序错误分三类: 编译错误:新⼿最常⻅,没遵循语法规范 运⾏时错误:程序在执⾏时 逻辑错误:程序没有按照预期的逻辑顺序执⾏ Java.lang软件包中有⼀个java.lang.Throwable类,这个类是java中所有
阅读全文
摘要:类简介 就是模板,⽤来定义⼀类对象的⽅法和属性,⽐如⼈、学⽣、猫,万物都是有模板,都是可以定义为类。 (类名⾸字⺟⼤写) 对象 类的实例化,⽐如 学⽣这个类实例化,就是 XX同学 # 如下 Student student = new Student(); Cat cat1 = new Cat();
阅读全文
摘要:while 循环 //boolean表达式为true则会⼀直执⾏ while(布尔表达式){ //循环执⾏的内容 } # 如下是死循环: public static void test1(){ int i = 10; while (i<20){ System.out.println("我是循环被执行
阅读全文