- 博客(46)
- 资源 (7)
- 收藏
- 关注
原创 spring接口调用接收参数乱码
分三步第一步:设置@RequestMapping输入字符集编码 headers="contenttype=application/json;charset=UTF-8",第二步:设置@RequestMapping输出字符集编码produces="application/json;charset=UTF-8"第三步:设置web.xml过滤器编码规则:<filter> <filter-name>characterEncodingFilter</filter-n
2021-10-28 16:44:39 444
原创 微信jssdk 链接传参list ios签名报错
参考:https://blog.csdn.net/abcde158308/article/details/77963376被IOS的签名深深支配着。。。。获取jssdk的url共用方法 logger.info("【获取微信JSSDK】 读取微信配置!"); String paramStr = request.getQueryString...
2019-10-18 18:22:28 387
原创 H5 JS 获取微信发票抬头,微信极速开发票方式三
粗暴点!这里直接上代码!引入js:<script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js" ></script>function addWxInvoiceBtn(){ console.info("here is addWxInvoiceBtn()!"); ...
2019-10-10 11:43:07 4131 8
原创 微信会员卡展示条形码
记录一下微信会员卡创建过程中碰到的一个小坑!也不算时小坑吧。在创建微信会员卡时,需要在卡片的下方显示条形码(一维码)。下面是微信官方API(wiki)上的记录:在这里,需要设置is_pay_and_qrcode为true即可。但是开发过程中遇到的一个坑是:红框中的属性is_pay_and_qrcode是base_info下的字段(黑框),绿框部分的JSON结果是一...
2019-06-10 20:46:25 1928 2
原创 微信公众号 开发者模式 自动回复功能!
在微信公众号开发者模式下,自动回复功能不能使用。基于此,需开发该功能。我这里使用的是客服功能,并没有选择自动回复的原因是因为需求中有一条消息请求可能匹配多个答案的情况。这里自动回复功能中的 虽然能支持多个图文组装为一条消息,但对其他四种消息类型不支持,所以确定用了客服。-- 准备一.在微信公众平台-开发-基本配置中配置自己服务器资源响应链接 1.需要把ip加入到白名单,...
2018-12-21 19:11:24 5330
原创 ActiveMQ-基础菜鸟篇
ActiveMQ是Apache的一个开源项目,它是一个能力强劲的开源消息总线,也是一个中间件产品。它是JMS的一个实现。在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范。JMS是Java Message Service的简称,用来发送异步消息,在不同系统和不同的模块之间我们可以利用它实现集成。JMS有两个好处,第一个就是让模块之间或者系统之间的耦合度降低,第二个是异步通信。J...
2018-09-18 14:34:32 753
原创 Java 下载Excel打不开是什么鬼
场景:草草写了一个独立的文件服务,可以支持文件的上传和下载操作(常规操作),操作图片的读取mei有问题,但是在下载Excel文件之后,发现提示文件损坏,无法正常打开。排查:直接从文件服务器上将文件拷贝出来,发现文件能正常打开没有问题。分析:下载excel在服务器上后缀名称为.xls;但下载下来为.xlsx观察:文件下载有问题-在代码中没有设置下载文件的contentType和Head。...
2018-07-25 16:19:01 12353 1
原创 Date与String 的相互转换
好久好久没用到这个,竟然有点生疏了,随笔记一下!String转Date:String time = "2018-07-06";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date test = null;try { test = sdf.parse(time);} catch (ParseException e...
2018-07-06 17:11:21 427
原创 com.google.protobuf.Timestamp 与Date的相互转换
参考:https://blog.csdn.net/luck_h/article/details/78021624Timestamp a = Timestamps.fromMillis(new Date().getTime());com.google.protobuf.Timestamp转化为Date:Timestamp timestamp = null;Date date = new Date(...
2018-07-06 16:38:34 13760 2
原创 float和double的区别
1.float f=3.4;是否正确? 答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成float f =3.4F;。单精度浮点数(float)与双精度浮点数(double)的区别如下:(1)在内存中占有的字节数不同单精度浮点数在...
2018-07-03 13:41:34 10733 3
原创 docker 下springboot的多环境配置
springboot支持多个配置文件在不同环境下的切换 如上图: application.properties 是全局默认的配置文件,无论在任何环境下都会被加载; application-dev.properties是开发环境下的配置文件; application-staging.properties是测试环境下的配置文件;这里,我们主要讨论下在开发环境...
2018-06-28 09:51:10 5666
原创 深入理解java虚拟机-内存快照分析
-、情景复现 这里举一个栗子,最简单的 java.lang.OutOfMemoryError: Java heap space错误的分析思路。 简单代码: public static void main(String[] args) { List<String> list = new ArrayList<String>(); while(true){ l...
2018-04-07 14:53:09 5911 2
转载 设计模式-原型模式
1 原型模式概念1.1 介绍 关键字:clone 定义:用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。1.2 使用场景(1)类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗。 (2)通过new产生的一个对象需要非常繁琐的数据准备或者权限,这时可以使用原型模式。 (3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值...
2018-03-28 20:52:46 255
原创 MYSQL-基础操作-跨表更新值
需求:将A表中的某一个字段更新为B表中的一个字段,关联关系为A表中的N列字段值等于B表中的M列字段值。SQL: update a left join b on a.imei = b.sn set a.imei = b.imei 分析: 表情况 select * from a; select * from b; 这里b表中的imei其实存储的是a表中的sn 需要把b表中的...
2018-03-23 14:37:07 435
原创 时间复杂度和空间复杂度
定义在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n))。它表示随问题规模n的增大,算法执行的时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。分析--用常数1取代运行时间中的所有加法常数。--在...
2018-03-13 11:00:29 382
原创 设计模式-命令模式(对象行为型)
一 概念 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 结构图如下: 二 原理 请求的发起者不直接与请求的执行者进行交互;而是由请求的传达者中转命令。 如结构图所示, Client作为请求的提出者,Invoker作为请求的传达者,Receiver作为请求的执行者。其中Comma
2018-03-06 20:40:36 302
原创 ubentu 配置java环境
1 .下载jdk包: wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz?AuthParam=1516693478_8002555a88541194edd41c51f0d61fbe2.解压安装包
2018-01-23 15:53:04 523
原创 ubentu 安装nginx
参考博客地址:https://www.cnblogs.com/piscesLoveCc/p/5794926.html ---安装安装gcc g++的依赖库ubuntu平台可以使用如下命令。12apt-get install build-essentialapt-get install lib
2018-01-22 14:47:55 812
转载 MYSQL-基础操作-binlog日志与数据恢复
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Repli
2018-01-05 11:07:50 401
原创 MYSQL-基础操作-存储过程及触发器
存储过程-- 删除存储过程drop PROCEDURE if exists insert_a4;--创建存储过程create PROCEDURE insert_a4()begin set @i=0;while @iDOinsert into a4(username) values(CONCAT("user",@i));set @i=@i+1;end whil
2018-01-04 14:56:12 305
原创 MYSQL-基础操作-视图
创建视图:create view v_a3 as select * from a3;删除视图:DROP view v_a3;查看视图:desc v_a3;视图作用:1.视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);2.关键信息来源
2018-01-04 10:57:48 253
原创 MYSQL-基础操作-索引与查询执行计划
一 基础操作 -- 准备工作-- 创建一个测试表create table tb2(id int UNSIGNED not null PRIMARY key auto_increment, name VARCHAR(30));desc tb2; -- 查看表结构 -- 索引基本操作create index in_name on tb2(name
2017-12-29 11:49:43 313
原创 MYSQL-基础操作-表复制
简单的表复制操作-- 复制表及数据show tables; -- 查看所有表drop table if exists tb1;create table tb1(id int UNSIGNED auto_increment not null PRIMARY key, name VARCHAR(30));desc tb1; -- 查询表字段详情show
2017-12-29 10:43:04 295
转载 cookie 和session 的区别详解
cookie 和session 的区别详解参考:这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cook
2017-12-20 15:00:39 207
原创 一分钟 SSM框架集成 swagger
swagger:超好用的接口API工具,对于后台来说不需要专门写测试页面就可以对接口进行调试。接下来,给我一分钟!来完成spring+springmvc+mybaties框架上集成swagger。第一步:maven引入所需jar包 com.mangofactory swagger-springmvc
2017-12-19 18:08:59 9894 10
原创 设计模式-单例模式(创建型模式)
1.概念保证一个类只有一个实例,并提供一个访问它的全局变量点。2.结构图3.优缺点主要优点:1、提供了对唯一实例的受控访问。2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。3、允许可变数目的实例。 主要缺点:1、由于单利模式中没有抽象层,因此单例
2017-12-05 10:41:04 267
转载 windows向linux复制文件
在工作中,每次部署应用时都需要从本机Windows服务器拷贝文件到Linux上,有时还将Linux 上的文件拷到本机,这些操作以前都是使用Ftp 工具FlashFxp 来操作的,最近就想有什么更快捷的方法没,比如直接命令操作。结合网上查询的资料,发现 pscp 能够实现Windows 和Linux 间相互传输文件。下文将详细描述如何使用:一、pscp 简要描述:PSCP (PuTT
2017-11-28 13:56:39 1070
原创 ubentu下设置默认root密码
1.使用新建用户登录系统;2.执行命令: sudo passwd root;3.填写两次密码即可。4.su root。即可切换root身份
2017-11-28 13:29:44 543
原创 设计模式-抽象工厂模式(创建型模式)
抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类。结构图 优缺点 优点: a.易于交换产品系列;在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。 b.具体的创建实例过程与客户端分离,客户端通过他们的抽象接口操纵实例,产品的具体类名也被具体工厂的
2017-11-25 18:12:47 293
原创 设计模式-工厂方法模式(创建型模式)
工厂方法模式定义一个用于创建对象的接口,由子类决定将哪一类实例化。Facory method使得一个类的实例化延迟到其子类。结构图优缺点 优点: a.克服了简单工厂模式违背开放-封闭原则的缺点,又保持了封装对象创建过程中的优点。 b.集中封装了对象的创建,使得要更换对象时,不需要做大的改动就可以实现。 c.降低了客户程序和产品对象的耦
2017-11-25 16:49:41 305
原创 springMVC 谨慎使用成员变量
1.springMVC默认是单例的对于同一个Controller,只会生成一个实例来处理所有的请求,因此bean实例只会实例化一次,并被存放在工厂中,以供其他请求使用。在不定义成员变量的情况下是线程安全的。单例的优点: 1)每次请求不需要重新new一个对象。 2)垃圾收集和回收时更有效率。Struts2是类级别的,需要原型实现;SpringMVC是方法级的,
2017-11-14 13:03:17 6195 3
原创 设计模式-策略模式(对象行为型)
问题:如何让算法和对象分开来,使得算法可以独立于使用它的客户而变化?1.结构 策略模式:是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少各种算法类与使用算法类之间的耦合。 策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共
2017-11-11 18:54:47 406
原创 深入理解java虚拟机-第四章:虚拟机类加载机制
一、类的生命周期 a) 生命周期:类从被加载到虚拟机中开始,到卸载出虚拟机为止。 b) 各个阶段 注:上图是类加载的各个阶段,绿框这5个阶段顺序是确定的,类加载的过程必须按照这个阶段开始(注意是开始,不是进行,各个阶段在进行时存在相互交叉混合的情况) 1)加载 : 虚拟机没有强制约束何时开始。 在
2017-10-21 19:59:40 356
原创 深入理解java虚拟机-第三章:JDK可视化工具
一、JConsole:Java监视与管理控制台1.启动 在jdk所在目录bin目录下,双击“jconsole”,即可打开。 启动jconsole之后,将自动搜索出本机所有虚拟机进程;双击其中一个即可监控。选择一条,进入 2.内存监控 用于监视收集器管理的虚拟机内存(Java堆和永久代)的变化
2017-10-18 20:07:20 295
原创 深入理解java虚拟机-第二章:垃圾收集算法
一、垃圾收集区域a)重点区域:Java堆和方法区 一个接口中多个实现类需要的内存可能不一样,一个方法中多个分支需要的内存也不一样。 永久代的垃圾回收主要收集两部分: ++废弃常量:没有任何地方引用。 ++无用的类:1.该类所有的实例都已被回收,在java堆中不存在该类的任何实例;2.classloader被回收;3.该类对应的java.l...
2017-10-16 14:50:40 391
原创 深入理解java虚拟机-第一章:java虚拟机内存结构
1.结构分布2.每个区域解析 模块名称 线程 作用存储对象 备注 对象计数器私有当前线程所执行字节码的行号指示器,通过改变这个计数器的值来选取下一条将要执行的字节码指令。数字每
2017-10-11 16:15:49 351
原创 只在IE浏览器上出现中文乱码的解决方法
前台:var str = '中文';str = encodeURI(encodeURI(str));然后将参数传到后台,在后台的处理:String str = request.getParameter("str");str = java.net.URLDecoder.decode(str,"utf8");这样,中文的参数传到后台的时候就可以处理,
2017-09-28 13:52:59 6255
spring 的aop所需的全部jar包
2018-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人