JDK

Java 常见摘要算法——md5、sha1、sha256

不想你离开。 提交于 2020-11-22 06:56:24
目录 摘要算法简介 md5 使用jdk内置方法实现md5加密 使用bc方式实现md5加密 使用cc方式实现md5加密 sha1 使用jdk内置方法实现sha1加密 使用bc方式实现sha1加密 使用cc方式实现sha1加密 实现sha256的代码和sha1的代码相似 摘要算法简介   摘要算法,也是加密算法的一种,还有另外一种叫法:指纹。摘要算法就是对指定的数据进行一系列的计算,然后得出一个串内容,该内容就是该数据的摘要。不同的数据产生的摘要是不同的,所以,可以用它来进行一些数据加密的工作:通过对比两个数据加密后的摘要是否相同,来判断这两个数据是否相同。   还可以用来保证数据的完整性,常见的软件在发布之后,会同时发布软件的md5和sha值,这个md5和sha值就是软件的摘要。当用户将软件下载之后,然后去计算软件的摘要,如果计算所得的摘要和软件发布方提供的摘要相同,则证明下载的软件和发布的软件一模一样,否则,就是下载过程中数据(软件)被篡改了。   常见的摘要算法包括:md、sha这两类。md包括md2、md4、md5;sha包括sha1、sha224、sha256、sha384、sha512。 md5   md摘要算法包括多种算法:分别是md2、md4、md5。现在一般都是使用md5进行加密。   Java中实现md5加密,有三种方式:   使用jdk内置的方法实现实现md5加密

NIO、BIO、AIO

假如想象 提交于 2020-11-22 04:32:35
https://gitee.com/jly521/NioAio.git NIO、AIO代码举例地址 从进程级通信的维度讨论时, 阻塞和同步(非阻塞和异步)就是一对同义词, 且需要针对 发送方 和 接收方 作区分对待。 发送方阻塞/非阻塞(同步/异步)和接收方的阻塞/非阻塞(同步/异步) 是互不影响的。 #############################我的理解 同步和异步(宏观表现): 异步能主动通知你,不用你不停的轮询 同步的含义是,你是否需要亲自去处理数据 阻塞非阻塞(具体实现): 调用不能直接返回结果,所采取的策略(等还是不等) BIO(同步阻塞): 比如发起读入操作,如果获取不到就会阻塞等待返回结果,整个程序挂起。 NIO(同步非阻塞): channel、selector、buffer 比如发起读入操作,调用handler 如果获取不到就会返回读取不到状态(比如被锁),整个程序挂起,过一段时间轮询好了没 如果获取到读入缓存,开启读取动作 使用 select轮询就是同步 每次从选中的通道读取数据可以设置阻塞和非阻塞策略,读入缓存 AIO,即NIO2.0(异步非阻塞): 比如发起读入操作, 如果读取不到,根本不会调用handler 如果获取到读入缓存,调用handler处理 aio 接收客户端请求才去的是读入完成后回调处理函数,所以是 异步

Java基础之泛型

二次信任 提交于 2020-11-22 01:57:28
一:泛型技术的核心意义在于:   类在定义的时候,可以使用一个标记,该标记就表示类中的属性或方法参数的类型,在使用的时候才动态的设置类型。 1 package test; 2 /** 3 * 泛型的使用 4 * @author Administrator 5 * 6 */ 7 public class TestType { 8 9 public static void main(String[] args) { 10 TypeDemo<String> typeDemo = new TypeDemo<String> ();//接受的是String类型 11 typeDemo.setX("东京260度" ); 12 typeDemo.setY("北纬79度" ); 13 System.out.println("x坐标为:"+typeDemo.getX()+"y坐标为:"+ typeDemo.getY());//所以这里不需要向下转换,避免了Object向下转换的不安全性。 14 } 15 } 16 /** 17 * 泛型类,在类上 使用<T> 定义泛型, 18 * 确定了该类中所有参数的类型都必须跟类上定义的类型一致 19 * @author Administrator 20 * 21 * @param <T> 22 */ 23 class TypeDemo<T> { 24

JAVA(windows)安装教程

♀尐吖头ヾ 提交于 2020-11-22 00:40:43
JAVA(windows)安装教程 闲来无聊,把电脑给重装系统了,导致什么环境都没得;下面简单说下windoes系统下jdk的安装步骤 一、下载 首先点击地址进行下载: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、安装 1、双击下载的程序包,出现如图所示 2、点击下一步;这里我把路径给改成了(D盘下的jdk1.8) 3、继续下一步,会出现弹框,点击确定 4、点击确定,会出现安装jre的提示,点击下一步即可 5、等待安装完成 6、之后窗口左侧会有一个弹框,把它拉出来即可 7、点击关闭 三、接下来进行环境变量的配置 1、右键我的电脑,点击最下面的属性,之后再弹框里点击高级系统设置,再点击环境变量 2、点击新建 (1)新建->变量名"JAVA_HOME",变量值 C:\Java\jdk1.8.0_05 (即JDK的安装路径) (2)编辑->变量名"Path",在原变量值的最后面加上 %JAVA_HOME%\bin 之后一路点击确定 四、接下来进行验证,看是否成功安装了java 1、打开cmd 使用快捷键,** (win+r) ** ,输入cmd 2、输入 java 观察是否有输出,出现下面就说明这个命令是OK的 3、输入java -version观察

NO.A.0007——day02——JDK9的shell、编译器

心不动则不痛 提交于 2020-11-21 15:37:29
1、JShell脚本工具是JDK9的新特征: 什么时候会用到JShell工具呢;当我们编写代码非常少的时候,而又不愿意编写类,main方法时;也不愿意去编译和运行,这个时候就用到JShell工具。 public class HelloWorld{ public static void main(String[] args){ System.out.print("Hello, World!"); } } 2、如何启动JShell // 直接启动JShell C:\Users\Administrator>jshell jshell> System.out.println("Hello, World!"); Hello, World! jshell> int a = 10; a ==> 10 jshell> int b = 20 b ==> 20 jshell> int result = a * b; result ==> 200 jshell System.out.println("结果是:" + result); 结果是:200 jshell> /exit 再见 2、编译器: 代码库:Demo12Notice.java /* 对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围, 那么javac编译器将会自动隐含地为我们补上一个(byte)(short)

Spring AOP

杀马特。学长 韩版系。学妹 提交于 2020-11-21 13:32:08
Spring整合单元测试 在前面的案例中我么需要自己创建ApplicationContext对象,然后在调用getBean来获取需要测试的Bean Spring提供了一种更加方便的方式来创建测试所需的ApplicationContext,并且可以帮助我们把需要测试的Bean直接注入到测试类中 添加依赖: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.2.RELEASE</version> </dependency> 测试代码: import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import javax.annotation.Resource; @RunWith(SpringJUnit4ClassRunner.class)//固定写法 @ContextConfiguration("classpath

怎样打开.jar格式文件,怎样运行.jar格式文件

怎甘沉沦 提交于 2020-11-21 12:47:55
当时第一次看到.jar文件不知道是什么鬼,以为是压缩包,直接就解压了,但是并没有什么用。所以在下为大家详细介绍如何打开.jar文件以及如何运行.jar文件。什么是.jar文件,简单的说就是java压缩包,可以用java虚拟机打开。 工具/原料 java jdk .jar文件 方法一 1 在打开.jar文件之前,首先要确保电脑里面安装好了java JDK(java 的开发环境),同时按下windows+R键,在左下角弹出的运行框中输入CMD(不区分大小写),点击确定。 2 在出现的黑框框中输入javac,再敲回车,若出现如图所示,则表示电脑中已安装过JDK,否则必须先要安装JDK才可进行操作,以下链接为详细讲解了如何安装java环境和如何配置java环境,可以安装步骤安装。 22 如何安装java环境和如何配置java环境 3 若安装好JDK,则可以找到需要打开的.jar文件,鼠标右键该文件,选择打开方式,选择Java(TM) Platform SE binary。 4 就可以正常打开.jar文件,如图为在下成功打开的.jar文件。 END 方法二 1 在安装好java环境条件下,按下Windows+R键,在弹出的运行框中输入CMD(不区分大小写)。若没有安装java环境,以下链接为详细讲解了如何安装java环境和如何配置java环境,可以安装步骤安装。 22

执行流程 | 你真的了解Spring AOP的执行顺序吗?

老子叫甜甜 提交于 2020-11-21 12:21:55
Hi! 我是小小,我们又见面了,今天的主要内容是,你真的了解Spring AOP的执行顺序吗?跟随着我的脚步,一块丈量世界,了解世界,重新认识,重新了解Spring AOP的执行顺序。 聊一聊毕业四个月的感受 毕业四个月了,劳动合同还没有签,一切都没有稳定下来,不过也似乎也将要稳定下来了,生活如流水一般非常平稳的运行着,而我的公众号也在非常平稳的编写着,当然啦,自己最喜欢听的音乐也还是没有变,MySoul,一成不变,似乎生活进入了稳定状态,又或者生活没有进入稳定状态,我也不知道,只知道,这就是生活,唯有这样的生活才能继续进行。这四个月对我感觉,就是每天敲啊敲,每天的敲,拿着微薄的薪水,获得着微薄的收入,或许这就是生活,自己的,也许这就是一个普通人,再也不能普通过的了生活了,好啦,不吐槽了,生活还需要继续进行下去,我们隆重的开始今天的正文。 AOP核心概念 需要了解AOP,首先需要了解这些Spring AOP这些核心概念。 Aspect 切面:由一系列切点,增强和引入组成的模块对象,可定义优先级,从而影响增强和引入的执行顺序,事物管理,在Java中就是一个切面应用的例子。 Join point 接入点:程序执行期的一个点,例如方法执行,类初始化,异常处理,在Spring AOP中,接入点始终表示方法的执行。 Advice 增强切面在特点接入点的执行动作,包括 around

Centos 8下安装jdk1.8

萝らか妹 提交于 2020-11-21 12:15:11
安装环境:Centos 8 JDK版本:1.8 用户名:huwei JDK1.8压缩包链接:https://pan.baidu.com/s/15DfvlIKRl1G4fk5rFNigQg 提取码:muap 下载好的JDK压缩包如下图所示 为JDK创建安装的文件夹 cd命令进入/usr/local 目录下,由于进入系统目录操作需要管理员权限,故使用sudo su 由普通用户转为root用户,mkdir Java创建Java文件夹(touch是创建文件) cd / usr / local sudo su mkdir Java 将JDK移至已创建好的文件夹中 解压JDK的压缩包 cd 进入Java文件夹, .tar.gz文件使用tar命令进行解压,并解压到当前目录。 tar -zxvf 压缩文件名.tar.gz (解压缩后的文件只能放在当前的目录。) tar -zxvf 压缩文件名.tar.gz -C 指定文件夹( 解压到指定的文件夹) -z: 有gzip属性的 -x:解压 -v:显示所有过程 -f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名 cd Java tar - zxvf jdk - 8u144 - linux - x64 . tar . gz 解压完成! 设置环境变量 设置环境变量 这里采用全局设置方法,就是修改etc/profile

mac android环境配置

独自空忆成欢 提交于 2020-11-21 09:28:47
1、下载Android Studio,它是基于IDEA IntelliJ, 下载 安装它; 2、 打开 Android Studio 的时候提示要定位jdk路径,mac中的jdk太老了,需要 最新的jdk以支持 Android Studio , 下载地址直接点ide的提示链接,拉到下方即可下载对应系统的jdk,安装之后点击 Android Studio的detect(自动检测)定位到jdk即可 3、第一次打开提示要安装android-sdk_r版本号-macosx.zip ,但总是失败,就算翻墙也不行,从 http://mirrors.opencas.cn/android/ 下载android-sdk_r24.0.2-macosx.zip,解压放到对应的目录下/Users/用户名/Library/Android/sdk,然后Project Defaults,定位到该文件夹,然后再返回SDK Manger 发现已经定位到了目标文件夹,可以点击下方的 Launch Standalone SDK Manager,并且可以切换标签设置了。 4、设置国内镜像,system settings->Android SDK 勾上Force https://.... 然后点击Launch Standalone SDK Manager,然后更新即可,说的不是很具体,教程自行搜索。 5