- 博客(20)
- 收藏
- 关注
转载 selenium学习之Selenium Webdriver元素定位的八种常用方式
在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素。其中By类的常用定位方式共八种,现分别介绍如下。 1. By.name() 假设我们要测试的页面源码如下: <button id...
2018-01-04 19:39:00
141
转载 JVM-虚拟机性能监控与故障处理工具
注意:如果读者在工作中需要监控运行于JDK1.5的虚拟机之上的程序,在程序启动时请添加参数“-Dcom .sun .management .jmxremote”开启JMX管理功能,否则由于部分工具都是基于JMX(包括4.3节介绍的可视化工具),它们都将会无法使用,如果被监控程序运...
2017-08-17 21:37:00
140
转载 JVM-Java内存区域与内存溢出异常
一、运行时数据区域 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,每条线程都需要有一个独立的程序计数器,如果线程正在执行的是一个Java方法,这个...
2017-08-14 21:34:00
118
转载 定时任务-Timer
在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现。下面LZ就其原理、实例以及Timer缺陷三个方面来解析java Timer定时器。 一、简介 在java中一个完整定时任务需要由Timer、TimerTask两个类来配合...
2017-08-06 19:07:00
132
转载 并发编程-线程池-四大线程池
一、Executors的API介绍 Java类库提供了许多静态方法来创建一个线程池: a、newFixedThreadPool 创建一个固定长度的线程池,当到达线程最大数量时,线程池的规模将不再变化。 b、newCachedThreadPool 创建一个可缓存的线程池,如果当前线程池的规...
2017-08-06 18:38:00
103
转载 并发编程-队列-SynchronousQueue
介绍 Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。 不像ArrayBlockingQueue或LinkedListBlockingQueue,Sy...
2017-08-06 18:05:00
123
转载 《设计模式》之单例模式
首先要解释一下什么是延迟加载,延迟加载就是等到真真使用的时候才去创建实例,不用时不要去创建。 从速度和反应时间角度来讲,非延迟加载(又称饿汉式)好;从资源利用效率上说,延迟加载(又称懒汉式)好。 下面看看几种常见的单例的设计方式: 第一种:非延迟加载单例类...
2017-08-06 13:23:00
61
转载 并发编程-volatile的使用及其原理2
内存模型相关概念 理解volatile其实还是有点儿难度的,它与Java的内存模型有关,所以在理解volatile之前我们需要先了解有关Java内存模型的概念,这里只做初步的介绍,后续LZ会详细介绍Java内存模型。 操作系统语义 计算机在运行程序时,每条指令都是在CPU中执行的,在...
2017-08-06 09:19:00
64
转载 并发编程-volatile的使用及其原理
一、volatile的作用 在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized原理有了解的话,应该知道Synchronized是一个比较重量级的操作,...
2017-08-06 09:11:00
80
转载 并发编程-线程局部变量ThreadLocal
ThreadLocal原理及其实际应用 前言 java猿在面试中,经常会被问到1个问题: java实现同步有哪几种方式? 大家一般都会回答使用synchronized, 那么还有其他方式吗? 答案是肯定的, 另外一种方式也就是本文要说的ThreadLocal。 ThreadLoc...
2017-08-05 19:34:00
119
转载 并发编程-SimpleDateFormat线程不安全及解决办法
一. 为什么SimpleDateFormat不是线程安全的? Java源码如下: 一. 为什么SimpleDateFormat不是线程安全的? Java源码如下: /** * Date formats are not synchronized. * It is recommended ...
2017-08-05 19:27:00
377
转载 并发编程-线程池-Queue
在Java多线程应用中,队列的使用率很高,Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。...
2017-08-05 10:45:00
93
转载 并发编程-线程池-ThreadPoolExecutor机制
一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机制。 3、先来了解其线...
2017-08-03 23:55:00
134
转载 《设计模式》之命令模式
一、命令模式定义 命令大家都不会陌生,那么在开始命令模式之前,可以想象一下生活中的命令模式的特点: 如老板命令你完成一个OA项目是一个命令,接着看看其特点: 1、在上面的命令中,命令的执行者肯定是聪明的你了。具体的执行方法,可能是通过vs实现,或者是通过eclipse实现,由此看来:命...
2017-06-24 19:59:00
79
转载 用MyEclipse,TortoiseGit 将本地上传代码到gitup
一 环境准备 gitupGitHub客户端(我的windows下的客户端) TortoiseGit MyEclipse 二 gitup账号准备 1、到GitHub上注册自己的账号。https://github.com/ 2、创建第一个代码仓库。 填写代码仓库...
2017-06-17 10:31:00
171
转载 redis系列-Redis为什么使用单进程单线程方式也这么快
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。 Redis快的主要原因是: 完全基于内存 数据结构简单,对...
2017-06-01 13:12:00
70
转载 mongoDB(4)——mongoDB数据库的结构及GridFS存储机制
mongodb安装文件:https://pan.baidu.com/s/1i50wR4p 一)mongodb结构: Collections:在mongoDB中叫做集合,是文档的集合。它是无模式的,可以存储各种各样的文档。 和关系型数据库中的表相比,关系数据库的每一张表就是一...
2017-05-06 15:39:00
337
转载 mongoDB(3)——安装和启动
下载MongoDB安装包:http://www.mongodb.org/downloads mongoDB服务器端安装和启动步骤: 1. 在磁盘创建文件夹 d:\mongodb d:\mongodb\db数据库目录 ...
2017-05-06 15:03:00
86
转载 mongoDB(2)——介绍
一、简介 mongoDB是一个开源的,基于分布式的,面向文档存储的非关系型数据库。是非关系型数据库当中功能最丰富、最像关系数据库的。 mongoDB由C++编写,其名字来源于"humongous"这个单词,其宗旨在于处理大量数据。 mongoDB可以...
2017-05-06 15:00:00
115
转载 mongoDB(1)——前序(NoSQL)
mongoDB(1)——前序(NoSQL) MongoDB是非关系型数据库的一种。在进入mongoDB的学习之前,我们先来了解一下非关系型数据库(NoSQL)。 一、NoSQL的产生 ...
2017-05-06 14:51:00
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人