自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 牛客网输入处理

牛客网相信在牛客网上做题、笔试的同学,遇到一个比较大的问题就是如何处理输入输出。例如,输入为[[1,2],[3,4],[5,6]]将此字符串转为整数数组: public static int[] stringToArrays(String str){ str = str.replaceAll("\\D"," ").trim(); //trim()方法去除字符串首尾的空字符 //str = str.replaceAll("[^0-9]"," ").trim();

2020-07-01 10:39:27 909

原创 深入理解Java虚拟机

深入理解Java虚拟机1、运行时数据区域2、对象的创建虚拟机遇到一条new指令;检查指令参数是否能在常量池中定位到一个类的符号引用,并检查符号引用代表的类是否已被加载、解析和初始化过。如果没有进行初始化:则需先执行相应类的加载过程,加载检查通过后,虚拟机为新生对象分配内存;分配的内存空间除对象头外都初始化为零值;在对象头中存入是哪个类的实例、对象的hash码、GC分代年龄等;执行init()方法,将对象按照程序员的意愿初始化。3、对象可回收(标记对象)引用计数算法:给对象

2020-06-22 22:04:10 218

原创 SpringBoot + Shiro + MyBatis整合案例

SpringBoot + Shiro + MyBatis案例1、pom.xml文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.

2020-06-17 00:10:40 506

原创 Java设计模式之外观模式(属于结构型模式)

Java设计模式之外观模式定义:外观模式也称为门面模式,属于结构型模式。外观模式通过定义一个一致性接口,用以屏蔽内部子系统的实现细节,使用端只需跟这个接口发生调用即可实现调用后台的效果。通俗的讲,就是后台类实在太多,而你想要调用很多个后台类的一些方法,以前你要做的是,每个类都new 一个对象,然后调用这个对象的方法,如果new的对象太多,这显得十分的繁琐。现在使用外观模式,将创建很多个对象的过...

2020-04-12 16:59:16 193

原创 Java设计模式之代理模式(属于结构型模式)

Java设计模式之代理模式定义:所谓代理模式,就是指客户端并不直接调用需要的对象(目标对象),而是使用代理,通过调用代理来间接的调用需要的对象(目标对象)。代理的分类:静态代理(即:代理类与目标类要实现共同的接口或继承相同的父类。)动态代理(即:代理类不需要实现接口,但目标类需要实现接口,利用的是JDK中的API动态的在内存找那个构建代理对象。)场景描述:小李独自去大城市工作,但人生...

2020-04-09 23:47:59 178

原创 Java设计模式之装饰者模式(属于结构型模式)

Java设计模式之装饰者模式定义:动态的给一个对象添加额外的功能。场景描述:现在奶茶店提供三种奶茶,分别为椰果奶茶(¥6.0)、珍珠奶茶(¥8.0)和布丁奶茶(¥7.0)。顾客除了点这些奶茶外,还可以加冰(¥0.5)、加红糖(¥1.0)、加果冻(¥2.0)在里面。先定义一个抽象类:public abstract class Drinks { private String name;...

2020-04-08 18:18:46 255

原创 Java设计模式之适配器模式(属于结构型模式)

Java设计模式之适配器模式(结构型模式)定义:将一个类的接口转换成客户希望的另外一个接口。Adaptor模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。模式中的角色:目标接口(Target):客户所期望的接口。目标可以是具体的或抽象的类,也可以是接口;需要适配的类(Adaptee):需要适配的类或适配者类;适配器(Adapter):通过包装一个需要适配的对象,把原接口转...

2020-04-06 14:06:41 328

原创 SHA-256算法流程

SHA-256输入消息:M输出消息:256位(bit)hash值步骤:消息填充:M的长度 mod 512 = R,考虑R(R为输入消息长度按512bit进行分组后,最后一组的长度)R < 448,在最后一组的末尾填充1个“1”及若干个“0”,使最后一组位数达到448;再在这448位的基础上填充64位,这64位是M的原始长度的二进制表示。1 0000...⏟448...

2020-04-04 17:37:15 1434

原创 Java设计模式之原型模式(属于创建型模式)

Java设计模式之原型模式模式定义:原型模式指定创建对象的种类,并且通过拷贝这些原型创建新的对象。(用于对象的复制)两个步骤:在原型类上实现Cloneable接口。再原型类中重写java.lang.Object类的clone()方法。Student://1、实现Cloneable接口public class Student implements Cloneable{ pr...

2020-04-04 00:08:51 299

翻译 《IDENTITY-BASED CRYPTOSYSTEMS AND SIGNATURE SCHEMES 》-1984_Adi Shamir(中文翻译)

基于身份的密码系统和签名方案Adi Shamir想法​ 在本文中,我们介绍了一种新型的密码方案,它使任何一对用户都可以安全地通信并验证彼此的签名,而不需要交换私有或公共密钥,不需要保留密钥目录,也不需要使用第三方的服务。该方案假设存在可信密钥生成中心,其唯一目的是在用户首次入网时为其提供个性化智能卡。此卡内嵌的信息使用户能够对其发送的消息进行签名和加密,并以完全独立的方式对其接收的消息进行...

2020-04-03 20:21:52 831

原创 Java设计模式之建造者模式(属于创建型模式)

建造者模式定义:将一个复杂对象的构建与它的表示进行分离,使得同样的构建过程可以创建不同的表示。建造者模式由四部分组成:Product:对需要构建的复杂对象,定义其各部分属性(组成);Builder:为构建一个产品的各个属性提供抽象接口(即:规则);ConcreteBuilder:各个抽象接口的具体实现方式;Director:负责将产品参数告诉流水线工人。产品(Product):P...

2020-04-01 20:14:46 133

原创 MapReduce之倒排索引

倒排索引算法预备环境网上对于下面的配置和安装都比较多。Maven的安装以及在IDEA中对Maven进行了配置;搜索对应系统版本下(比如windows7)编译过的hadoop jar包并进行相关环境变量配置;总之就是先要在windows搭建hadoop环境。操作步骤1.新建maven项目,在pom.xml中新增依赖: <build> <plugin...

2020-03-31 18:57:38 292

原创 Java设计模式之工厂模式(包括简单工厂模式、工厂方法模式、抽象工厂模式=>创建型模式)

工厂模式一、 简单工厂模式以前,销售商需要什么(产品)对象就先创造什么工厂,自己创建工厂自己生产产品:public class OldFactory { public static void main(String[] args) { XiaoMi9 xiaoMi9 = new XiaoMi9(); XiaoMi10 xiaoMi10 = new Xi...

2020-03-31 00:50:21 136

翻译 对1976年Diffie和Hellman的文章《New Direction in Cryptography》的中文翻译

中文翻译(1976-Diffile-Hellman)密码学新方向摘要​ 本文介绍了两种当前密码学的发展技术。远程处理的广泛应用导致了对新型密码系统的需求,这种系统可以最大限度地减少对安全密钥分发通道的需求,并且提供与手写签名等效的方法。本文提出了解决这些问题的方法。文中还讨论了通信和计算理论是如何开始为解决长期存在的密码问题提供工具的。I、引言​ 今天我们站在密码学革命的边缘。廉价数...

2020-03-28 23:37:18 4341 2

原创 SHA-1算法流程

SHA-1输入消息:M输出消息:160位的hash值步骤:消息填充:M的长度 mod 512 = R,考虑R(R为输入消息长度按512bit进行分组后,最后一组的长度):R < 448,在最后一组的末尾填充1个“1”及若干个“0”,使最后一组的位数达到448位;再在这448位的基础上填充64位,这64位是M的原始长度的二进制表示。1 0000...⏟448−R&...

2020-03-27 23:39:49 2917 1

原创 MD5(HASH算法)

MD5简介将任意长度的"字符串"变为一个固定长度为128 bit的摘要值(hash值)。算法1、待加密信息处理MD5将待加密的消息分割成每512bit为一个分组,得到:N∗512+RN * 512 + RN∗512+R这里的R是剩余的位数。分为三种情况:1、R = 0时,需要单独补上一个512 bit的分组,如图:1 000000...⏟447bit 输入...

2020-03-26 10:24:01 3048

空空如也

空空如也

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

TA关注的人

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