自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 通俗理解AQS原理及与Reentrantlock的关系

面试时候一个很常见的问题,就是AQS的理解,往往问到Reentrantlock之后,面试官会问,你知道Reentrantlock的实现吗?ReentrantlockReentrantlock翻译过来就是可重入锁,通俗的讲,就是如果一个线程获取到了这个锁,他可以再次获取。但是释放的时候,如果获取了10次,也需要释放10次才能完全释放完毕也就是说,这里lock 10次,需要unlock...

2019-10-13 01:02:52 886

原创 完全理解HTTPS传输过程及原理

HTTPS比HTTP多了一个TLS/SSL加密层,不仅对数据进行了加密,还提供了身份验证的功能HTTPS使用了非对称加密和对称加密一起使用的方法。简单地说,就是其中的一方先生成一个对称加密的密钥,然后通过非对称加密的方式来发送这个密钥,这样双方通信后就可以通过对称加密来进行加密和解密了关于SSL/TLS。TLS的前身是SSL,,位于应用层和传输层之间握手层是用于端对端协商密码和...

2019-10-12 02:58:51 1490

原创 完全理解对称加密及非对称加密

对称加密:又被称为但密钥加密,同一个密钥既可以加密,也可以解密这里使用HTTP进行演示,客户端和服务器持有同一个密钥,客户端使用密钥加密后,服务端进行解密非对称加密:两个人进行对话,每个人都有一把公钥和一把私钥进行通讯时候,他们先交换各自的公钥。假设女生要给男生发文件,她先用男生的公钥给文件加密,之后传输给男生男生拿到加密过的文件后,用自己...

2019-10-12 02:54:58 454

原创 ThreadLocal的实际使用场景

我们知道实际开发中会分层,比如Controller-Service-dao层如果说dao层需要调用Controller层中的一个对象,那么该怎么做呢,常见的想法,在每个方法上的参数里面,带上那个对象,如上图所示。这样耦合极大那么改动一下,在最上层的那个类中设置一个静态方法,这样总可以调用了但是这样会有一个极大的问题,就是线程安全问题,如果那个对象是非线程安全的,多个线程同时操作那一...

2019-10-11 01:08:23 1931 1

原创 多次使用流密码破解范例(Many Time Pad)

Many Time PadLet us see what goes wrong when a stream cipher key is used more than once. Below are eleven hex-encoded ciphertexts that are the result of encrypting eleven plaintexts with a stream c...

2019-09-23 00:36:31 6581

原创 this为什么不能在静态方法中使用

静态方法是存放在方法区中的,此时使用this不能获取到当前类的地址而在类的普通方法中使用this,就能得到当前对象在堆中的地址

2019-07-09 13:31:23 3826 2

原创 SpringBoot(SpringMVC)添加响应头字符串

@RequestMapping(value = "keyword_dic.html", method = RequestMethod.GET)public String showKeywordDic(HttpServletResponse response) { response.setHeader("Last-Modified",new Date().toString()); ...

2018-04-15 22:43:21 12948

原创 Java将文件转换成UTF-8无BOM格式

做工程时候,需要用到utf-8无BOM格式的txt文件,所以写了个转换工具类大致原理是,UTF-8无BOM开头会多几个字节,这个程序把原本文本保存下来,在开头多写入几个字节,再把源文本写回去package net.forestpolice.lawsearch.utils;import java.io.*;public class FileUtils { public void tu...

2018-04-15 22:36:19 9967

原创 SpringMVC(Springboot)返回文件方法

项目需要生成excel表格,然后返回给用户,用户需要下载这个excel表格,所以封装了一下返回文件流的方法public ResponseEntity<FileSystemResource> export(File file) { if (file == null) { return null; } HttpHeaders headers = ne...

2018-04-15 22:01:30 16568 4

原创 Thymeleaf+bootstrap实现简单分页

做项目时候,想找一个简单的分页代码,懒得用前端框架和json,没找到,就自己写了一份简单的需要从后台传两个变量:indexPage(当前页数)totalPage(一共页数)效果图如下:总体思路是以当前页为中心,左边三个按钮右边三个按钮,挨个判断+页数和-页数时有没有超出范围在第一页和最后一页时需要做一个判断,如果当前页等于1时,上一页按钮失效,当前页等于总页数时,最后一页失效最后上代码:模板代码基...

2018-04-12 20:35:10 10536 17

原创 thymeleaf模板布局之引入其他html片段(类似jsp:include功能)

在实际开发当中,有一些重复的内容必须提取出来,这样不仅页面布局合理,修改也会方便,改一处所有页面便都能得到改动。比如导航栏,底部版权声明等在jsp中,一般使用jsp:include:xxx.jsp来实现这个功能,那在thymeleaf里怎么做呢先说把所有html文件都引入进来的方法:我把导航栏的html片段单独提了出来,如果想全部引用它,就在想引用的那个页面写一个div,然后加上th:replac...

2018-04-10 15:33:49 16153 2

原创 蓝桥杯之9数算式

观察如下的算式: 9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次。 而乘积恰好也是用到了1~9的所有数字,并且每个1次。 请你借助计算机的强大计算能力,找出满足如上要求的9数算式一共有多少个? 注意: 1. 总数目包含题目给出的那个示例。 2. 乘数和被乘数交换后作为同一方案来看待。思路:数据量很大,如果无脑for循环将会造成O(n3)的复...

2018-03-29 23:19:17 2100 2

原创 蓝桥杯之包子凑数

标题:包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然...

2018-03-29 21:07:13 598

原创 java使用BigInteger进行进制转换

在java中,BigInteger类自带三十六进制内任意转换功能简单的就一行代码:String string = new BigInteger("3244",5).toString(30); System.out.println(string);以上意思为把3244这个五进制数转成三十进制的数...

2018-03-28 14:56:53 8164

原创 java实现简单任意进制互转

思路:输入一个字符串,将他转换成10进制,然后再将10进制的数转换成其他进制java中Integer类有一个相当好用的进制转换功能int num = Integer.parseInt("21A1",11)这句就会自动把21A1这个11进制数转换成10进制。10进制数转换成其他进制就不再赘述,网上有很多一搜一大把。最后上代码,代码还是相当简洁的,缺点是无法应对大数据,有兴趣的同学也可以自行改成Big...

2018-03-27 22:27:54 2641 1

原创 蓝桥杯之高斯日记java快速解法

题目标题: 高斯日记    大数学家高斯有个好习惯:无论如何都要记日记。    他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210    后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,    它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?    高斯出生于:1777年4月30日。        在高斯发现的一...

2018-03-27 21:24:59 679

原创 蓝桥杯之承压计算

标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。                             7                             5 8                            7 8 8                           9 2 7 ...

2018-03-27 19:51:49 385

原创 博弈论之双人取数游戏详解

描述有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜。编一个执行最优策略的程序,最优策略就是使玩家在与最好的对手对弈时,能得到的在当前情况下最大的可能的总分的策略。你的程序要始终为第二位玩家执行最优策略。格式PROGRAM ...

2018-03-26 23:04:19 6425

原创 解决新版树莓派无法开启CSI接口摄像头问题

博主近日想拿树莓派做个监控系统,于是入手了树莓派3B以及官方的Camera V2。刷了最新版的raspbian系统,发现怎么都无法使用。网传的如下的图,然而我刷的最新的系统里根本没有这个选项。解决方法如下:首先判断一下摄像头是不是不起作用状态使用vcgencmd get_camera发现support=0  确实没识别到摄像头然后先开启新版的摄像头支持选项第五项-------找到camera相关的...

2018-03-25 16:56:35 25110 21

原创 蓝桥杯之快速排序详解

快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。#include <stdio.h&...

2018-03-22 22:50:59 2460

原创 使用Servlet3.0注解开发

首先建立servlet3.0 版的web.xml因为servlet3.0支持注解开发所以web.xml只保留个模板就好也可以增加一个默认页的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/...

2018-03-22 22:46:46 336

原创 蓝桥杯之三羊献瑞

三羊献瑞观察下面的加法算式:      祥 瑞 生 辉  +   三 羊 献 瑞-------------------   三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。思路:暴力破解就好,值得注意的是,一开始就能推出三这个汉字的值,因为两个四位数相加等...

2018-03-22 22:28:05 1078

原创 并查集入门经典题:畅通工程

Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?  Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;...

2018-03-18 22:17:34 659

原创 第七届蓝桥杯取球博弈详解

                                                                                        取球博弈两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第...

2018-03-18 17:17:54 3446

原创 Thymeleaf读取html字符串自动转义问题

项目中因为要做高亮显示,所以后台传来的数据,对于关键字会用<em>标签做高亮显示但是使用 th:text输出时候会自动进行转义,导致直接输出标签文本解决办法:把 th:text 换成 th:utext原来:th:text="${law.id}"现在:th:utext="${law.id}"完毕之后已经可以正常显示高亮效果...

2018-03-14 22:54:16 17585

原创 错误解决:Mybatis查不到字符串

今天写代码时,凡是字段是字符串字段的,均查出来0个。但打印的时候却没有什么问题,能正常打印中文,也能查到int作为参数的记录事实上还是因为没有指定编码,在数据库的连接字符串中需要指定UTF-8编码解决:原来:spring: datasource: name: test url: jdbc:mysql://127.0.0.1:3306/law现在:spring...

2018-03-14 22:34:12 1995 1

原创 java连接solr并设置高亮域

关于springboot 和solr 的集成可以看我另一篇文章我的solr里主要存的是法条,有如下几个域id,law_title,law_content其中title和content组成一个复制域,law_keywords下面是我的service层的代码public SearchResult search(String keyword, int page, int rows) throws IOE...

2018-03-11 23:01:10 1253

原创 Springboot整合Solr简单教程

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-solr</artifactId> </dependency>首先在pom文件里引入依赖项然后在application.ym...

2018-03-11 22:28:18 7342 2

原创 Python使用get_text()方法从大段html中提取文本

<textarea rows="" cols="" name="id"><DIV style="TEXT-INDENT: 18pt; mso-char-indent-count: 2.0000" class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-spacerun: 'y

2018-03-11 22:17:23 32891 3

原创 Solr中清空全部元素

 <delete><query>*:*</query></delete><commit/> 在solr服务端中输入以上xml代码并执行

2018-03-11 22:16:25 672

原创 beautifulsoup通过id获取指定元素内容

<tr style="background-color:#fff;"> <td colspan="2" align=left valign="top"> <table id="zoom2" width="94%" border="0" cellspacing="0" cell

2018-03-10 17:36:12 40455 1

原创 SpringBoot集成jsp详细教程

springboot的默认模板引擎是thymeleaf,如果想要用jsp,还得进行一些其他的配置。首先在pom文件里面需要引入jsp的相关jar包。<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version...

2018-03-10 17:19:47 1368

原创 Python错误解决:UnicodeEncodeError: 'latin-1' codec can't encode characters in position

在使用Python3的模块PyMysql连接数据库时,怎么都无法插入,报了这个异常各种倒腾后发现是在连接的时候没有指定以什么编码连接导致的错误之前的代码:#!/usr/bin/python3import pymysqldef insert_law(title, content): # 打开数据库连接 db = pymysql.connect(host='127.0.0.1...

2018-03-10 00:14:33 73563 5

原创 正则表达式匹配任意字符串

(.*?) 匹配所有字符串<p class="num">9033</p>如使用<p class="(.*?)">9033</p>会得到num但是如果带换行符会失效,如果需要匹配包括换行符,则使用([\s\S]*) 再如果,在表达式中有括号或其他元字符,需要使用转义。在字符前加一个\元字符说明举例^匹配整个字符串的起始位置,或者行的起始位置,如果在字符...

2018-03-09 20:25:38 115679

原创 错误解决:java.lang.NoClassDefFoundError: org/springframework/core/ResolvableTypeProvider

在使用spring 单元测试时候发现报了这个异常得知缺少了spring-core包,去mvnrepository中搜索spring corehttp://mvnrepository.com/artifact/org.springframework/spring-core/4.2.4.RELEASE选一个4.2.4复制dependency到项目的pom文件中<!-- https://mvnre...

2018-03-08 17:19:44 15319 2

原创 maven错误解决:Failure to transfer

导入maven项目时出现点了问题:failure to transfer org.codehaus.plexus:plexus-utils:pom:3.0首先想到的是到本地的maven 仓库中的把这个包给删除,我的地址是E:\Maven\.m2\repository\org\codehaus\plexus\plexus-utils\3.0把这个文件夹删除然后使用maven----update Pr...

2018-03-07 00:16:41 8742

原创 Python调用百度语音api做语音识别

安装:pip install baidu-aip也可以用pycharm自带的库管理工具进行安装:代码:在百度ai中心申请一个账号,开通一下语音识别,把得到的key填进去http://ai.baidu.com/from aip import AipSpeech""" 你的 APPID AK SK """APP_ID = '你的 App ID'API_KEY = '你的 Api Key'SE...

2018-03-04 15:03:40 6518 9

原创 Python使用百度api做人脸对比

安装SDK:pip install baidu-aip如果在pycharm里也可以在setting----Project Interpreter---右边绿色加号,输入baidu,安装baidu-aip入门代码:先去百度AI开放平台注册一个账号,然后开通人脸识别,免费的http://ai.baidu.com/tech/face之后把得到的Api key  secretkey 填进去。from ai...

2018-03-04 14:57:48 3560 8

原创 Python使用pydub库对mp3与wav格式进行互转

我们需要用到一个叫pydub的类库,pydub是python的高级一个音频处理库,可以让你以一种不那么蠢的方法处理音频。---开发者原话https://github.com/jiaaro/pydub附上开发者的github地址安装:pip install pydub如果在pycharm中也可以这样安装:setting----Project Interpreter----右边绿色+号点一下insta...

2018-03-04 14:45:28 18447 6

原创 itchat给指定联系人发消息

首先先安装itchat,具体可以看我另外一篇博客import itchatitchat.auto_login()itchat.send('Hello, filehelper', toUserName='filehelper')这段代码意思是给filehelper发送一个hello,filehelper就是文件助手。那么我们想给指定的人发消息,并不是把filehelper改掉这么简单users=...

2018-03-04 14:31:41 9774 3

Mybatis逆向工程

Mybatis逆向工程mybatisGeneratorCustom 使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成pojo类和mapper映射文件。但与个人有些习惯不一致, 所以对源码做了些修改,修改内容如下: 1.生成的mapper.xml文件中使用4个空格来缩进 2.生成的mapper.xml文件中每个元素间增加一空行,如insert,update,delete等之间增加一空行 3.去掉*mapper.xml文件中生成的注释 4.根据数据库表名及字段的注释为Java类、属性增加注释,可以在源码org.mybatis.generator.internal.db.DatabaseIntrospector.java类中根据个人情况进行修改 5.实现每次生成都覆盖生成文件 以上修改只对mysql5.6和oracle11.2.0测试通过,其他版本未进行测试 使用方式: 1.在generatorConfig.xml中配置mapper生成的详细信息,如下: 1.1、添加要生成的数据库表 1.2、pojo文件所在包路径 1.3、mapper文件所在包路径 2.运行GeneratorSqlmap类中main方法生成文件 3.将生成文件复制到自己工程即可

2018-02-10

空空如也

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

TA关注的人

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