自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jamesluozhiwei的博客

个人博客地址:https://ccccyc.cn

  • 博客(48)
  • 资源 (10)
  • 收藏
  • 关注

原创 mysql中英文拼音首字母获取及排序

需求在数据库中需要根据用户名按a-z排序;方式一因为我们通常使用的编码都是utf-8;所以直接排序并不是按照我们所期待的拼音从a-z排序;我们需要将字符转换成gbk即可;select * from tb_user order by convert(tb_user.`name` using gbk);缺点这种方式可以简单粗暴的完成我们的需求,但是有一个缺陷就是英文会排在所有中文前面;...

2020-04-07 20:10:01 1243

原创 基于face_recognition+tensorflow的实现的人脸一对多搜索

文章目录face-search项目介绍环境需求初始化数据库部署Python人脸服务安装python依赖运行脚本使用Docker运行(推荐)部署Java API服务使用手册注册用户获取OpenKey人脸注册人脸搜索face-search项目介绍基于face_recognition+tensorflow的实现的人脸一对多搜索、提供web接口。python完成具体的人脸对比搜索服务Java...

2020-01-16 10:32:09 1438 3

原创 ubuntu中安装Docker

在ubuntu中安装Docker修改 apt 为国内源如果是云服务器的话貌似默认就是国内的源(aliyun的就是自己的源,所以不用再修改)# 切换为root管理员sudo -s # 备份源文件cp /etc/apt/sources.list /etc/apt/sources.list.bak# 编辑文件vim /etc/apt/sources.list# 使用命令 %d 清空所有...

2020-01-09 17:15:47 281

原创 springboot 配置LocalDateTime JSON返回时间戳

方案一创建配置类注意:使用这种方式,所有Controller的JSON数据返回,只要是LocalDateTime类型都会被转成时间戳import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databin...

2019-12-18 17:36:33 6315 3

原创 mybaits-plus+druid 使用 LocalDateTime 出现nested exception is java.sql.SQLFeatureNotSupportedException

mybaits-plus+druid 使用 LocalDateTime 出现nested exception is java.sql.SQLFeatureNotSupportedException解决方案一(推荐)目前druid已经修复了这个问题并提交了新版本,最优直接选择升级druid 至 1.1.21 或以上releases 版本地址 https://github.com/alibab...

2019-12-18 16:43:20 1090

原创 redis key \xac\xed\x00\x05t\x004 乱码

解决使用RedisTemplate时 key出现乱码问题问题:127.0.0.1:6379> keys *1) "\xac\xed\x00\x05t\x00\x04user:xxxx"2) "\xac\xed\x00\x05t\x00\x04user:list:xxxx"所有的key前面都出现了乱码问题解决方案使用StringRedisTemplate直接使用StringR...

2019-12-02 19:14:27 789

原创 seata 指定公网ip出现 java.net.BindException: Cannot assign requested address

指定公网ipseata默认使用的内网ip注册到注册中心,如果需要使用公网 添加启动参数 -h 公网ip ,记得开启公网端口的安全组策略。启动出错 Cannot assign requested address使用seata-0.8.0的版本出现的这个问题,换成0.9.0之后解决,最新版本请访问官方社区或github查看报错如下Exception in thread "main" java...

2019-11-19 09:34:52 2041 1

原创 EasyPoi 使用html模板导出Excel

文章目录EasyPoi 使用html模板导出Excel依赖编写freemarker(.ftl)页面模版将数据渲染到模板中生成html并转换成ExcelEasyPoi 使用html模板导出Excel总体思路如下1、编写freemarker(.ftl)页面模版2、将数据渲染到模板中生成html3、将html转换成Excel表格依赖使用springboot集成的包 <!--eas...

2019-11-16 14:48:17 2098 3

转载 docker容器访问宿主机服务

在使用Docker部署应用时,Docker推荐的方式是将应用及其所依赖的服务(MySQL,Redis等)均使用Docker部署,并通过link或自定义网络相连接。但是,当应用所依赖的服务被安装在宿主机上时,我们需要让容器中的应用能够访问到部署在宿主机上的服务。本文将介绍实现这一目的的几种方案,并分析其优缺点。首先我们需要了解一些关于Docker网络的基础知识。Docker网络Docker提供...

2019-10-14 20:26:58 11466 1

原创 springcloud+seata+mybatis出现org.apache.ibatis.binding.BindingException: Invalid bound statement not

文章目录问题连接池配置程序入口配置完整配置问题org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): XXX.XXX.XXX.XXXXXXXXXXXXX在使用springcloud+seata+mybatis集成的时候出现了BindingException,起初以为是因为maven多模块...

2019-09-15 18:02:28 856

原创 lambda表达式分组,过滤,求和,最值,排序,去重

文章目录简介实例先准备个实体类分组过滤求和最值List转Map排序去重获取list对象某个字段组装新的list批量设置list列表字段为同一个值简介Java 8 新特性java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少写不少代码。实例先准备个实体类import java.math.BigDecima...

2019-08-07 19:59:01 4629 1

原创 基于seetaface2实现Java人脸对比、人脸搜索

文章目录seetafaceJNI项目介绍环境配置使用方法项目地址seetafaceJNI项目介绍基于中科院seetaface2进行封装的JAVA人脸识别算法库,支持人脸识别、1:1比对、1:N比对。seetaface2:https://github.com/seetaface/SeetaFaceEngine2环境配置1、下载model( https://pan.baidu.com/s...

2019-07-22 12:28:25 10672 29

原创 Tesseract OCR+Tess4j实现图片中英文识别

文章目录Tesseract简介环境搭建下载语言库tess4j依赖demoTesseract简介Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生。在2005年,...

2019-07-22 10:11:12 6412

原创 XStream实现XML与Java对象互转

文章目录概要XStream简介示例概要XStream简介示例概要XStream简介XStream是个很强大的工具,能将java对象和xml之间相互转化。xstream不在意java类中成员变量是私有还是公有,也不在乎是否有默认构造函数。它调用方式也非常简单:从xml对象转化为java对象,使用fromXML()方法;从java对象序列化为xml,toXML()即可,很方...

2019-07-18 17:22:49 520

转载 Tomcat启用Gzip压缩,提升web性能

文章目录前言Gzip压缩简介tomcat中的配置方法检查配置是否成功常见错误(配置后没有效果)优化结果前言最近做了个项目,遇到这么一个问题:服务器返回给客户端的json数据量太大(大概65M),在客户端加载了1分多钟才渲染完毕(当然这加载时间也和本地的下行带宽有关),费时耗流量,用户体验极其不好。后来网上搜优化的方法,就是Http压缩。HTTP压缩可以大大提高浏览网站的速度,它的原理是,在客...

2019-07-16 17:17:11 275

转载 99%的人都理解错了HTTP中GET与POST的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案...

2019-07-15 13:21:51 117

原创 mysql update join的使用

mysql在update中使用JOINUPDATE T1, T2,[INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1SET T1.C2 = T2.C2, T2.C3 = exprWHERE condition

2019-07-12 18:35:00 533

原创 mysql中insert into select from 的使用

文章目录问题sql问题如何在mysql中从多个表组合字段然后插入到一个新表中,通过一条sql语句实现。eg:有3张表:a、b、c,现在需要从b表中查询出 f1 字段,c表中查出 f2 字段,再加上 固定值(已知值) 1 插入 a表,包含的 a1,a2,a3 字段。sqlINSERT INTO a ( a1, a2, a3 ) SELECT * FROM( SELECT b.f1...

2019-07-12 17:38:48 1402

原创 mysql 查询结果增加一个字段,固定值

select tb_a.filed1, 'haha' as column1 from tb_a使用 [值 as 字段名] 即可

2019-07-12 17:37:45 6990 3

原创 springSecurity基于表达式鉴权

文章目录前言常见的表达式URL安全表达式在Web 安全表达式中引用Bean自定义鉴权Method安全表达式使用method注解开启方法级别的注解配置在方法上使用注解PreAuthorizePostAuthorizePreAuthorize针对参数进行过滤源码前言在上一篇文章已经介绍了springSecurity的使用了,本篇文章主要介绍一下使用spring EL表达式来控制授权,允许在表达式中...

2019-07-11 19:59:31 1618 13

原创 springboot+security+jwt+redis 实现微信小程序登录及token权限鉴定

tips:这是实战篇,默认各位看官具备相应的基础(文中使用了Lombok插件,如果使用源码请先安装插件)文章目录项目配置依赖application.yml程序代码security相关security核心配置类鉴权各种情况处理类无权访问用户未登录时返回给前端的数据用户登录失败时返回给前端的数据(本程序未使用)用户登录成功时返回给前端的数据登出成功JWT自定义过滤器SelfUserDetailsSe...

2019-07-11 16:36:36 15161 2

原创 Druid三种配置方式(ssm,springboot,纯yml)

文章目录Druid的简介Druid的功能Druid实践添加依赖SSM整合Druidapplication-mybatis.xml中druid的配置web.xml配置springboot 整合Druid添加config类配置application.yml配置存yml方式配置地址:localhost:端口号/项目名/druid/Druid的简介Druid是阿里巴巴开源平台上一个数据库连接池实现(网...

2019-07-10 17:48:30 6554 1

原创 七大排序之:直接选择排序和堆排序

上一篇总结了交换排序的冒泡排序和快速排序。这一篇要总结的是选择排序,选择排序分为直接选择排序和堆排序,主要从以下几点进行总结。1、直接选择排序及算法实现2、堆排序及算法实现1、直接选择排序及算法实现直接选择排序(Straight Select Sort) 是一种简单的排序方法,它的基本思想是:通过length-1 趟元素之间的比较,从length-i+1个元素中选出最小的元素,并和第i个元...

2019-07-09 19:30:42 106

原创 七大排序之:冒泡排序和快速排序

排序是我们生活中经常会面对的问题。同学们做操时会按照从矮到高排列;老师查看上课出勤情况时,会按学生学号顺序点名;高考录取时,会按成绩总分降序依次录取等。排序是数据处理中经常使用的一种重要的运算,它在我们的程序开发中承担着非常重要的角色。排序分为以下四类共七种排序方法:交换排序:① 冒泡排序② 快速排序选择排序:③ 直接选择排序④ 堆排序插入排序:⑤ 直接插入排序⑥ 希尔排序合...

2019-07-05 19:42:53 230

原创 BIO、NIO、AIO的区别

BIO、NIO、AIO的区别IO通常分为几种,BIO(阻塞 Blocking IO)、NIO(非阻塞 Non-Blocking IO)、AIO(异步非阻塞)。BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要建立一堆线程等待请求,而客户端发送请求后,先询问服务...

2019-07-04 18:36:10 153

原创 java中堆和栈的区别

java中堆和栈的区别堆和栈都是Java用来在RAM中存放数据的地方。堆(1)Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。(2)堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运行时动态分配的。但缺点是,由于需要在运行时动态分配内存,所以存取速度较慢。栈(1)栈中主要存放一些基本数据类型的变...

2019-07-03 20:56:33 131

原创 Java的参数传递是按值传递还是按引用传递

Java的参数传递是按值传递还是按引用传递当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是按值传递还是按引用传递?答:是按值传递。 Java 语言的参数传递只有按值传递。 当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。J...

2019-07-01 17:30:54 187

原创 Java中ArrayList与LinkedList的区别

一般大家都知道ArrayList和LinkedList的区别: 1、ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。 2、对于随机访问,ArrayList优于LinkedList 3、对于插入和删除操作,LinkedList优于ArrayList 4、LinkedList比ArrayList更占内存,因为LinkedList的节点除了存储数据...

2019-06-28 17:27:37 198

原创 Java中String、StringBuffer、StringBuilder的区别

1.从是否可变的角度String类中使用字符数组保存字符串,因为有“final”修饰符,所以String对象是不可变的。/** The value is used for character storage. */ private final char value[];StringBuffer和StringBuilder都继承自AbstractStringBuilder类,在Abs...

2019-06-28 17:26:57 81

原创 Semaphore的工作原理及实例

       Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。1、工作原理    &nbsp...

2019-06-26 15:25:48 182

原创 JAVA有哪些数据类型?基本数据类型各占多少个字节

JAVA有哪些数据类型?基本数据类型各占多少个字节个人博客:https://www.cqwxhn.xinjava的数据类型分为:基本数据类型和引用数据类型。基本数据类型各占多少个字节:关于boolean占几个字节,众说纷纭,虽然boolean表现出非0即1的“位”特性,但是存储空间的基本计量单位是字节,不是位。所以boolean至少占1个字节。 JVM规范中,boolea...

2019-06-25 18:21:08 452

原创 JVM的垃圾回收机制

1、前言理解JVM的垃圾回收机制(简称GC)有什么好处呢?作为一名软件开发者,满足自己的好奇心将是一个很好的理由,不过更重要的是,理解GC工作机制可以帮助你写出更好的Java程序。在学习GC前,你应该知道一个技术名词:“stop-the-world” ,无论你选择哪种GC算法,“stop-the-world”都会发生。“stop-the-world”意味着JVM停止应用程序,而去进行垃圾回收。...

2019-06-24 19:20:34 143

原创 Java类的加载机制

1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并向程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使用”时再加载它,J...

2019-06-22 13:43:31 94

原创 了解JVM的内存区域

了解JVM的内存区域先来看看JVM运行时候的内存区域,如下图:大多数 JVM 将内存区域划分为 Heap(堆)、方法区、Stack(栈)、本地方法栈、程序计数器。其中 Heap 和 方法区 是线程共享的,Stack、本地方法栈 和 程序计数器 是非线程共享的。为什么分为线程共享和非线程共享的呢?请继续往下看。首先我们熟悉一下一个 Java 程序的工作过程。一个 Java 源程序文件,会被编...

2019-06-21 13:42:50 147

原创 Java基础面试题系列

本文收集了一些经典的Java面试题1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中...

2019-06-20 18:33:10 8974

原创 Java Thread多线程volatile问题

问题当多个线程并发同时进行set、get时,其它线程能否感知到flag的变化public class ThreadSafeCache { boolean flag = true;//默认设置true public boolean isFlag() { return flag; } public synchronized ThreadSafe...

2019-06-18 20:11:39 272

原创 springMVC 统一异常处理 返回JSON数据

需求在后台开发中,难免会存在一些异常,如果我们在controller中一个一个的去try catch处理,会很繁琐,并且不好维护;如果在web.xml配置错误页面,会导致返回一个试图给前台,对于前后端分离的不太友好,前台无法解析,这明显不是我们想要的,我们需要的是返回串JSON的错误码给前台;@ControllerAdvice从spring3.2开始,增加了新注解@ControllerAdv...

2019-06-11 12:00:20 1608

原创 restful API文档生成工具swagger2的使用

Swagger介绍  swagger是一个规范和完整的框架,用于生成、描述、调用的RESTful风格API文档。总体来说,是让前后端的API文档始终保存同步。  我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开发或是Web开发等。为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份RESTful API文档来记录所有接口细节,然...

2019-04-03 12:55:59 1054 1

原创 java.lang.IllegalArgumentException: Result Maps collection already contains value for XXXX.ResultMap

Mybatis配置出错 Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.XXX.BaseResultMap在启动项目时提示已存在结果集异常该错误是因为一个xml文件命名空间下中同时存在两个一样名称的结果集修改方法打开xml文件修改结果集名称主要...

2019-03-02 17:36:31 1024

原创 使用dataTable实现服务端分页

实现dataTable服务端分页在上一篇文章中介绍了客户端分页的使用(https://blog.csdn.net/qq_38403662/article/details/85066142),这里介绍一下服务端分页的使用。省略插件导入代码~首先页面 &amp;lt;!-- 搜索条件 可省略~~~2333主要是JS代码 --&amp;gt; &amp;lt;div class=&quot;content&quot;&amp;gt; ...

2019-01-07 10:21:09 3197 1

IE9-Windows7-x64-chs.zip

windows ie9浏览器,可用于测试系统web应用兼容性。Internet Explorer(简称:IE)是微软公司推出的一款网页浏览器。原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7、8、9、10、11版本),简称IE。在IE7以前,中文直译为“网络探路者”,但在IE7以后官方便直接俗称"IE浏览器"。

2020-06-05

db_springboot_wechat_security.sql

这是一个基于mysql的数据库设计,包含用户、角色、权限、用户组及其关系的数据库设计,适用于比较常见的就是基于角色的访问控制,用户通过角色与权限进行关联。简单地说,一个用户拥有多个角色,一个角色拥有多个权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间、角色与权限之间,通常都是多对多的关系。

2019-08-22

Snipaste贴图软件

你不会还在用微信截图或者QQ截图吧?如果是,那就太out了。这款Snipaste截图软件拥有微信、QQ截图的功能,但它最重要的有一个我特别喜欢的功能:就是贴图功能。截了图之后可以把这个图当作贴图使用,可以随便拉来拉去,随便放在任何的界面。

2019-04-03

Java_QQ源码

使用Java实现一个桌面看聊天程序,开发工具使用NetBeans,数据库使用SQL Server2014,在db.properties中配置好数据库信息,在ChatConnectionCode类中指定Server的地址和端口,运行client需先运行Server

2018-12-21

Gson所需jar包

在Java中使用Gson所需jar包,只需要带入一个即可,用法:Gson gson = new Gson();String jsonString = gson.toJson(object);即可将object对象转换成JSON字符串

2018-12-21

JSON 所需jar包

在Java中使用JSON.fromOject(Object o);或则JSONObject.fromArray(List list);所需jar包,可以将字符串转JSON对象也可以将Java对象转JSON字符串;

2018-12-19

bootstrap+datatable插件

这是一个datatable插件,并结合了bootstrap的样式和jQuery插件等等,要使用datatale,需要先导入jQuery,如果要使用bootstrap的表格样式,需导入bootstrap的原样式和资源中的bootstrap-3.3.7-dist\datatables_plugins\integration\bootstrap\文件下面的bootstrap样式

2018-12-19

mybatis逆向工程源码

mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、pojo等) 有了sql表的结构后, 我们就可以利用逆向工程直接生成相应的Dao和JavaBean代码, 这样能够大大减少我们平时开发的工作量.

2018-12-15

web前端live2dw小人物

一个web前端的小人展示资源、包含小人物的基本图片,js文件和配置信息等等,具体使用教程可以查看个人博客内容

2018-12-14

fscapture_破解版

FSCapture破解版本质上是一款图像软件,具有很棒的图像浏览、编辑和抓屏工具,支持包括BMP、JPEG、JPEG 2000、GIF、PNG、PCX、TIFF、WMF、ICO 和TGA在内的所有主流图片格式。

2018-09-27

空空如也

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

TA关注的人

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