tlsf-有哪些适合大学生学习的java库
众所周知,Java的生态环境相当庞大,包含了数量相当可观的官方及第三方库。利用这些库,可以解决在用Java开发时遇到的各类问题,让开发效率得到显著提升。
tlsf,有哪些适合大学生学习的java库?
众所周知,Java的生态环境相当庞大,包含了数量相当可观的官方及第三方库。利用这些库,可以解决在用Java开发时遇到的各类问题,让开发效率得到显著提升。
举些例子,最常用的官方库有java.lang、java.util、java.io、java.sql、java.net等;而至于目前最流行的第三方库,就有Junit、SLF4J、Google Guava、XStream、JSoup、Gson、Joda Time等,可以说是不胜枚举。
我到底需要用到哪些Java库呢?
某些库再热门也好,你的项目也未必适用。然而即便如此,大部分项目实际上都还是需要进行单元测试、日志记录、序列化、代码规范化等工作的,因此用一些相关的Java库去解决问题,还是不错的选择。
下面,我来介绍一些可以用来解决常见开发问题的热门Java库吧。
1. JUnit
JUnit起源于 xUnit 家族的单元测试框架,目前可以说是最知名及常用的测试框架。通过 JUnit,可以轻松地写出可重复测试的代码。早期版本的JUnit属于junit.framework 包;而从JUnit 4开始,便转移到了org.junit 包。
JUnit的一大特色在于给开发者提供了简洁的图形界面,如此一来编写测试代码便更为轻松,开发的进度也得以显著加快。
Junit允许多个测试一个接一个,或是并发同时执行,并且会实时返回测试结果,而且还带有进度条,提示开发者测试进度如何。一般当测试正常进行时,进度条是绿的;而当遇到了错误,就会变红。
此外,JUnit还允许开发者创建测试套件 (Test Suite) 来查看、检测整体的测试进度及测试期间发生的副作用。
对于很多项目而言,单元测试是非常重要的。JUnit之所以能够成为Java圈中最热门的测试库,正是因为它既简洁又高效。
2. SLF4J
SLF4J 或 Simple Logging Facade for Java,为不同的框架提供了一个抽象概念,允许开发人员在部署时插入任何框架。SLF4J 的功能在于基于外观模式的简单日志 API,并将客户端 API 与日志后端分开。
通过向 classpath 中添加所需的绑定,可以发现其后端。由于客户端 API 和后端完全解耦,因此它可以集成到任何框架或现有的代码片段。
创建这个有用的机制的人是 Ceki Gülcü。 你可以在 SLF4J 下载链接伤下载 SLF4J。
3. Google Guava
Google Guava 是Java编程的另一个受欢迎的Java核心库,它是开源的,由 Googl 开发的。Google Guava 项目中包含的库可用于每天在谷歌上开发/升级的Java的产品。
Google Guava 软件包中的库或多或少是对核心库的对应部分有增强功能,并使编程更加高效和有效。Guava 包括内存缓存、不可变**、函数类型、图形库和可用于 I/O、散列、并发、原语、字符串处理、反射等等的 API 实用程序。
4. XStream
当涉及将对象序列化到 XML 中时,XStream 库是开发人员值得信赖的选择。该库允许开发人员轻松地将对象序列化为 XML 并返回。
反射是这里的关键,用于识别在运行时序列化的对象图的结构。 对象不需要修改。 任何内部字段都可以使用 XStream 序列化。
说到 XStream 的功能 – 大多数对象可以被序列化,并提供特定的映射,提供高性能和低内存占用,适用于具有较高吞吐量的大型对象图和系统,信息不重复,可自定义的转换策略,安全的框架,异常情况下的详细诊断等等。
诸如传输,配置,持久化和单元测试等广泛的应用使它成为Java开发人员社区中流行的Java库。
5. Log4j
Log4j 是 Apache 中的一个库,可用作日志工具。该工具最初由 Ceki Gülcü 开发。 但是现在,Apache Software Foundation 已经接管了这个项目。
Log4j 恰好是其所在应用领域中最可靠的库,可以扩展到支持自定义组件配置。配置语法非常简单,支持 XML、YAML 和 JSON。
Log4J 提供对多个API的支持,可以在白名单应用程序中使用不同版本的 Log4j 或 SLF4J。另一个有趣的功能是它支持用户自定义的消息对象。最重要的是,它的工作速度相当令人印象深刻。
6. iText
iText 是用于在Java中创建和**作 PDF 文件的Java开源库。这个库是由包括布鲁诺·洛皮杰(Bruno Lowagie)和保罗·苏亚雷斯(Paulo Soares)在内的团队创建的。
虽然以前的 iText 版本有很多限制,但最近的版本包括许多新功能,如创建 pdf 的选项,将文档从 XML、HTML、CSS 或数据库转换为 PDF。生成的 PDF 符合全球通用标准。它还允许在 PDF 中添加交互性并添加数字签名。你可以**、合并文档、导入、更改结构、在 PDF 中添加水印或条形码 F。
7. jsoup
jsoup 是一个有用的Java库,用于处理和解析 HTML。Jsoup 提供了一个有用的用于提取数据的 API。jsoup 中实现的标准是 WHATWG HTML5。和最新的浏览器作法一样,jsoup 将 HTML 解析为 DOM。
它允许或解析来自任何 URL 或文件的 HTML,例如,你可以获取 http://noeticforce.com 的主页信息,解析它,并将所有 H2 标题提取到元素列表中。
它的用途包括清理和**纵 HTML 元素和属性,以检索用户提交的数据并过滤掉 XSS 攻击属性,使用 jsoup 还可以完成更多功能。
8. Gson
Gson 是 Google 的另一个库,它轻而易举的将JavaObjects 转换成等效的 JSON 表示形式。
虽然有一些允许将Java对象转换为 JSON 的开源项目,但它们要求您将Java注释放在您使用的类中。 显然,如果您无法访问源代码,则无法执行此**作,此外,大多数开源项目都不支持Java泛型。 Gson考虑到这些问题。
它提供了简单的 toJson()和 fromJson()方法,可用于将Java对象和 JSON 互相转换。 Gson 库允许将不可修改的对象转换为 JSON 并返回。 如上所述,它为Java泛型提供了极大的支持,并允许对象的自定义表示。
9. Apache PDF box
Apache PDFBox 是另一个可用于**作 PDF 文件的开源库。这个项目最初由本·利奇菲尔德(Ben Litchfield)发起的,后来被 Apache 接管。
PDFBox 的主要功能使其成为超级库,其中包括 PDF 创建、将单个 PDF 分割为多个 PDF 文件、合并并提取 PDF 文本的 Unicode 文本,填写 PDF 表单,根据 PDF/A 标准验证 PDF 文件,将 PDF 保存为图像并对 PDF 进行数字签名。
10. Joda Time
这就是我一直强调的简单但功能强大的库,它节省了大量的开发时间。 Joda-Time 是一个Java库,作为Java中日期和时间类的一个很好的替代品。
Joda Time 很容易使用,并且像 getYear()或 getDayOfWeek()这样的属性访问器可以直接获取日期,及其更详细的信息。
Joda Time 还提供计算日期和时间的功能,并支持几乎所有需要的日期格式,而且肯定难以用简单的 JDK 方法进行**。
除了上述 10 个库外,还有许多其他通用于特定领域的Java库应用于一些小型或大型的项目。以下是其中一些库:
Ok HTTP
用于通过 HTTP 协议有效地在现代应用程序之间交换数据。 Okhttp 在断网时恢复连接,在多个基于 IP 的服务中切换 IP 地址。 okhttp 的一个有用的功能是与现代 TLS(SNI,ALPN)的自动连接,并且在发生故障时回到 TLS 1.0。
Quartz
这是另一个通用且有用的Java库,它集成了任何规模和大小的Java应用程序。 Quartz 库可用于创建数百,数千或更多的作业,可根据应用需求进行扩展。 Quartz 具有诸如 JTA 事务和集群等功能,可用于企业级应用程序的支持。
Java具有庞大的生态圈,所以你可以很容易的找到各种各样的插件库,你需要做的只是从海量的插件库中选出哪一个对你的项目更加适合。从头开发也是一种选择,但是当你找到了可以自由使用的插件,为什么还要花费更多的时间来重新开发构建呢?
东风125r20轮胎参数?
型号12.5R20
轮胎规格
12.5R20
轮毂尺寸
20
胎面宽度
295mm
扁平比
80
速度级别
K
TLSF 军工轮胎12.5R20 真空轮胎 越野轮胎 东风246/东风EQ2102车辆轮胎 参数
详细参数
品牌
通利盛发(TLSF)
型号
12.5R20
产地
**北京北京市
CCC认证编号
2005061201001374
生产者(制造商)名称
双钱集团(江苏)轮胎有限公司
轮胎规格
12.5R20
轮毂尺寸
20
胎面宽度
295mm
扁平比
80
速度级别
K
轮胎特性
常规胎
花纹性能
越野型
车型类别
卡客车轮胎
openssl使用详解?
openssl 是一个开源项目,其组成主要包括一下三个组件:
openssl:多用途的命令行工具
libcrypto:加密算法库
libssl:加密模块应用库,实现了ssl及tls
openssl可以实现:秘钥证书管理、对称加密和非对称加密 。
1、对称加密
对称加密需要使用的标准命令为 enc ,用法如下:
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64]
[-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md]
[-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
常用选项有:
-in filename:指定要加密的文件存放路径
-out filename:指定加密后的文件存放路径
-salt:自动插入一个随机数作为文件内容加密,默认选项
-e:可以指明一种加密算法,若不指的话将使用默认加密算法
-d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致
-a/-base64:使用-base64位编码格式
示例:
加密:]# openssl enc -e -des3 -a -salt -in fstab -out jiami
解密:]# openssl enc -d -des3 -a -salt -in fstab -out jiami
2、单向加密
单向加密需要使用的标准命令为 dgst ,用法如下:
openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary]
[-out filename] [-sign filename] [-keyform arg] [-passin arg] [-verify filename] [-prverify
filename] [-signature filename] [-hmac key] [file…]
常用选项有:
[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] :指定一种加密算法
-out filename:将加密的内容保存到指定文件中
示例如下:
单向加密除了 openssl dgst 工具还有: md5sum,sha1sum,sha224sum,sha256sum ,sha384sum,sha512sum
示例如下:
3、生成密码
生成密码需要使用的标准命令为 passwd ,用法如下:
openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}
常用选项有:
-1:使用md5加密算法
-salt string:加入随机数,最多8位随机数
-in file:对输入的文件内容进行加密
-stdion:对标准输入的内容进行加密
示例如下:
4、生成随机数
生成随机数需要用到的标准命令为 rand ,用法如下:
openssl rand [-out file] [-rand file(s)] [-base64] [-hex] num
常用选项有:
-out file:将生成的随机数保存至指定文件中
-base64:使用base64 编码格式
-hex:使用16进制编码格式
示例如下:
5、生成秘钥对
第一需要先使用 genrsa 标准命令生成私钥,第二再使用 rsa 标准命令从私钥中提取公钥。
genrsa 的用法如下:
openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
常用选项有:
-out filename:将生成的私钥保存至指定的文件中
-des|-des3|-idea:不同的加密算法
numbits:指定生成私钥的大小,默认是2048
一般情况下秘钥文件的权限一定要控制好,只能自己读写,因此可以使用 umask 命令设置生成的私钥权限,示例如下:
ras 的用法如下:
openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
[-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]
常用选项:
-in filename:指明私钥文件
-out filename:指明将提取出的公钥保存至指定文件中
-pubout:根据私钥提取出公钥
示例如下:
6、创建CA和申请证书
使用openssl工具创建CA证书和申请证书时,需要先查看配置文件,因为配置文件中对证书的名称和存放位置等相关信息都做了定义,具体可参考 /etc/pki/tls/openssl.cnf 文件。
(1)、创建自签证书
第一步:创建为 CA 提供所需的目录及文件
第二步:指明证书的开始编号
]# echo 01 >> serial
第三步:生成私钥,私钥的文件名与存放位置要与配置文件中的设置相匹配;
第四步:生成自签证书,自签证书的存放位置也要与配置文件中的设置相匹配,生成证书时需要填写相应的信息;
命令中用到的选项解释:
-new:表示生成一个新证书签署请求
-x509:专用于CA生成自签证书,如果不是自签证书则不需要此项
-key:生成请求时用到的私钥文件
-out:证书的保存路径
-days:证书的有效期限,单位是day(天),默认是365天
(2)颁发证书
在需要使用证书的主机上生成证书请求,以 httpd 服务为例,步骤如下:
第一步:在需要使用证书的主机上生成私钥,这个私钥文件的位置可以随意定
第二步:生成证书签署请求
第三步:将请求通过可靠方式发送给 CA 主机
第四步:CA 服务器拿到证书签署请求文件后颁发证书,这一步是在 CA 服务器上做的
查看证书信息的命令为:
(3)吊销证书
吊销证书的步骤也是在CA服务器上执行的,以刚才新建的 httpd.crt 证书为例,吊销步骤如下:
第一步:在客户机上获取要吊销证书的 serial 和 subject 信息
第二步:根据客户机提交的 serial 和 subject 信息,对比其余本机数据库 index.txt 中存储的是否一致
第三步:执行吊销**作
第四步:生成吊销证书的吊销编号 (第一次吊销证书时执行)
]# echo 01 > /etc/pki/CA/crlnumber
第五步:更新证书吊销列表
]# openssl ca -gencrl -out /etc/pki/CA/crl/ca.crl
查看 crl 文件命令:
]# openssl crl -in /etc/pki/CA/crl/ca.crl -noout -text
全球Top100机场的总体网络安全性表现如何?
网络安全公司 ImmuniWeb 上周发布了一份报告,内容是针对百大机场的公共网站、移动 App、以及在公共代码存储库和暗网上暴露敏感数据的基本安全检查。
遗憾的是,在 Top100 国际机场中,仅有 3 个通过了基本的安全检查,分别是荷兰阿姆斯特丹的史基普机场、芬兰赫尔辛基的万塔机场、以及爱尔兰的都柏林国际机场。
【题图 来自:ImmuniWeb】
ImmuniWeb 指出,这三座机场不仅可以为航空业、也能够为其它产业提供值得称道的实施案例。
【机场位置分布】
研究涵盖了 Skytrax 评选的全球六大区域的 Top100 机场(2019 年数据),研究过程中以非侵入性方式对机场外部 IT 资产的安全性、合规性、和隐私性展开了检测。
【网站安全等级】
Forrester 在最近的研究中指出,应用程序与软件漏洞,仍是网络**分子在外展开攻击的常见手段。遗憾的是,Top100 中只有 3 个 www 主网站获得了 A+ 评级,另有 15 个网站为 A 评级。
【易受攻击或使用过时软件】
在子域名中,ImmuniWeb 观察到只有 17% 的 Web Apps 获得了 A 级评价,大多数应用程序都在 C ~ F 不等的评价。
【子域网站的安全等级】
Gartner 表示,在采用云端 Web 应用程序和 API 保护服务的推动下,Web 应用程序的防火墙(WAF)市场正在增长。
【Web Apps 的防火墙使用情况】
然而全球各大机场运行的 Web 应用程序中,很少见到 WAF,其仅能保护 55% 的主网站和 40% 的子域名站点。
主站点 TLS 安全性:15 家主网站拿到了 A+ 评级,38 家为 A,16 家为 B 级。
子域名 TLS 安全性:表现糟糕很多,308 个站点为 F,且有 75 个站点未使用加密连接。
【主站点 PCI DSS 合规性】
尽管 PCI DSS 合规性并非必须,但它和《通用数据保护条例》(GDPR)都涵盖了对基础安全性的要求。
自 2018 年 5 月实施以来,已有有超过 16 万的数据泄露通知,罚款金额为 1.14 亿欧元。
让人震惊的是,只有 27 个主站点符合 PCI DSS 要求。至于 GDPR 合规性,也只有 24% 的主站点(24 / 100)和 12% 的子域(158 / 1364)达标。
【邮件服务器的 TLS 安全性】
在 147 个用于接收或中继电子邮件的服务器中,几乎一半(48%)不支持 SSL / TLS 加密,使得攻击者可轻松展开中间人攻击,拦截流量、并以纯文本格式阅读电子邮件通信。
大约 21% 的邮件服务器(32)获得 A 级评价,其余 44 台服务器的 SSL / TLS 实施易受攻击(较差),且大多数为 C / F 级。
【移动安全漏洞风险等级,基于 CVSSv3 评分】
这项研究中,ImmuniWeb 找到并测试了属于机场的 36 款官方 App,结果发现了 530 个安全和隐私问题,包括 288 个移动安全漏洞(每个 App 平均 15 个)。
【OWSAP 十大移动风险分布】
至于移动后端(Web 服务或 API),只有 55% 的传出连接使用了恰当的 TLS 加密来保护传输中的用户数据。
【移动 App 后端 TLS 加密】
27% 的连接以明文发送信息,且根本未使用加密(N 级)。5.7% 使用过时、且易受攻击的 SSLv3 协议,成绩为不合格(F 级)。
【暗网暴露风险等级】
对结果进行筛查后,ImmuniWeb 发现 Top100 机场中有 66 个,以一种或另一种方式在暗网上暴露。如图所示,有 13 个机场有重大的泄露或暴露风险。
【代码存储库暴露风险等级】
最后,在 Top100 机场中,有 87 个在某些公共代码存储库(如 GitHub 或 Bitbucket)中公开了一些敏感或内部数据。其中识别出了 59 个机场,存在着 227 个具有严重风险的代码泄露。
自驾游需要注意什么?
自驾游,就来河北蔚县。南部山区分布着五大峪口,自东向西分别为赤崖峪、金河口峪、松枝口峪、九宫口峪、北口峪、石门峪,其中第一二个峪口不能进车,有溪流。其余三个均为自驾天堂。
松枝口峪比较好玩的有辉川溪流、充满传奇色彩的地河、岭南瀑布、郑家庄子石头村、榆皮瓦片屋等;
九宫口峪从干河峪或小天山可通往北口峪,比较出名的景点包括小天山、东甸子梁、王喜洞、茶山、阁上(黑龙潭)、南沟等,白家庄子是南山典型的石头村;
北口峪可通往四十里飞狐峪、空中草原,从燕王逼子(阎王鼻子)—笊篱洼—下战,可通往石门峪,比较出名的有尖山、马蹄梁、岔道八仙洞、一炷香、剑眼、宝镜、怪坡、兵工场等;
石门峪位于五大峪口最西,也是最容易暴发山洪的峪口,难怪它的冲击扇盛产最好吃的小米和加工黄糕面的黍子,往南可上空中草原,通往山西灵丘。
五大峪口,盛景无限。自驾游蔚县,形象自然深!
原创文章,作者:九贤互联网电脑百科小编,如若转载,请注明出处:http://www.wangguangwei.com/28404.html