![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
文章平均质量分 74
丞恤猿
人生就如西西弗斯推石头上山:
while(true){
滚下来();
推上去();
}
展开
-
Kotlin语法简单入门(主要针对与Java语法的差异)
#.一、相对于Java,Kotlin语法整体变化简介0.Kotlin源代码最终也会编译成.class文件,依赖于JVM来运行 但Kotlin是静态类型语言,所有变量和表达式类型在编译时已确定, 而Java支持动态绑定,可以在运行时再具体决定对象的类型。1.Kotlin中一切皆为对象,创建新对象构造方法前不加new关键字。2.类型定义是后置的,类型放在":"后面3.每句代码末尾不需要加";"(但加上也可以,编译时也是正确的)#.二、常量与变量...原创 2022-05-29 18:02:09 · 310 阅读 · 0 评论 -
三种路径算法:Dijstra、Bellman-Ford、Floyd-Warshall
#.Dijstra算法: 求单源最短路径,不允许出现负边。n-1次外循环。 流程: 1.将所有节点分为:原点集合S、剩余节点集合D,将源节点装入S,用dist记录各个节点的距离。 2.每轮循环都从D中找出当前距离最小的点a,移入S,同时更新D中与a相邻的节点的最小距离: dist[p] = Math.min(dist[p], dist[a] + E(a,p) ); n-1轮循环后,得到的dist记录...原创 2022-05-16 17:17:08 · 333 阅读 · 0 评论 -
原码、反码、补码简介
有符号数,左边第一位是符号位,0为正,1为负。在java中都是有符号数。##.转换关系原码:最左侧为符号位,用剩余数位来表示绝对值;反码:正数和0,反码为其本身; 负数的反码,符号位不变,其余各位数字取反(0变1,1变0)。补码:正数和0,补码为其本身; 负数的补码,在反码基础上,不考虑符号位,最末一位加1。##.java代码中转化代码中可用位运算,原码转反码,以int值为例,若a为负整数,则a的反码为:int b...原创 2022-05-15 23:28:04 · 634 阅读 · 4 评论 -
Java 运算相关(运算符、常用API)
#常用运算符##.逻辑运算符 ! 非 && 与 || 或 ^ 异或##位运算符 ~ 位非 & 位与 | 位或 ^ 异或参考剪藏: JAVA逻辑运算符示例详解:与、或、非、异或_m0_37220730的博客-CSDN博客 Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^) - din...原创 2022-04-05 20:44:22 · 217 阅读 · 0 评论 -
Java文件输入输出示例
1.二进制文件读写示例,复制一个文件内容到另一个文件://对二进制文件,将src文件内容复制到另外一个文件des中public void copyFile(String src, String des){ try (FileInputStream fis = new FileInputStream(src); FileOutputStream fos = new FileOutputStream(des)) { //定义一个数组 用于保存 一次性读取的...原创 2022-04-05 20:44:36 · 1408 阅读 · 1 评论 -
Java 数据结构常用API
#数组int[] nums = new int[26];int length = nums.length;*静态注册:int[] nums = new int[]{ 1, 2, 3, 4, 5};//可在注册时同时赋值*克隆数组:int[] another = nums.clone();*数组统一赋值Arrays.fill(nums, 0);//将数组各个元素的值都赋为0*数组排序API:Arrays.sort(nums);//针对nums做整体排序,默认是升序排序Arrays.sor原创 2022-04-05 20:43:20 · 1035 阅读 · 0 评论 -
Java线程Thread、线程组ThreadGroup、线程池简单总结
一.线程的相关概念与理解参考笔记:进程、线程的理解二.线程的五种状态1.新建:创建过程2.就绪状态:创建好了,可以运行了3.运行状态:代码处理逻辑正在运转中4.死亡状态:逻辑执行完了,主动死亡;或者出现异常问题,被动死亡。5.阻塞状态:其实就是暂停,因为一些原因需要暂停逻辑执行,可能的情况有: 1)主动暂停,sleep()睡眠指定的一段时间,睡完继续执行代码逻辑 2)被动...原创 2022-04-02 13:57:32 · 900 阅读 · 0 评论 -
线程安全与Java多线程调度、同步锁
一.线程安全: 这个概念是针对某一段代码的在多个线程中执行时的结果而言的。 某一段代码线程安全,是指多个线程同时运行这段代码时,最终的执行结果与各个线程调度的顺序无关。(线程调度顺序默认情况下是随机的)。 换句话说就是,无论各个线程相互间以何种顺序执行,产生的结果该怎么样还是怎么样。##.Java总为何需要注意线程安全? 从概念上讲,常见的线程调度策略有两种:抢占式、协同式。前者是多个线程互相抢夺时间片,最终随机选中一个线程;后者是当前...原创 2022-04-02 13:20:35 · 196 阅读 · 0 评论 -
进程、线程的理解
##整体理解:1.进程: 我们写的代码只是描述了程序应该怎么运行,它是一份死的“说明书”。在实际应用场景中,我们想要的是按照这些代码的执行逻辑去处理和输出我们希望的数据。 而进程就是来完成这个处理过程的,它是很多代码的一次执行过程,它操作和输出我们需要的各种数据,是一个动态的演变过程,有自己的生命周期。它是一个执行过程,每一段代码的执行“小过程”组成了进程执行的“大过程”。 应用程序是运行在操作系统里的,一个应用程序由一个或多个进程组成,代码执行过程需要内存、外设等资源来提...原创 2022-04-02 11:26:03 · 818 阅读 · 0 评论 -
TCP三次握手、四次握手过程,以及原因分析
#.首先,要明白握手的目的是什么可以将TCP双向通信的过程,看成两个单向通信过程的组合: 一次 “请求连接——确认”操作,可以确保一方做好了发送准备,另一方做好了接收准备,因此可以建议一个单向的连接; 一次 “请求关闭——确认”操作,可以确保一方发完了数据希望关闭发送,另一方收到请求关闭接收,最后关闭掉一个单向的连接。 在建立连接时,是为了判断双方是否能够正常建立连接,即客户端—>服务端、服务端->客户端两个单向的收发都是正常的。而在关闭连接时,原创 2017-08-04 02:28:26 · 4424 阅读 · 1 评论 -
网络协议的综合思考 及 网络体系: OSI vs TCP/IP
一、通俗地说一下网络协议的目的、主要组成内容网络协议的作用 类似于 交通管理系统。 一种交通管理系统的目的无非是两个:1.提供基本能力:使人们能够把 物品(包括人在内)从一个 地点 运输到 另一个地点2.提供优化能力:提升这种运输的效率 它通过一些列交通规则、规范(红灯、单双号限行等),定义了车辆、行人如何协同有效地行进,来达到这一目的。如果规则原创 2017-08-04 02:18:33 · 491 阅读 · 0 评论