在Golang中,WaitGroup主要用来做go Routine的等待,当启动多个go程序,通过waitgroup可以等待所有go程序结束后再执行后面的代码逻辑,比如: WaitGroup主要是三个方法,Add(int),Done()和Wait(), 其中Done()是调用了Add(-1),推荐使 ...
分类:
其他好文 时间:
2019-02-02 18:59:26
阅读次数:
230
有一次,我正在开发一个视频压缩程序,而压缩算法是需要非常高效的,也就是需要使用到CPU的多媒体指令。在X86的领域里,目前主要有两家CPU,就是INTEL和AMD。它们的多媒体指令是不一样的。为了区分这种不同的指令,就需要调用函数GetSystemInfo来获取CPU的信息,然后再调用不同的动态连接 ...
一、Optional出现的缘由 二、深入理解 Value based Classes 三、Optional容器的构造 四、普通方法 五、高级拓展 1、ifPresent(Consumer) 2、ifPresentOrElse(Consumer) 3、filter(Predicate) 4、or(Su ...
分类:
编程语言 时间:
2019-02-01 19:47:59
阅读次数:
168
Java的线程对象是存储在堆上的,所以,能够创建多少个线程,受到堆空间的大小限制,同事也受到每个线程的大小的限制,假如线程对象内部有一个非常大的数组字段,那就非常影响能够创建的线程的大小 我们的例子: class Task implements Runnable { //5M堆内存 128k的情况下 ...
分类:
编程语言 时间:
2019-02-01 14:17:11
阅读次数:
214
变量格式:数据类型 变量名称 数组格式:数据类型[] 数组名称;等效写法(不推荐):数据类型 数组名称[] 变量如果定义好了,要想使用一定要赋值 数组如果定义好了,要想使用一定要“初始化” 初始化:就是在内存中开辟数组空间,并且赋予一些默认值(准备工作) 数组的初始化方式有两种: 1.动态初始化,指 ...
分类:
编程语言 时间:
2019-01-30 21:42:03
阅读次数:
174
【官方文档】:IntelliJ IDEA 2017.3 EAP: Configurable command line shortener and more 如果类路径太长,或者有许多VM参数,程序就无法启动。原因是大多数操作系统都有命令行长度限制。在这种情况下,IntelliJIDEA将试图缩短类路 ...
分类:
其他好文 时间:
2019-01-29 20:25:02
阅读次数:
846
自动内存管理机制 Java虚拟机原理 所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为 系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box、Vmare就属于系统虚拟机,他们完全是对物理计算的仿真, 提供了一个可以运行完整操作系统的软件平台。 程序虚 ...
分类:
其他好文 时间:
2019-01-26 11:18:03
阅读次数:
220
web自动化测试环境搭建 1.python安装 1)访问:https://www.python.org/downloads/ 下载:python安装包 2)下载完成后点击安装包根据提示进行安装进行安装。 3)配置环境变量。 右键点击计算机点击属性 在系统界面,点击高级系统设置-》环境变量-》-》系统 ...
分类:
Web程序 时间:
2019-01-24 18:58:59
阅读次数:
190
浏览器驱动下载 下载谷歌(chrome)、火狐(Firefox)、IE浏览器及对应的浏览器驱动 各浏览器驱动下载地址: Firefox浏览器:FirefoxDriver Chrome浏览器:ChromeDriver IE浏览器:Driver Edge浏览器:EdgeDriver 设置浏览器驱动路径 ...
分类:
其他好文 时间:
2019-01-23 11:36:13
阅读次数:
158
Threading是用于提供线程相关的操作,线程是应用程序中工作的最小单元。线程与进程的关系下图所示: 子线程是由主线程产生的,但两者并没有关联。 利用threading创建线程: 上述创建了两个线程t1和t2,然后控制器就交给了CPU,CPU根据指定算法进行调度,分片执行指令。 更多方法: sta ...
分类:
编程语言 时间:
2019-01-22 19:42:17
阅读次数:
172