自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 FastJson 中 Json.toJsonString(obj) 出现空指针异常

记一次开发中遇到的FastJson空指针异常,一定要注意:实体类中除了属性的set和get方法,其他自定义方法一定要慎用get和set开头这里我主要是实现一个简单的评论功能:实体类(Comment):@Getter@Setter@AllArgsConstructor@NoArgsConstructor@Builder@ToStringpublic class Comment iimplements Serializable{ private Long id; private Long

2021-08-10 15:22:27 4173

原创 org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no

2020-12-03 19:39:36 1038 1

原创 Java深入理解单例模式

单例模式单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。注意:单例类只能有一个实例 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例单例模式中最重要的思想:构造器私有(private),一旦构造器私有,就无法用new关键字去创建对象了。接下来,介绍几种单例模式的写法1.饿汉式package com.singleton;//饿汉式单例public class Hungry { private byte[...

2020-12-01 16:47:18 166

原创 输出素数集

#include<bits/stdc++.h>using namespace std;typedef long long ll;ll MAX=100000000;bool isPrime[100000000];int main(){ time_t start,stop; start = time(NULL); memset(isPrime,1,s...

2019-09-16 20:38:56 257

原创 Hadoop 1.2.1 完全分布式搭建

一、准备工作(1)在Windows 10机器上安装VMware Workstation并建立三台虚拟机,我使用的是CentOS7系统,配置相应的IP地址(根据自己电脑的IP地址配置),然后在每台机器中配置JDK环境。(2)安装Xshell 6用于远程登录系统(3)安装Secure File Transfer Client,用于在Windows系统向虚拟机上传输文件(4)Hadoop...

2018-09-13 16:32:21 889

原创 RSA加密解密

RSA加密解密原理思路:RSA加密算法是一种典型的非对称加密算法,它基于大数因式分解数学难题,它也是应用最广泛的非对称加密算法。它的原理较为简单,只需几个步骤就可以完成消息的加密传递:(1)A方在本地构建密钥对,公钥和私钥;(2)A方将产生的公钥发送给B方;(3)B向A发送数据时,通过公钥进行加密,A接收到数据后通过私钥进行解密,完成一次通信。反之,B也另外构建一套公钥和私钥,...

2018-09-10 14:53:35 1724 1

原创 希尔密码加密解密

希尔密码加密解密原理:希尔密码是运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0,B=1...一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果MOD 26。注意用作加密的矩阵(即密钥)必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。例如:设分组长度n=2,密钥为:K={7,9;8,3},明文为:friday加密过程为:(1)将明文分...

2018-09-09 17:04:30 20947 2

原创 普莱费尔密码加密解密

普莱费尔密码的编写方法通常分为三个步骤,即编制密码表,整理明文,编写译文,下面以明文:pishoupideweinasi和密钥“culture”为例讲解。1、编制密码表我们需要一个5×5的方表,而用到的是密钥“culture”与英文字母表:(1)整理密钥字母culture,去掉后面重复的字母,得到字母串:cultre;(2)用上一步得到的字母自上而下填补5×5方表的纵列(也可横排)...

2018-09-07 18:18:19 6361

原创 频率分析破解单表代换密码

频率分析破解原理:在任何一种书面语言中,不同的字母或字母组合出现的频率各不相同。而且,对于以这种语言写的任意一段文本,都具有大致相同的特征字母分布。比如,在英语中,字母E出现的频率很高,而X出现的较少。类似地,ST、NG、TH以及QU等双字母组合出现的频率非常高,NZ、QJ组合则极少。英语中出现频率最高的12个字母可以简记为“ETAOIN SHRDLU”。简单替换密码的频率分析,在一个简单...

2018-09-07 17:54:19 12465 1

原创 单表代换密码加密解密

单表代换密码加密解密原理:单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如:26个源字母表为:abcdefghijklmnopqrstuvwxyz代换的字母表为:qwertyuiopasdfghjklzxcvbnm在加密时,按照设计好的对照表对每一个明文字母进行替换,如a替换为q,b替换为w等。加密代码://s为代换...

2018-09-07 17:28:08 14682

原创 维吉尼亚密码破解

首先使用Friedman确定关键词长度//s为密文,len为密文长度int friedman(string s,int len){ int keyLength = 2; //猜测秘钥长度 double avgIc; //平均重合指数 while(true) { vector&lt;string&gt; cipherGroup; //...

2018-09-07 17:19:49 2097

原创 维吉尼亚密码加密解密

加密方法:在维吉尼亚密码中,发件人和收件人必须使用同一个关键词(或同一段字母),这个关键词告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。比如:如果关键字为“BIG”,发件人将把明文中的第一个字母按“B”行来加密(向后移动1个位置,因为B是排在A后面的第1个字母),明文中的第二个字母按“I”行来加密(向后移动8个位置,因为I是排在A后面的第8个字母),明文中的第三...

2018-09-07 17:09:55 11217 4

原创 凯撒密码加密解密

加密方法:凯撒密码需要事先设置一个偏移量值(如:3,4,5等);然后将自己明文中每个字母加上该偏移量转变为另一字母(如偏移量为3,a字母转变为d字母)。加密程序:string encrypt(string mingwen,int k){ string miwen; int i; for(i=0; i&lt;mingwen.length(); i++) ...

2018-09-07 15:50:35 1442

转载 大数据算法 十大经典算法

一、C4.5C4.5,是机器学习算法中的一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。决策树构造方法其实就是每次选择一个好的特征以及分裂点作为当前节点的分类条件。C4.5相比于ID3改进的地方有:1、用信息增益率来选择属性。ID3选择属性用的是子树的信...

2018-09-06 11:15:13 484

原创 HDFS 节点功能

HDFS中三种节点的功能:一、NameNode(NN)-- NameNode主要功能:接受客户端的读写服务-- NameNode保存元数据(metadata)信息,主要包括    (1)文件拥有者和权限    (2)文件包含哪些块    (3)每个块保存在哪个DataNode上(由DataNode启动时上报)解释:每个块保存在哪个DataNode上,这个信息不会保存在N...

2018-09-06 11:09:28 3482

原创 HDFS读写流程

HDFS读流程:首先客户端通过调用Distributed FileSystem API的open方法发送请求到NameNode,NameNode将相应文件的Block的位置信息(元数据中存在这些信息)返回给客户端,客户端通过FSData InputStream的read方法并发的读每个Block(即图中4,5是并发执行的,每个block都有多个副本,程序会找相对空闲的DataNode节点去...

2018-09-06 11:09:18 863

原创 HDFS Hadoop-1.x 理论

HDFS(分布式文件系统)为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制,并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。除了可靠性,HDFS在一定程度上可以提高数据的读取速度。 HDFS中有三个重要的节点:Name Node,Data Node,Secondary Nam...

2018-09-06 11:09:08 145

原创 求循环节的长度

import java.util.Vector;public class Main { static String s = ".";  //保存循环部分 public static void main(String[] args) { System.out.println(f(11, 13)); System.out.println(s); } // 用每次的余数来除m,当余数等于vector...

2018-05-12 22:29:51 1549

原创 数独

import java.util.Scanner;//数独public class Main { public static void main(String[] args) { Scanner sn = new Scanner(System.in); boolean[][] rows = new boolean[9][9]; // 行 boolean[][] cols = n...

2018-05-12 22:29:26 142

原创 区块链的概念

    2008年,中本聪发表论文《比特币:一个点对点的电子现金系统》。在论文中首次提出比特币的概念,他创建了一个完全去中心化的电子现金系统,并在2009年成功挖出第一个矿(50个比特币)。    随着比特币的发展,人们开始关注比特币中使用的底层技术:点对点的网络、时间戳、加密技术、工作量证明等,这些技术不仅仅可以用到数字货币中,还可以应用到其他领域,因此把这些技术综合提炼出来,就有了区块链的概念...

2018-05-12 14:01:30 303

原创 进程和线程的区别,及线程间的公共资源和私有资源

进程拥有两个基本的属性:资源的拥有者和独立调度单位。进程是资源分配和独立运行的基本单位,每一个进程都完成一个特定的任务。线程的引入进一步提高了程序并发执行的程度,从而进一步提高了资源的利用率和系统的吞吐量。引入线程目的是减少并发执行时的时空开销。因为进程的创建、撤销、切换较费时空,它既是调度单位,又是资源拥有者。线程是系统独立调度和分派的基本单位,基本上不拥有系统资源,只需要少量的资源(指令指针I...

2018-04-20 23:18:29 6305

原创 java递归实现迷宫算法

描述:已知迷宫入口和出口位置,数组中0代表可以通过,1代表墙,求入口到出口的最短路程。此程序会打印出所有可能的路径,并且打印最短路径的步数。import java.util.LinkedList;public class MG { static int min = Integer.MAX_VALUE; // 记录最小的步数 static int endX = 3, endY = 3; // ...

2018-04-08 19:23:59 1592

原创 java蓝桥杯第五届省赛数字排序问题

问题描述:今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:17126425374635当然,如果把它倒过来,也是符合要求的。请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。解题思路:假如数组中第i个位置放数字n,则第i+n+1个位置也应该放数字n,...

2018-03-21 18:37:56 167

SSHSecureShellClient 下载

ssh secure shell client是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。

2018-09-12

XShell6 下载

Xshell 6 一个强大的安全中断模拟软件,Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

2018-09-12

空空如也

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

TA关注的人

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