贼拉正经的技术博客

A

文章

随笔 | 奇淫技巧 | Java:记return和短路运算符的妙用

在阅读AtomicStampedReference的源码中,在compareAndSet()方法发现一段代码: return expectedReference == current.reference && expectedStamp == current.stamp && //上方条件全部符合且为True时,执行下方代码 ((newReference == current.reference && newStamp == current.stamp) || casPair(current, Pair.of(newReference, newStamp))); 即在return执行方法,并获取最终结果。我编写了一段代码用以测试: public class Main { public static void main(String[] args) { Main main = new Main(); System.out.println( main.executeIsTrue() ); System.out.println(); Sys....

大白话之Docker(叁):制作一个运行Tomcat服务端的Docker镜像

前言 如没看过上一章,请点我跳转 上一章我们使用Tomcat镜像搭建了一个WEB服务端。 本章,我们将从零开始搭建一个Tomcat服务端。大体需要以下步骤: 在容器中安装一个系统(我使用Ubuntu) 在容器中安装JDK并配置环境变量以运行Tomcat 在容器中拷贝Tomcat 既然目标已经明确,那么我们就开始吧。 初始化项目 下载文件 在项目开始之前,我们需要下载所需的文件: JDK 1.8 Tomcat 9 解压文件 将JDK和Tomcat的压缩包解压,并新建一个文件夹用于存放该镜像所需的文件,把解压后的文件夹拷贝到该文件夹中。 adler@localhost ~/dockerTomcat: tar -zxvf jdk-8u201-linux-x64.tar.gz adler@localhost ~/dockerTomcat: tar -zxvf apache-tomcat-9.0.13.tar.gz adler@localhost ~/dockerTomcat: ls apache-tomcat-9.0.13 jdk1.8.0_201 Dockerfile Dockerfi....

大白话之Docker(贰):简单部署一个Tomcat服务并发布内容

前言 看了上一章,想必你已经对Docker有所了解。 如没有阅读过第一章,点我可以跳转至第一章 Tomcat是基于Apache、支持JavaWeb环境的Web服务端。能对外提供网站服务。 本篇教程我们将简单建立一个Tomcat服务器,并部署一些内容到Tomcat中。 应用镜像到容器 取得镜像 首先,我们从Docker源中搜索已经配置好环境的镜像,然后应用到本地。 输入命令: ✘ adler@A ~/docker/tomcat: search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementati… 2343 [OK] tomee Apache TomEE is an all-Apache Java EE certif… 64 [OK] dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 53 [OK] davidcaste/alpine-tomcat Apache Tomc....

大白话之耦合性:什么是耦合性和内聚性?用编程语言实例讲解!

前言 如果你涉及软件开发,可能会经常听到“高内聚,低耦合”这种概念型词语。我在第一次接触这种词语时,也抱有很大的疑问,但我发现百度上大部分都是高大上的词汇解释。 仔细通读这篇文章,你就能理解耦合性和内聚性的概念与关系。 WHY? Why?如果你使用过面向对象的编程语言,初学者很容易: 把所有代码都写到一个方法里。 当我翻回到我曾经写过的代码后,我绝望了。 比如我们要获取一个用户的信息,我们需要先: 1. 在代码中填写数据库的地址、用户名、密码、表名 2. 加载SQL驱动 3. 执行语句 4. 获得结果 如果你只需要在一个方法里调用用户的信息,你可以把这四步的代码全部写到那个方法中。 但是如果我们有多个方法都要调用数据库呢? 把这段语句写四五六七八九遍? 不不不。不但你会抓耳挠腮,IDE都看不下去了。 如果我们新建一个方法,专门用于读取用户的信息呢? 在这个方法中,是上方执行语句的代码,但不同的是,我们使用其它方法调用该查询方法的时候,传入查询语句,这个方法就能返回给我们想要的值。 你只要将查询代码单独写成一个方法,当其它方法需要查询的时候,只需要调用这个查询方法并传入想查询的数据....

大白话之Docker(壹):快速入门&&简单官方实例

前言 无论你用的是Python,Java还是Golang或是什么语言,Docker都能以降低服务器应用耦合性(点我了解耦合性),方便管理等优点。值得在你的服务器中占有一席。 如果你使用过Linux或macOS,你可能对一款软件很熟悉:Wine。它用于配置一个运行环境的容器,让Windows软件在这个容器中运行,Docker与它的原理相似。 细读!Docker概念 我在网上看到的图大部分都很繁琐,反而会越研究越迷糊。我们从最接近我们的方向往外讲: 容器(Container) 容器就像虚拟机一样,是一个隔离于物理机的空间。你在里面放好需要的运行环境:比如你需要在容器里运行Python脚本,你就可以给容器安装Python,也可以在里面放入你的脚本程序。 在容器中写入一段规定的脚本内容,你就可以让Docker启动这个容器并且按照你的脚本来执行命令。 无论容器内的应用怎么折腾,也跑不出这个容器。 假如你在容器里配置了一个Tomcat服务器,而这个Tomcat服务器是需要Java才能运行的,只要你在容器中装好了Java,就算更换服务器后系统里没有Java也没有任何问题。因为容器是被隔离的,只要容器....

从零开始 OpenSSL 之 (贰) - 使用 rsautl 解密文件

前言 如果你没有看过第一章,请先学习第一章的内容: 点我跳转 回顾 上一章我们使用公钥public.key将text.txt加密为了encryptedFile.txt,这章我们将使用私钥private.key将encryptedFile.txt中的原文提取出来。 解密 还是使用我们万能的OpenSSL。在这之前,让我们了解下OpenSSL中的rsautl命令,在命令行中输入: adler@localhost ~/keys: openssl rsautl --help Usage: rsautl [options] -in file input file -out file output file -inkey file input key -keyform arg private key format - default PEM -pubin input is an RSA public -certin input is a certificate carrying an RSA public key -ssl use SSL v2 padding -raw use no paddin....

从零开始OpenSSL之 (壹) - 使用genrsa、rsa、rsautl生成公私钥

公钥和私钥 在生活中,我们常常会经历加密->解密的过程。当你在扫码支付、登录用户、进行游戏的时候,大部分数据包传输的都是加密后的数据包。 俗话讲加密 尽我所能,我会将公钥和私钥的概念最简单地讲述出来。 假设A是客户端,B是服务端: A使用某些手段生成了一段完整的私钥 A使用完整的私钥经过某种算法生成了另一段公钥 A将公钥和完整的私钥给了B 当B想要将东西传给A时: B把公钥和要传送的文件乱七八糟地用某种算法掺杂在一起发送给A 当B发送给A时,如果有黑客拦截了这个文件,他只能获得一堆乱码 当A收到一堆乱码后,使用完整的私钥经过某些算法提取出原文件 由于A和B同时拥有公钥和私钥,所以双方都可以使用公钥加密并且使用私钥解密。 OpenSSL 我们可以将OpenSSL理解为一个工具箱,它能实现大部分的密钥加、解密以及更多高级功能。 请注意 在下文中的命令有&&连接符,为的是让多条命令按顺序执行。 生成私钥 现在,让我们使用OpenSSL生成一段私钥。 在你的Linux或MacOS (Windows需自行安装)中执行下面命令: mkdir keys &&am....

A

© 2020 贼拉正经的技术博客

Powered by 菠萝博客 Bolo
Theme bolo-sakura by Mashiro
浏览 134593 文章 40 评论 118

GitHub: AdlerED
WeChat: 1101635162

京ICP备18063791号
  

www.stackoverflow.wiki-MySSL安全签章

主题 | Theme