51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Java笔记

Java 设计模式之工厂模式(二)

Java 设计模式之工厂模式(二)

厉飞雨 阅读(334) 评论(0) 赞(14)

一、背景 {#一、背景} ------------ 本篇内容是 Java 设计模式创建型模式的第二篇。上一篇主题为 [《Java 设计模式之单例模式(一)》](https://51tbox.com/) 二、简单介绍 {#二、简单介绍} ---------------- 在介绍工厂模式之前,我们需要了解设计模式中应该遵循的原则。 五大原则: 1. 单一职责原则(SRP)...

Java 设计模式之单例模式(一)

Java 设计模式之单例模式(一)

厉飞雨 阅读(314) 评论(0) 赞(15)

[](http://images.extlight.com/gof.jpg) 一、背景 {#一、背景} ------------ 没有太多原由,纯粹是记录和总结自己从业以来经历和学习的点点滴滴。 本篇内容为 Java 设计模式系列的第一篇。 二、简单介绍 {#二、简单介绍} ---------------- ### 2.1 定义 {#2.1-定义} 单例模式是一种对...

java爬虫实战

java爬虫实战

厉飞雨 阅读(323) 评论(0) 赞(14)

使用知识: 文件流 新建文件,新建文件夹 模拟浏览器请求 ``` package 文件操作; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.I...

JavaSE 手写 Web 服务器(二)

JavaSE 手写 Web 服务器(二)

厉飞雨 阅读(252) 评论(0) 赞(15)

一、背景 {#一、背景} ------------ 在上一篇文章 [《JavaSE 手写 Web 服务器(一)》](https://51tbox.com/) 中介绍了编写 web 服务器的初始模型,封装请求与响应和多线程处理的内容。但是,还是遗留一个问题:如何根据不同的请求 url 去触发不同的业务逻辑。 这个问题将在本篇解决。 二、涉及知识 {#二、涉及知识} ----...

JavaSE 手写 Web 服务器(一)

JavaSE 手写 Web 服务器(一)

厉飞雨 阅读(320) 评论(0) 赞(14)

一、背景 {#一、背景} ------------ 某日,在 Java 技术群中看到网友讨论 tomcat 容器相关内容,然后想到自己能不能实现一个简单的 web 容器。于是翻阅资料和思考,最终通过 JavaSE 原生 API 编写出一个简单 web 容器(模拟 tomcat)。在此只想分享编写简单 web 容器时的思路和技巧。 二、涉及知识 {#二、涉及知识} -----...

收藏!又一个临时邮箱服务!免费又好用

收藏!又一个临时邮箱服务!免费又好用

厉飞雨 阅读(304) 评论(0) 赞(18)

相比国内网站和 App 一门心思绑定手机号、微信,国外的大部分应用工具,绑的还是邮箱。 不是说绑定邮箱就会更好啊,虽然形式不同,但除了获取邮箱验证码,后面营销邮件轰炸一点不带少的。 我微信绑了 QQ 邮箱,想着以后接码啥的能方便些,结果因为测试软件时,QQ 邮箱绑了太多工具,每天都来自各方的「问候」。 有时候注册一些用完即走的网站,防泄露也好,免遭垃圾邮件轰炸也罢,临时邮...

收藏!又一个临时邮箱服务!免费又好用

收藏!又一个临时邮箱服务!免费又好用

厉飞雨 阅读(297) 评论(0) 赞(15)

相比国内网站和 App 一门心思绑定手机号、微信,国外的大部分应用工具,绑的还是邮箱。 不是说绑定邮箱就会更好啊,虽然形式不同,但除了获取邮箱验证码,后面营销邮件轰炸一点不带少的。 我微信绑了 QQ 邮箱,想着以后接码啥的能方便些,结果因为测试软件时,QQ 邮箱绑了太多工具,每天都来自各方的「问候」。 有时候注册一些用完即走的网站,防泄露也好,免遭垃圾邮件轰炸也罢,临时邮...

如何写private方法的单元测试

如何写private方法的单元测试

厉飞雨 阅读(260) 评论(0) 赞(20)

如何写private方法的单元测试 {#toc_h2_0} ----------------------------- 由于 Java 私有方法不允许在类的外部进行访问,当我们在写 junit 测试的时候,就无法像测试其他方法一样通过对象调用的方式对 private 方法进行单独测试,下面分享测试私有方法的方式: 首先我们定义一个类的私有方法 add() : ...