1. if 条件必须是bool类型 2. 声明变量的同时必须初始化,否则不可使用。 3.值类型和引用类型 (内存的存储位置不同) 值类型在栈区,引用类型存储在堆区 4.c#的大部分复杂类型,比如class都是引用类型,分配的内存空间是在堆区。所以在生命周期内,可以被不同的函数访问,CLR精心设计了一 ...
1、变量是什么? ① 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据 2、为什么要使用变量? ① 使用变量可以方便的获取或者修改内存中的数据 3、变量的使用 ① 变量的声明 var a; ② 变量的赋值 a= 10; ③ 直接声明并初始化 var b = 100; ④ 同 ...
分类:
编程语言 时间:
2020-08-19 19:38:42
阅读次数:
72
1.为什么要使用锁? 1.1首先说明两个定义: 进程:程序启动,进入内存,资源分配的基本单位 线程:程序执行的基本单元,程序执行的基本单位 1.2程序如何开始运行? Cpu读指令 pc(程序计数器,存储指令地址) 读数据 Register 计算,回写 下一条 1.3多线程带来的问题: 多线程是指一个 ...
分类:
编程语言 时间:
2020-08-19 19:24:43
阅读次数:
66
问题 E: 环绕膜拜 (round) 时间限制: 1 Sec 内存限制: 128 MB提交 状态 题目描述 XXX 大学霸,巨啊! —— 福州时代中学 2019 届名言 学长们非常喜欢把一个人环绕起来膜,比如 谢队 。 现在把机房抽象成平面直角坐标系,共有 n 个人,第 i 个人的坐标是 (xi,y ...
分类:
其他好文 时间:
2020-08-19 19:20:25
阅读次数:
54
值传递: 传递的是副本 引用传递: 在Java中,引用传递实际上不是传递的该引用本身,而是传递的该引用的一个副本,如果不对副本指向进行修改,那么这个副本和引用值就是同一个地址,操作副本就相当于操作引用,这里就和引用传递一致了。但是如对该副本修改了指向,那么修改的知识副本值,而不会对引用本身造成影响。 ...
分类:
编程语言 时间:
2020-08-18 15:43:44
阅读次数:
93
一:函数式编程 lambda表达式: Runnable run = () -> { //逻辑代码 }; 归根结底,lambda表达式就是一个类似于匿名内部类的语法糖,只不过不会像匿名内部类一样制造一个新的内存空间;这个表达式一般是用于函数式编程的,把方法当作参数,传给另一方法,主要关注点在参数列表和 ...
分类:
编程语言 时间:
2020-08-18 14:04:19
阅读次数:
71
redis分片机制(shards) 前提说明: redis可以通过修改内存的大小 实现数据的保存.但是内存的资源不易设置的过大,因为很多的时间都浪费在内存的寻址中. 需求: 如果有海量的数据,需要redis存储 问:应该如何处理? 解决方案: 可以采用Redis分片机制 实现内存数据的扩容. 知识点 ...
分类:
其他好文 时间:
2020-08-18 13:55:27
阅读次数:
83
这系列文章只简单介绍一下HotSpot垃圾回收中涉及到的算法及相关的垃圾回收器,并不进行源代码分析,后面会开一个系列对HotSpot的垃圾回收以及内存管理进行源代码解读。 涉及到的垃圾回收算法一共有 4 种: 标记-清除算法 复制算法 标记整理算法 分代收集算法 标记-清除算法 最基础的收集算法是“ ...
分类:
编程语言 时间:
2020-08-18 13:51:06
阅读次数:
63
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。这里讨论的收集器基于JDK 1.7 Update 14之后的 HotSpot 虚拟机,这个虚拟机包含的所有收集器如下图所示 上图展示了 7 种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处 ...
分类:
其他好文 时间:
2020-08-18 13:50:45
阅读次数:
54
1.GC回收哪些内存区域呢?堆内存对象数组方法区该类所有的额实例都已经被回收,也就是java堆中不存在该类的任何实例加载该类的ClassLoader已经被回收该类对应的java.lang.Class对象在任何地方没有被引用,也无法通过反射访问该类方法。垃圾回收性价比比较低,一般不回收废弃常量无用的类(需要同时满足以下三个条件)2.GC是如何判断垃圾对象的?1.引用计数法给对象的对象头中添加一个co
分类:
编程语言 时间:
2020-08-18 13:42:33
阅读次数:
73