摘要:
补充学习一个知识点:泛型。这个概念是在集合中接触到的,因为当时学的有点懵,所以就没有立马写出来。 现在回过头来看,发现还是蛮简单的。 一、泛型的概念 先回顾下集合和数组的区别: 数组长度固定不变,可以存放任意数据类型,但存放的数据类型要一致。 集合长度可变,可以存放任意引用数据类型,但存储的数据类型 阅读全文
摘要:
首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析,第三步是转化为opcode,第四部也就是顺序执行这些opcode了。 聪明如各位看到这里,再返回上面看一下这张图片,肯定就会有不一样的感觉了。咱们借用一句话来阐述这几个步骤:当PHP拿到一段代码后,经过词法解析、 阅读全文
摘要:
对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。 在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么? 一 编写java源程序 java源文件 阅读全文
摘要:
前言 这篇文章主要介绍Go内存分配和Go内存管理,会轻微涉及内存申请和释放,以及Go垃圾回收。从非常宏观的角度看,Go的内存管理就是下图这个样子,我们今天主要关注其中标红的部分。 Go这门语言抛弃了C/C++中的开发者管理内存的方式,实现了主动申请与主动释放管理,增加了逃逸分析和GC,将开发者从内存 阅读全文
摘要:
package main import "fmt" func main() { arr := [...]int{1, 3, 5, 7, 9, 11} // arr 是一个数组 s1 := arr[:] // 数组是连续存储的空间 切片只存放指针 没有存放数据 所以 指针的位置 // 只收上界影响,也 阅读全文
摘要:
练习:map 实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。 你会发现 strings.Fields 很有帮助。 package main import ( "strings" "gol 阅读全文
摘要:
系统Centos版本:CentOS 7.4 通过yum安装ss5 依赖包: yum -y install gcc automake make pam-devel openldap-devel cyrus-sasl-devel openssl-devel 下载ss5 wget https://jais 阅读全文
摘要:
在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进 阅读全文
摘要:
一、基于alpine基础镜像制作dockerFile,alpine的好处是体积小,有apk命令方便添加包 制作nginx 运行容器 docker run -it -d --name nginx alpine:latest 进入容器 docker exec -it nginx sh # 简单解释:-i 阅读全文
摘要:
场景描述: 付费客户端,比如微软offic,付费idea,游戏外挂等等。定时或者每次都会检查客户端是否有授权信息、是否注册等。 一般而言,授权信息就是一个卡密或者注册码。 卡密与注册码区别: 卡密:有卡号与卡密2个东西 注册码:只有一个码 区别:从验证的角度而言,2者没有太多区别,那为什么要有卡密呢 阅读全文