- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 Tomcat8源码编译
目录Tomcat8源码编译Tomcat8源码编译一、简介Apache Tomcat 8.5版本实现了Servlet 3.1和JavaServer Pages 2.3,如果有朋友需要了解Servlet和JSP是什么可以移步官方文档JSR340,JSR245,搜索servlet,搜索jsp。二、下载源码访问Apache Tomcat 官网(tomcat),选择对应版本,我这里以tomcat 8 为例,下载源码三、解压源码压缩包查看1. 查看README.mdRE.
2021-03-01 12:34:07
313
原创 Java粗浅认识-并发编程(五)-线程池
线程池先来总揽一下线程池结构以上是线程池结构,常用的工具java.util.concurrent.Executors结构如下在Executors中常用的方法Executors.newCachedThreadPool()创建线程池核心poolSize = 0,最大poolSize=Integer.MAX_VALUE,线程任务执行完后,如果没有新任务,会在60s后被回收...
2018-12-24 11:12:47
295
原创 Java粗浅认识-并发编程(四)-线程间通信
线程间通信 线程间通信,就是对同进程类共享资源的安全访问,Java中通过AQS(java.util.concurrent.locks.AbstractQueuedSynchronizer)同步器来实现资源安全访问,常见基础工具类型,java.util.concurrent.CountDownLatch(java1.5)、java.util.concurrent.Semaphore(java1....
2018-12-23 15:20:30
237
原创 Java粗浅认识-并发编程(三)-线程启动
线程启动实现java.lang.Runnable常用方式 public static class Task implements Runnable { @Override public void run() { System.out.println("执行任务。"); } }启动线程 ...
2018-12-23 13:12:10
209
原创 Java粗浅认识-并发编程(二)-线程状态
线程状态线程状态在windows,linux和android等OS中状态都是不一致的,Java对线程状态做了一个抽象。在java中线程状态由Thread内部内State表示java.lang.Thread.StateThese states are virtual machine states which do not reflect any operating system th...
2018-12-22 22:49:47
272
原创 Java粗浅认识-并发编程(一)-线程简介
线程简介进程,操作系统中分配资源的基本单元,线程,操作系统中运行的基本单元,在一个进程中可以包含一个或多个线程,进程间通信,资源共享效率低,在同一个进程中,所有线程共享资源。线程在使用时,也存在各种问题,线程安全性,线程活跃性,线程性能线程安全性在多线程环境中,能够正确地处理多个线程之间的共享变量,使程序功能正确完成,这里的正确完成,就是每个线程得到预期值。示例代码中,thre...
2018-12-21 17:32:09
210
原创 Java粗浅认识-容器简介
容器简介java.util.Collection java 1.2集合,表示一组对象,在里面的对象称为元素,有些有序,有些无序,有些可以重复,有些不能重复,有些可以添加null,有些不能添加null,有些是线程安全的,有些线程不安全contains(Object o),调用元素的equals(e)线性集合:数组,链表,数据随机访问时间复杂度O(1),链表访问元素O(n)Collect...
2018-12-21 14:40:42
179
原创 Java粗浅认识-网络编程(二)-网络通信
单线程模型服务端绑定一个端口,然后接收请求,每次请求就处理,后续请求进来时,等待之前的任务处理完成,如果任务处理非常快,也是不会有明显阻塞的。单线程模型服务端代码展示文件上传后处理逻辑,在一个while(true)中阻塞等待accept,由于是演示网络通信,这里的文件I/O缓存直接使用的是一个byte[1<<14] = 16k的容量,在项目中可以写成循环使用的方式。p...
2018-12-20 16:52:30
182
原创 Java粗浅认识-网络编程(一)-网络通信模型简介
网络通信网络通信,就是进程间的一种通信方式,网络通信都采用客户端-服务端模型,当然与之相对的就是进程内部的通信(就是后面要讲的多线程编程里面的东西,包括同步,信号量)。unix网络通信关于网络通信I/O多路复用,select(基于轮询,支持少数文件描述符)、poll(基于轮询,支撑大量文件描述符)、epoll(系统计算文件描述数量,基于回调)select 在初始化时,指定描述符...
2018-12-20 13:30:24
304
原创 Java粗浅认识-I/O(四)-AIO
AIO什么是AIO,既是异步IO,这里的异步对照io第一篇里面异步IO流程图,在请求数据和回传数据两个阶段都是交给操作系统内核态异步处理,无需用户态阻塞等待,Java1.7中新增处理异步IO的类,AsynchronousFileChannel、AsynchronousServerSocketChannel、AsynchronousSocketChannel、AsynchronousChanne...
2018-12-18 12:52:33
269
原创 Java粗浅认识-I/O(三)-NIO2
Nio2什么是Java Nio2,java Nio2是在java 7新增内容,在java1.4 nio的基础上再次对I/O模型的增强,新增Path类,Files工具类,Paths工具类,主要是为了方便文件、目录的操作。java.nio.file.Path一个Path代表了一个在本地文件系统的一个路径1.创建一个path类 /** * 创建一个Path类 ...
2018-12-17 23:23:46
228
原创 Java粗浅认识-I/O(二)-NIO
NIO简介什么是Java NIO,nio在java1.4时新增,叫做new I/O,就是新的I/O,既是在基于1.0出现的I/O Stream操作之上的新改变,包括,新的 I/O通信模型,如Buffer,Channels,多路复用(Selector);基于Perl样式正则表达式的模式匹配工具。java.nio.Buffer一个特点原始数据类型(并不包括如String等类)的集合,提供...
2018-12-17 17:29:12
183
原创 Java粗浅认识-I/O(一)-I/O简介
I/OIO到底是什么?I/O是(Input和Output)输入输出,在操作系统层面,Input就是从输入设备(磁盘驱动器、网络和终端)读取数据到内存中,Output就是从内存中把数据输出到输出设备中(磁盘驱动器、网络和终端),而这些输入输出设备都是在Linux系统当中,所有的输入、输出设备都被抽象化为文件,二文件就是一个n个字节的序列,文件又被分类为普通文件(二进制和文本),目录,套接字(用...
2018-12-14 22:43:32
351
原创 Java粗浅认识-java简介
简介java 是1991年是为了交互式电视设计,sun公司在1996年发布java1.0版本,java的特点是“一次编译,到处执行”,借助于在浏览器上可执行java apple,渐渐流行起来,在1999年发布java1.2,分为javaee、javase、javame。2006年11月,sun,通过GPL条款,开源了大部分jvm源码2009年oracle收购了javaJava的版本的...
2018-12-14 13:56:33
4252
2
原创 logback.xml模版
一、maven导入必要的包必要包,包含三个(logback-classic、logback-core、slf4j-api),高版本的logback-classic默认导入了logback-core和slf4j-api,所以,在maven导入后,可以自行确认是否默认导入 <dependency> <groupId>ch.qos....
2018-10-30 15:44:39
593
原创 Java粗浅认识-Java 8 lambda 表达式
一、lambda表达式实例提到lambda表达式,我们一般用的最多的就是foreach遍历List、Set、Queue、Map等。/** * 容器forEache遍历 */ public static void forEach() { //list List<String> list = new ArrayList&...
2018-09-24 11:15:05
269
2
原创 Mybatis插件源码解读
一、责任链模式Mybatis插件按照`责任链模式`实现。[责任链,菜鸟教程](http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html)最核心的每个Logger的logMessage()方法都可以选择自己执行或者传递给下一个执行,从而形成了一个链。package cn.baopz.mod...
2018-09-13 22:02:42
496
原创 java 多种文件复制方式(1g文件和4g文件)
java8,测试1g文件copy和4g文件拷贝时效率vm参数设置: -XX:+PrintGCDetails -Xmx1G -Xms1G源码import java.io.*;import java.nio.IntBuffer;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;impor...
2018-09-01 14:45:48
889
原创 MappedByteBuffer 读取超过2G文件
MappedByteBuffer处理大文件,一次只能读2G内容到内存中,为了读取大文件,需要循环读取处理。protected void head() { //512m long length = 1L << 29; //4g long _4G = 1L << 32; long cur =...
2018-08-31 14:36:05
5137
3
原创 Nio之allocateDirect中array() java.lang.UnsupportedOperationException
ByteBuffer byteBuffer = ByteBuffer.allocateDirect(8);byteBuffer.array();直接内存是不支持array()方法的。
2018-08-31 14:18:32
2217
2
原创 maven return code is:400,ReasonPhrase:Repository does not allow updating assets
maven在部署(deploy)时候抛的异常,存储库不允许更新资产,这个就是和私有maven库更新策略有关。具体设置(nexus oos-3.6.2)步骤:1.访问私有库管理界面http://xxx.xxx.xxx.xxx:80812.登录管理员账号(默认:admin/admin123)3.进入设置界面->repository->repositories->trd...
2018-08-29 16:02:41
9226
原创 selenium unable to set cookie,selenium 截图
selenium unable to set cookie问题在webDriver中,在一个webDriver登录后,相应的cookies是通过登录操作被保存到一个webDriver中,运行其他webDriver时,又需要做登录操作,如果实现只登陆一次,然后共享cookies岂不是很好。当尝试添加cookies时抛出selenium unable to set cookie错误,大多情况是...
2018-08-20 18:30:20
6598
2
原创 Selenium 纵向滚动条控制、Selenuim js赋值问题
Selenium 纵向滚动条控制页面异步加载时,为了获取由浏览器滚动条触底加载新的内容时,需要用到webdriver来控制滚动条。第一种方式:直接控制滚动条跳转到具体位置 @Test public void scrollBarPositionTest() { webDriver.get("https://www.taobao.com/"); ...
2018-08-20 18:21:06
356
原创 Selenium-WebDriver
org.openqa.selenium.WebDriver 接口常用api//打开一个链接void get(String var1);//跳转桃下一个窗口WebDriver.TargetLocator switchTo();//驱动器管理,主要包括当前窗口最大化,请求是否超时控制,得到cookies或清楚cookies等WebDriver.Options manage();//窗口句柄...
2018-06-07 19:01:40
405
转载 布隆过滤器
计算公式1.内容空间bit,bit数组大小:2.哈希函数个数:3.误判率:来源:http://www.cnblogs.com/allensun/archive/2011/02/16/1956532.html
2018-05-26 12:46:03
145
原创 Selenium,ChromeDriver之Chrome浏览器设置,打印控制台日志(Network,console等)-番外篇
一、Chrome信息检测,chrome://chrome-urls/chrome地址栏中输入 chrome://chrome-urls/详情如下检查版本信息,浏览器基本信息chrome://version/二、Chrome启动参数参考地址https://peter.sh/experiments/chromium-command-line-switches/一...
2018-05-25 19:55:53
17206
1
原创 Selenium,基础环境搭建
一、Maven包依赖关系图 二、导入Selenium包(高版本包里面已经包含了各平台驱动,如图) <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> <dependency> <grou...
2018-05-24 18:11:13
278
原创 初识Selenuim
一、Selenium是什么,能干什么Selenium是自动化浏览器工具,通过Selenium可以自动化运行浏览器Selenium能够用来自动化测试程序,能够用来自动化获取网页信息。二、Selenium包含哪些模块1.Selenium WebDriver,可以在驱动本地和远程web浏览器2.Selenium IDE,firefox和chrome上的插件,能够录制操作路径3.Selenium Remo...
2018-05-23 20:17:32
302
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人