自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Error: listen EACCES: permission denied 0.0.0.0:80快速解决方式

并非一定要30001,随意指定你想的端口。别跟系统常用的端口冲突就行了。指定端口启动 yarn dev --port 3001。

2024-09-19 16:26:55 225 1

原创 centos7 mysql执行sql文件

1.如果需要创建数据库,以下sql创建一个指定编码格式的testdb数据库。

2023-12-02 18:09:11 747

原创 centos7 yum安装nginx

设置开机启动 systemctl enable nginx。查看状态 systemctl status nginx。重启服务 systemctl reload nginx。启动 systemctl start nginx。停止 systemctl stop nginx。检查配置文件是否正确 nginx -t。2.安装 (-y 的意思是自动yes)一般都是在 /etc/nginx下面。3.查找安装到哪里了。

2023-12-02 14:24:43 467

原创 centos7 yum安装mysql5.7

比如我的是(注意-p后面直接接密码不要加空格):mysql -u root -pFOD/)6y,sIx.设置MySQL服务开机自启 systemctl enable mysqld.service。查看运行状态 systemctl status mysqld.service。停止 systemctl stop mysqld.service。注意:默认设置密码策略很高,密码必须有:大小写字母+数字+符号。如果是云服务器上安装的,公网访问需要安全组中打开3306端口。7.使用初始密码登录。

2023-12-02 11:58:29 457

原创 centos7 yum安装redis

requirepass 后按下确认键,(找下一个关键字可以按 n)输入 ":w",然后按回车键。重启服务 systemctl restart redis。查看服务状态 systemctl statusredis。2.安装 参数-y是遇到yes/no时 自动yes。按下 "Esc" 键,确保处于命令模式。启动 systemctl start redis。停止 systemctl stop redis。w是保存 q是退出!”就是保存后强制退出。3.查看redis安装的位置。在它下面添加一行新密码。

2023-12-02 10:55:13 597

原创 centos7 yum安装jdk1.8

1.列出可安装版本2.安装3.检查命令javac。

2023-12-02 10:06:06 524

原创 mysql 单表查询很快,联表查询很慢解决方案

工作中遇到两边表单表查询秒出,但是一旦联表就很慢的情况,磕磕碰碰试了很多种方法最后发现是两个表的关联字段的索引编码不一致,一个是utf8mb4一个是utf8导致的改成一致的编码即可作此记录希望能帮到遇到同样问题的朋友...

2022-05-11 16:43:45 2023 1

原创 centos常用组件安装

nginx:CentOS7中使用yum安装Nginx的方法 - 宋兴柱 - 博客园redis:CentOS7 linux下yum安装redis以及使用 - rslai - 博客园mysql5.7linux centos7安装mysql5.7并开启远程访问_sun10367的博客-优快云博客ElasticSearch:CentOS7 yum install ElasticSearch - 江湖小小白 - 博客园mongodb:CentOS8使用yum安装MongoDB 4.2的.

2022-03-03 09:48:40 4985

原创 nginx常用配置

指定路径替换成空(去除指定路径),并跳转到指定路径 location /prod-api/ { rewrite "^\/prod-api\/(.*)$" /$1 break; proxy_pass http://192.168.1.11:8080; break; }指定路径直接跳转到某个地址 location /aa/bb/html/ { rewrite ^/(.*)$ http://www.bai...

2022-01-25 10:41:46 685

原创 arthas安装

2种方式1. wget https://alibaba.github.io/arthas/arthas-boot.jar启动 java -jar arthas-boot.jar2. curl -L https://alibaba.github.io/arthas/install.sh | sh启动 ./as.sh

2022-01-17 14:49:45 1395

原创 windows 删除指定开头的文件

复制下面代码到一个新建的txt文件,dir=改为你的文件路径,前缀改为你要删除的前缀然后这个txt文件的后缀改为bat运行即可@echo offSet dir=D:\xx\xxx\del %dir%._*.* /f/s/q/afor /f "delims=" %%i in ('dir /s/b/ad前缀') do ( rd /s/q "%%~i")pause...

2020-10-09 17:25:25 2209

原创 kafka java.net.UnknownHostException:xxxxxx

不用去改hosts文件1:到kafka的文件目录下 /config/server.properties 修改以下配置的值,注意这里原来是注释的 , 打开注释, ip地址就填服务器的ip地址,比如我是内网的192.168.1.10 外网就填外网的 。原来是:advertised.listeners=PLAINTEXT://:9092填完的内容如下advertised.listeners=PLAINTEXT://192.168.1.10:9092修改完重新启动kafka如...

2020-09-22 19:28:22 1542

原创 禅道 this server could not verify that you are authorized to access报错解决

访问禅道时报错thisservercouldnotverifythatyouareauthorizedtoaccessthedocumentrequested.Eitheryousuppliedthewrongcredentials(e.g.,badpassword),oryourbrowserdoesn'tunderstandhowtosupplythecredentialsrequired.是因为没输入对账号密码。其实是启动的...

2020-08-25 15:08:33 9552

原创 auto. js 网络请求post和json解析

varurl="XXXXXXX";//发送请求varres=http.postJson(url,{"a":"11","b":"22","c":"33"});//因为我的接口返回格式是://{//"code": 200,//"data":{},//"msg":"操作成功"//}//所以...

2020-03-10 11:44:38 12163 6

原创 android studio 检查不到设备

apk管理器显示设备也是正常,但是android studio就是找不到设备 ,尝试了半个钟才解决,记录一下。解决方案:把鲁大师卸载了,或者把鲁大师有个插件服务叫手机助手的进程关了。我是直接卸载鲁大师了...

2019-12-12 12:05:19 436

原创 jeesite 发布后tomcat报错More than one fragment with the name [org_apache_tomcat_websocket]

纠结了两三个钟的问题记录一下原因:使用的tomcat7.0版本报这个错解决方法:换成tomcat8即可使用jeesite开发,tomcat7不支持servlet3.1可能还有其它兼容问题,升级到springboot2只能用tomcat8及以上版本...

2019-03-20 12:01:28 13774 1

原创 mysql安装报错no compatible servers were found

搜索了网上的解决方法 确实运行库的   安装vcredist_x86的,但我用了无效然后我下了个  微软常用运行库合集  把运行库全都装了。重新安装mysql   一路畅通,安装成功希望对同样境遇的朋友有用 ...

2019-02-25 16:52:16 3451

原创 git安装 报错cannot assign requested address

在服务器上搭建git服务器时遇到报错 cannot assign requested address我的原因是:阿里云主机上的IP地址和电脑的IP地址不一致解决方法:运行->输入cmd->在打开的控制台输入ipconfig ->得到里面的IP地址修改git的配置文件里的server.httpBindInterface为控制台中显示的IP地址 然后重新运行gitbl...

2019-02-20 19:09:16 1073

转载 TextBox 滚动条和快捷键全选

private void textBox1_KeyDown(object sender, KeyEventArgs e)        {            if (e.Modifiers == Keys.Control && e.KeyCode == Keys.A)            {                ((TextBox)sender).SelectAll

2017-01-05 19:13:15 588

原创 图片和二进制转化

///         /// 二进制转图片        ///         ///         ///         public static Image TransformImage(string imageStr)        {            byte[] bytes = Convert.FromBase64String(imageStr

2017-01-05 19:11:55 354

转载 Winfrom 获取控件在屏幕的坐标

有时候控件包含在容器中是,仅去location只能得到相对于容器的坐标。可以通过PointToScreen(控件.location);获得控件或者鼠标点击在屏幕中的坐标;1. PointToScreen(e.Location)2. PointToScreen(button1.Location)

2016-12-20 19:09:52 10400

翻译 c#使用异步委托

public partial class Form1 : Form    {        public delegate int GetCalculateDelegate(int beginNum, int endNum);        public Form1()        {            InitializeComponent();        }

2016-12-12 19:57:06 339

原创 SQL 将多个列拼接成一行

1 /*SQL 将多个列拼接成一行*/原理:运用 for xml path('')语句,将每列数据拼接为节点为列名的XML,如果列名为无列名       select  stuff((select ',' + shop_name from Shop     where Shop_ID IN ( SHOPID1,SHOPID2)                            

2016-12-08 18:40:54 2880

原创 绘制平滑线条的winform窗体

protected override void OnPaint(PaintEventArgs e)        {            try            {                Graphics g = e.Graphics;//获取绘制对象                ///设置参数                g.SmoothingMode

2016-12-08 18:36:05 3548

原创 c#常用的三种异步写法

/*BackgroundWorker*/1: using (var appinstruction = new BackgroundWorker()) { appinstruction.DoWork += appinstruction_DoWork; appinstruction.Run

2016-12-08 18:34:06 1464

转载 动态LINQ查询

//构造Student数组            Student[] StudentArrary = new Student[3]            {                new Student(){Name="王清培", Age=24, Sex="男", Address="江苏南京"},                new Student(){Name="陈玉和

2016-11-30 11:25:59 340

原创 C#通过反射获取匿名类型的属性和属性值

static void Main(string[] args) { var Student1 = new { Name = "张三", Age = 11, Sex = "男", Address = "北京" }; var Student2 = new { Name = "李四", Age = 12, Sex = "

2016-11-28 19:21:25 2515

转载 C#委托随记

C#委托的笔记        (1). delegate        delegate我们常用到的一种声明    Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。    例:public delegate int MethodtDelegate(int x, int y);表示有两个参数,并返回int型。  (2). Ac

2016-11-28 19:05:57 325

原创 Trim容易被人忽略的一个用法

string类中Trim方法除了去空格,其实还可以指定去掉字符串前后任何一个字符。          string str= "234ddafd";          str = str.Trim('d');          Console.WriteLine(str);输出:234ddaf在某些去除前后特殊字符的要求时很好用

2016-09-17 09:13:08 685

微软常用运行库合集 2017.07.10 X86 X64 解决各种奇怪游戏的环境问题

微软常用运行库合集 2017.07.10 X86 X64 解决各种奇怪游戏的环境问题

2023-12-03

eclipselink-plugins-nosql-4.0.2.v20230613-3bfa6ac6dd.zip

EclipseLink,开源的持久化框架,是Eclipse Foundation的一部分,它EclipseLink,开源的持久化框架,是Eclipse Foundation的一部分,它实现了Java Persistence API (JPA) 和其他持久化标准。该框架的目标是为Java开发人员提供一个可扩展的环境,使他们能够与各种数据服务进行交互,包括关系数据库、Web服务、对象XML映射和企业信息系统。 EclipseLink的一个显著特点是其全面性和普遍适用性。它可以运行在任何Java环境中,并将对象读取、写入几乎任何类型的数据源,包括关系数据库、XML、JSON或ELS系统。此外,EclipseLink还提供了一套丰富的实体映射规范,如@OneToOne、@OneToMany、@ManyToOne和@ManyToMany等注解,以支持SQL和NOSQL数据库。

2023-11-23

apache-openjpa-3.2.2-source.zip java源码 供学习用

OpenJPA,作为Apache组织提供的开源项目,是Java Persistence API (JPA)的一个实现。它为开发者提供了一个功能强大且使用简单的持久化数据管理框架,使得开发者可以将注意力集中在编写业务逻辑上,而不需要过多地关注底层的数据操作。 具体来说,OpenJPA主要可以实现以下功能: 1. 映射Java对象到关系型数据库中的表:开发者可以通过定义实体类并使用@Entity注解进行标注,来表示数据库中的表。这个类需要具有一个唯一的标识符属性,该属性需要使用@Id注解进行标注。 2. 配置持久化单元:在persistence.xml文件中,开发者可以配置持久化单元。持久化单元是一个逻辑单元,包含了与数据库交互所需的所有信息,例如数据库连接信息、实体类信息等。 3. 独立使用或与其他框架集成:OpenJPA可以作为独立的持久层框架发挥作用,也可以轻松的与其它 Java EE 应用框架或者符合 EJB 3.0 标准的容器集成。 总的来说,OpenJPA的主要作用就是简化了现有Java EE和Java SE应用开发工作,让开发者更加便捷地完成数据持久化相关的任务。

2023-11-23

openjpa-parent-3.0.0-source-release.zip

OpenJPA,作为Apache组织提供的开源项目,实现了Java Persistence API (JPAOpenJPA,作为Apache组织提供的开源项目,实现了Java Persistence API (JPA)标准,它是一套功能强大且使用简单的持久化数据管理框架。OpenJPA的主要功能是简化了现有Java EE和Java SE应用开发工作,并且它不限于EJB 3.0,可以在Web应用、桌面应用中使用。

2023-11-23

ormlite Java编写的orm框架

OrmLite,英文全称为Object Relational Mapping,意为对象关系映射。它是Java的一种持久层框架,通过该框架,开发者可以定义实体类并将这些实体映射到数据库中。在Android开发中,默认的数据库是SQLite,数据中的字段就是开发者在实体类中定义的成员变量。 OrmLite的优点在于轻量级、使用简单、易上手、封装完善以及文档全面。然而,它也存在一些缺点,例如基于反射实现,这可能导致效率较低;另外,它的中文翻译文档较少。 在Android Studio中使用OrmLite的步骤如下:首先,需要导入jar包到项目的libs文件夹下。其次,可以通过搜索ormlite并添加(com.j256.ormlite:ormlite-android:5.0)到项目的依赖中。最后,新建DBHelper类并继承OrmLiteSqliteOpenHelper,然后重写相应的方法即可。

2023-11-23

eclipselink-src-4.0.2.v20230613.zip

EclipseLink,源自Eclipse Foundation的一个开源项目,是Eclipse Persistence Services的一部分。它是一个可扩展的持久化框架,允许Java开发人员与各种数据服务进行交互,包括但不限于关系数据库、Web服务、对象XML映射以及企业信息系统。此外,EclipseLink实现了Java Persistence API (JPA) 和其他持久化标准,使得Java开发者可以将对象模型映射到关系型数据库、XML、或其他持久化数据源。 EclipseLink旨在提供一个完整的持久性框架,其运行环境几乎覆盖了所有Java环境,并能将对象读取、写入近乎任何类型的数据源,如关系数据库、XML、JSON或ELS系统。因其全面实现JPA规范(包括Java固有的查询语言JPQL、Java的标准API,以及定义了Java api和 xml的实体关系映射格式),eclipseLink常常被视为jpa的一种实现方式。

2023-11-23

lucene-9.8.0-src.tgz

Lucene是一个由Apache软件基金会支持和提供的开源程式库,主要用于全文检索和搜寻。它提供了一个强大而简洁的应用程序接口,可以用于创建全文索引和进行搜索。在Java开发环境中,Lucene被广泛应用,是一个成熟且免费的开源工具。 除此之外,Lucene 也是一个单机版的搜索引擎,其最基本的功能分为写功能和读功能,写入的过程即为建立索引,读取的过程则是利用索引进行搜索。就如同整理书桌一样,写入的越精细,读取的结果就会越准确、快速。值得注意的是,Lucene是使用Java语言实现的,对于对Java语言感兴趣的开发者来说,可以尝试使用Lucene来实现各种功能。

2023-11-22

lucene-8.11.2-src.tgz

Apache Lucene是一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写。它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者以此为基础建立起完整的全文检索引擎。此外,Lucene还提供了部分文本分析引擎。在全文检索领域,Lucene是一个经典的祖先,现在很多检索引擎都是在其基础上创建的。

2023-11-22

Apache Solr开源项目 solr-8.11.2-src

Apache Solr是一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中 。

2023-11-22

solr-9.4.0-src

Apache Solr是一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中 。

2023-11-22

keycloak-22.0.5 java编写的开源身份和访问管理工具

Keycloak是一个由Red Hat的开发人员提供和维护的开源身份和访问管理工具。它主要用于身份认证和访问控制,支持多种协议和单点登录(SSO)功能。此外,Keycloak还提供了一些高级特性,如身份代理和社交登录等。由于Keycloak是开放源代码的,所以任何对此感兴趣的开发者都可以对其作出贡献。

2023-11-22

Sa-Token源码下载供学习

Sa-Token是一个专为Java设计的轻量级权限认证框架,主要解决登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权等一系列权限相关问题。这个框架的API设计得非常简单,以登录认证为例,你只需要在登录时写入当前会话的账号id,然后在需要校验登录的地方调用相应的方法即可。此外,Sa-Token还具有强大的功能,如踢人下线、账号封禁、集成Redis、前后端分离、分布式会话等。因其简洁的设计和全面的功能,Sa-Token深受开发者们的欢迎。

2023-11-22

shiro源码供需要的同学学习

Apache Shiro是一个强大且易用的Java安全框架,它专注于身份验证、授权、加密和会话管理。这个框架设计得非常灵活,并且易于理解和使用,因此,开发者能快速、轻松地将其应用到各种规模的应用程序中,无论是小型移动应用还是大型网络和企业级应用。 具体来说,Apache Shiro能够进行用户身份的验证,对用户的访问权限进行控制,例如判断用户是否分配了一定的安全角色,或者用户是否被授予完成某个操作的权限。在非Web或EJB容器环境下,Apache Shiro还可以自由使用Session API来响应认证、访问控制,或者处理Session生命周期中发生的事件。

2023-11-22

msgpack源码 MessagePack高效的二进制序列化格式

MessagePack,类似于JSON的二进制序列化格式,兼具速度和效率。它在存储时对数字、多字节字符、数组等都做了很多优化,减少了无用的字符,采用二进制格式,避免了字符化带来的额外存储空间的增加。由于这些优化,MessagePack比JSON更小更快。例如,小整数被编码为一个字节,典型的短字符串除字符串本身外仅需要一个额外的字节。此外,Msgpack还能在多种语言之间交换数据,增加了它的实用性。这种高效的序列化方式使得MessagePack在很多场景中都能取代JSON。

2023-11-22

Fast-serialization 也叫FST ava快速对象序列化的开发包

Fast-serialization,也叫FST(Faster Simple SerializationFast-serialization,也叫FST(Faster Simple Serialization),是一个Java快速对象序列化的开发包。这个库的设计目标是提供比JDK原生序列化更快的速度和更小的体积。根据测试结果,fast-serialization的序列化速度可以提高2到10倍。 此外,fast-serialization与JDK原生的序列化是兼容的,因此可以作为JDK原生序列化的drop-in replacement使用。这就意味着,开发者可以在不需要修改已有代码的情况下,直接使用fast-serialization来提高序列化性能。 需要注意的是,为了充分利用fast-serialization的优势,使用者需要确保自己的JDK版本至少为1.7。

2023-11-22

WildFly 以前称作JBoss java程序应用服务器工具

WildFly,正式名称为JBoss Application Server(JBoss AS),是一个Java Enterprise Edition全功能应用服务器。它由Red Hat设计和维护,专注于提供运行Java Web应用程序所需的所有必要功能。此外,WildFly是JBoss服务器的一种,它是开源的、轻量级的,并且具有强大的管理功能。 WildFly的一个主要特点在于其模块化的设计,这种设计允许用户根据需要为应用服务器提供服务。此外,WildFly支持Java EE 8标准和Micro Profile标准,这使其成为适用于各种商业应用的可靠解决方案。 总的来说,WildFly是一个灵活的、轻量的、功能强大的应用程序服务器,它可以有效地缩短开发时间,提高应用程序的运行效率。

2023-11-22

kryo java语言编写的高效的二进制对象图形序列化框架

Kryo是一个高效的二进制对象图形序列化框架,主要针对Java语言进行设计。它的主要目标是提供高速、低内存占用以及简单易用的API,以便为Java对象提供持久化的能力,包括持久化为文件、数据库或网络传输。 Kryo的性能相当出色,与Google的protobuf并列为高效的序列化库。此外,除了Java之外,基于JVM的语言如Scala和Kotlin也可以使用Kryo实现序列化。

2023-11-22

flatbuffers源码 java序列化工具库供大家学习

FlatBuffers是一个开源的、跨平台的序列化工具库,它提供了C++和Java等语言的接口。这个库由Google专门为游戏开发或其他性能敏感的应用程序需求而创建,尤其在内存大小及带宽受限的移动平台上表现出色。 一个独特的特性在于FlatBuffers使用table作为基础数据结构来解决数据结构变更的问题,每个table都带有一个vtable(可以在具有相同布局的多个table之间共享),并且包含存储此特定类型vtable实例的字段的信息。 尽管FlatBuffers在性能和资源使用上有明显优势,但需要注意的是,与protobuf相比,其接口的使用可能会相对困难一些。在使用上,无论是FlatBuffers还是Protobuf,都需要先定义一个schema文件,用于描述我们要序列化的数据结构的组织关系。

2023-11-22

apache-tomee-8.0.16-plus稳定版

Apache TomEE是一个JavaEE引擎,由Apache软件基金会开发和维护。它起源于Tomcat,增加了对Java EE的支持,因此得名TomEE。TomEE不仅继承了Tomcat对Servlet和JavaServer Page(JSP)的支持,还进一步整合了多个开源项目,如Apache OpenWebBeans、Apache MyFaces、Apache ActiveMQ、Apache OpenJPA和Apache CXF等,这使得TomEE能够提供一种全面而强大的Java EE解决方案。 可应用于各种规模的Java应用程序开发和部署

2023-11-22

Apache TomEE9.1.1稳定版本

Apache TomEE是一个JavaEE引擎,由Apache软件基金会开发和维护。 具体来说,TomEE可以用来开发和部署各种规模的Java应用程序,包括但不限于: - 基于Java EE的企业级应用; - Web应用; - RESTful服务; - JSON APIs; - 微服务等。 此外,TomEE也支持Servlet、JSP、JSTL、CDI、EJB、JPA等Java EE的标准技术。值得一提的是,TomEE通过了Java EE 6 Web Profile的认证,这意味着它满足了Java EE 6 Web Profile的相关标准,可应用于各种规模的Java应用程序开发和部署

2023-11-22

wiremock-standalone-3.3.1 jar包

WireMock是一个基于HTTP的API模拟器,其核心是web服务。它可以为特定的请求提供固定的返回值,并捕获传入的请求以供后续校验。当依赖的API不存在或不完整时,WireMock可以让您保持高效,通过为测试真实API无法可靠生成的边缘情况和故障模式提供支持,从而提高应用程序的质量和可靠性。 WireMock具有强大的模拟能力,并且提供了各种语言的SDK,使得开发者可以在编程语言中使用WireMock。此外,它还包含spy和stub两种关键概念。spy主要用来监听调用过程,不具备转发能力;而stub则用于返回固定值,无法在测试中进行动态变更。

2023-11-22

truth源码 java语言编写的断言和命题框架 测试工具

Truth是Google开发的一个断言和命题框架,其主要目标是改进测试用例以及错误日志的可读性,同时增强侦测型。此外,Truth对自定义类型也有很好的扩展性,使得开发人员可以更灵活地适应不同类型的测试需求。 在实际应用中,Truth提供了实用方法,可用于编写可在主题(即被测试的值或对象)上起作用的断言。一旦知道了该主题,Truth就可以在编译时就该主题已知的命题进行推理。这一特性使得Truth能够实现更具预测性和准确性的测试结果。 总的来说,Truth框架是为改善软件开发过程中的测试环节而设计的,它以其强大的功能和良好的扩展性,为开发人员提供了一个高效、可靠的测试工具。

2023-11-22

Selenium 自动化测试工具 java语言版

Selenium是一个开源的、跨平台的自动化测试工具,它可以模拟浏览器的行为,对Web应用程序进行测试。Selenium使用JavaScript编写的API来控制浏览器,可以轻松地与任何支持Selenium的测试框架集成。Selenium支持多种浏览器,包括Chrome、Firefox、Internet Explorer和Safari等。它还支持多种操作系统,包括Windows、macOS和Linux等。

2023-11-22

rest-assured 为REST/HTTP服务提供方便测试的Java DSL

Rest-Assured是一个用于测试RESTful Web服务的Java库。它提供了一组简单易用的API,可以方便地对HTTP请求和响应进行操作,包括发送GET、POST、PUT、DELETE等请求,以及验证HTTP状态码、响应头和响应体等

2023-11-21

powermock源码学习 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具

PowerMock是一个功能强大的Java模拟框架,设计用于解决各类复杂的测试问题。它基于其他单元测试模拟框架,如EasyMock进行扩展,提供了更多的功能。 PowerMock的核心功能在于其能够通过提供定制的类加载器和应用一些字节码操作技巧,实现对静态方法、构造方法、私有方法和final方法的模拟。例如,在进行单元测试时,有时候我们并不希望测试数据进入实际的数据库,那么这个时候,就可以借助PowerMock来拦截真实的数据库操作,并返回我们预设的参数。 此外,PowerMock还支持模拟普通方法、私有方法、静态方法和final修饰的方法,这极大地丰富了其在各种不同场景下的应用可能性。在实际应用中,为了引入PowerMock包,需要在项目的pom.xml文件中添加相应的Maven依赖。

2023-11-21

mockito源码 供java同学学习,用于在自动化单元测试中创建测试对象,为TDD或BDD提供支持

Mockito是一个为Java开发的强大的模拟测试框架。其主要功能是创建和配置Mock对象,以简化存在外部依赖的类的测试。通过使用Mockito,我们可以虚拟出一个外部依赖,这样可以降低测试组件之间的耦合度,使得我们能更专注于代码的流程和结果,从而更好地实现测试目的。 在具体的使用场景中,例如,对于一些不容易构造或者获取的对象(如HttpServletRequest必须在Servlet容器中才能构造出来,或者JDBC中的ResultSet对象),Mockito可以创建一个虚拟的对象(即Mock对象)进行测试。此外,Mockito还可以模拟任何Spring管理的Bean、模拟方法的返回值、模拟抛出异常等。 同时,Mockito还会记录下调用这些模拟方法的参数和调用顺序,从而可以校验出这个Mock对象是否被正确地按期望的顺序和参数进行了调用。这在某些情况下尤其重要,比如当我们需要确认某个方法是否被调用,以及它的参数是否符合预期时。

2023-11-21

JavaHamcrest源码 可用来灵活创建意图(intent)表达式的匹配器

JavaHamcrest是一个专为单元测试设计的校验框架,其核心在于能够组合创建各类灵活的匹配器以进行断言。这个框架与JUnit集成使用,提供了诸如startsWith(字符串开头匹配)、containsString(是否包含指定字符串)和equalTo(基于传入对象的equals方法进行元素比较)等各种匹配器方法。 Hamcrest的优势在于其强大的扩展能力和易用性。它的目标在于提高测试的可读性,例如is()方法其实就是equalTo()的包装方法。通过使用不同的匹配器,可以清晰地表达出实际对象是否满足验证条件,如“Zero is one”这样的测试表达式就能清晰易懂地验证0不是1。总的来说,JavaHamcrest是一个在Java单元测试中非常实用的工具。

2023-11-21

cucumber-jvm源码 BDD测试框架

Cucumber是一个自动化测试工具,它属于行为驱动开发(BDD)的范畴。这个工具的特点是可以用自然语言来描述测试用例,因此即使是非程序员也能轻松理解。Cucumber主要由Ruby编写,但同时也支持Java、.Net等多种开发语言。 在实际应用中,Cucumber通过Gherkin语言来描述各种Feature和场景。这些Feature和场景是用人类可读的语言写成的,可以看作是一个个的故事或者需求。当这些Feature和场景被输入到Cucumber后,它就可以自动生成与之对应的测试代码。 总的来说,Cucumber的主要优点在于它的学习成本相对较低,而且能够有效地协调测试开发人员和功能测试人员的工作。开发人员可以使用Cucumber进行公共方法的封装,而功能测试人员则可以专注于编写测试用例。

2023-11-21

awaitility源码 java测试工具,用来同步异步操作的DSL

awaitility java测试工具,用来同步异步操作的DSL Awaitility是一个开源工具,它主要用于提供轮询的方式判断操作是否完成,以最短的时间获取异步任务结果。该工具支持Java、Scala和Groovy三种语言,并且可以用于测试环境,需要在maven的pom.xml文件中添加对应的依赖。 在实际使用中,Awaitility提供了非常灵活的等待条件设置。例如,你可以通过调用`await().until(newUserIsAdded())`来实现等待条件,其中`newUserIsAdded()`是你在测试用例中实现的一个方法。此外,Awaitility还支持将条件拆分为供给和匹配两部分,以实现更好的复用。默认情况下,Awaitility会等待10秒,如果在这段时间内,指定的条件未达成,那么它就会抛出ConditionTimeoutException异常,测试就失败了。如果想要重新定义超时时间,你可以利用`atMost()`方法进行设置。

2023-11-21

jmeter 功能性测试和性能评测

Apache JMeter是一个由Apache组织开发的压力测试工具,主要用于进行软件的性能测试。最初设计用于Web应用测试,但其应用领域已经扩展到了静态和动态资源的测试,包括静态文件、Java小程序、CGI脚本、Java对象、数据库和FTP服务器等等。JMeter是典型的纯Java开发的应用程序,因此具有很高的移植性,可以在不同平台如Windows、Linux或macOS上运行。此外,Jmeter采用多线程技术,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样,从而实现分布式负载。

2023-11-21

crawler4j 使用java编写的简单的轻量级网络爬虫

crawler4j 使用java编写的简单的轻量级网络爬虫

2023-11-21

apache-nutch-1.19 java编写的网络爬虫项目

apache-nutch-1.19 java编写的网络爬虫项目,可用于生产环境的高度可扩展、可伸缩的网络爬虫

2023-11-21

Google Web Toolkit gwt-2.10.0 最新版本

一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP 官网API、JUnit集成、国际化支持和GUI控件。

2023-11-21

apache-tapestry-5.8.3稳定版 包含二进制,源码和java的api文档

Apache Tapestry是一个开源且基于组件的Web应用框架,主要用于创建高度可扩展的JavaApache Tapestry是一个开源且基于组件的Web应用框架,主要用于创建高度可扩展的Java Web应用程序。这个框架是由Howard Lewis Ship开发的,后来在2006年成为Apache基金会的顶级项目。值得注意的是,Tapestry框架中的组件是Java类,这些组件既不从特定的框架基类继承,也不是接口的实现,它们只是简单的Java对象,即POJO(简单Java对象)。此外,Tapestry也提供了许多自定义注释以简化Web应用开发,如类、方法和成员字段的注释等,这些注释可以覆盖功能的默认约定。

2023-11-21

auto java代码生成器 google的子项目

auto 代码生成器 google的子项目

2023-11-21

adt4j 使用java编写的针对代数数据类型的JSR-269代码生成器

adt4j 使用java编写的针对代数数据类型的JSR-269代码生成器

2023-11-21

Apache Ant 是一个 Java 库和命令行工具

Apache Ant 是一个 Java 库和命令行工具,可帮助 构建软件。运行时至少需要 Java 8 算是比较古老的工具之一,老项目需要

2023-11-20

Apache Ant 是一个 Java 库和命令行工具,可帮助 构建软件

Apache Ant 是一个 Java 库和命令行工具,可帮助 构建软件。

2023-11-20

java爬虫项目,webmagic源码 java开发爬虫项目

java爬虫项目,webmagic源码 java开发爬虫项目

2023-11-20

netty3.10.6稳定版

Netty是一个异步事件驱动的网络应用程序框架,主要用于快速开发可维护的高性能协议服务器和客户端。它基于Java NIO进行设计,因此提供了高层次的抽象和简化的API,使得开发者可以更加方便地构建网络应用。 Netty在多个领域都有广泛的应用。例如,在大数据领域中,Hadoop的高性能通信和序列化组件Avro的RPC框架默认采用Netty进行跨节点通信。此外,Netty也广泛应用于分布式系统中,作为基础通信组件被Dubbo、Zookeeper,RocketMQ等分布式开源框架使用。 对于开发者来说,掌握Netty的使用并不复杂。只需要理解并熟练运用ByteBuf、Channel、Pipeline、Event模型等相关技术,就可以进行Netty的开发。同时,Netty对事件的处理也非常灵活,支持用户自定义各种类型的ChannelHandler。

2023-11-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除