自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 博客摘录「 MySQL不区分大小写设置」2023年10月31日

编码集比较常用的有utf8和utf8mb4, 校验规则比较常用的是utf8mb4_0900_ai_ci, utf8mb4_0900_as_cs, utf8mb4_bin;utf8mb4_0900_ai_ci: 对大小写不敏感, 以"_ci"结尾的表示对大小写不敏感, 该模式下字符 'a'等于字符'A'utf8mb4_0900_as_cs: 对大小写敏感, 以"_cs"结尾的表示对大小写敏感, 该模式下字符 'a'不等于字符'A'可以用到mysql的函数,同时用程序处理传入的字符。

2023-10-31 10:32:07 182

原创 mybatisplus无主键表insert出现Class must not null报错

项目中用到pgsql+mybatisplusinsert数据报错在调试过程中发现:走到审计代码entityClass为null,entityClass是取自tableInfo的值找到设置tableInfo的clazz字段的地方com.baomidou.mybatisplus.core.toolkit.TableInfoHelper有一个initTableInfo方法 public synchronized static TableInfo initTableIn

2021-04-28 16:58:56 2952

原创 java8 stream并发处理分批操作

import java.util.ArrayList;import java.util.Collection;import java.util.List;import java.util.Objects;import java.util.stream.Collectors;import java.util.stream.Stream;/** * @desc java8 流的方式并发处理分批操作 * @date 2021/1/6 */public class ParallelTest.

2021-01-06 18:33:01 3355 1

原创 dubbo提供者抛出异常的父类,消费者无法获取到实际异常类型的问题,由ExceptionFilter导致

在dubbo使用过程中,遇到一个异常的问题场景:在service(dubbo的提供者)中new MyBussinessException(自定义的业务异常),但是方法上throw的是Exception,controller(消费端)要根据异常的类型进行相应处理,如果是catch的是业务异常直接抛出,其他异常则将异常信息改为“系统异常”。代码如下:/** *假设这是dubbo提供的一个service */@Serviceclass Read implements Hobby{

2020-09-09 16:34:35 560

原创 java后端fastJson返回json的两种处理方法,自定义消息转换器(适用于全局),定义aop拦截(适用于局部)

场景:业务需要返回的json中,为null的字段也要返回,字符串赋值“”,数值赋值0.处理前:{ "createdAt": "2019-03-27 22:01:39", "entId": "1"}处理后:{ "basIsEnabled": "", "createdAt": "2019-03-27 22:01:39", "creatorCode": "",

2020-05-20 16:13:12 983

原创 记录一次java面试题

1、说说对HashMap的理解我:hashMap基于hashing原理,重写equas和hashCode方法,通过hashCode函数计算出一个值然后通过这个值找到对应的哈希桶,再通过equas方法找到要的值。面试官:它的数据结果是怎样的?我:数组加红黑树列表面试官:为什么要用红黑树我:用红黑树可以让整个树趋于一个平衡的状态,避免数据出现一边倒的情况2、说说对gc的理解...

2020-04-23 16:54:15 190

原创 使用Spring Boot自带的Validator对入参dto进行校验

当前端传参到controller时,后台经常要对其传来的参数进行校验,例如校验是否为空,金额的大小校验等。此时你很快就想到了用if eles如下:public Object save(String name){if(name==null){throw new Exception("名称不能为空");}return studentService.save(name);}...

2019-08-05 15:46:57 6650

原创 超级详细的redis命令大全

常用命令启动 redis-server关闭 redis-cli回复命令整数回复 dbsize字符串回复 keys * ,set xx xxredis 配置文件动态设置redis-server --port 1234redis-cli -h -localhost 1234redis-server redis.configCONFIG GET name...

2019-05-25 16:20:35 1717

原创 如何一天学完python(三)之基础篇

爬虫一个最简单的爬虫实现深复制和浅复制浅复制就是对引用的拷贝(只拷贝父对象)深复制就是对对象的资源的拷贝两个标签指向一个空间,改变任何一个标签,另一个都会随之改变如果不想让引用之间相互影响可以使用copy模块浅拷贝浅复制并不能复制子类对象深复制深复制有自己的空间,有自己的数据,和原来的对象没有任何关系...

2018-05-03 19:30:22 787

原创 如何一天学完python(二)之 正则表达式

正则表达式的规则: 通过re模块实现 正则表达式是一门独立的语言,相对小型,功能有限字符匹配:普通字符 1.大多数字母和字符一般都会和自身匹配 2.如正则表达式test回和字符串test完全匹配元字符 ^取反,匹配开头$表示结尾* 将前面的字符匹配0次或多次+表示匹配至少一次?表示匹配前面字符...

2018-05-03 18:09:34 326

原创 如何一天学完python(一)之基础篇

本文章为笔者在大三的时候用一天的时间学python时的笔记整理而成,亲生经历,python就是这么简单。Linux下python环境搭建一般linux自带python编辑环境在终端输入python命令即可进入python编辑环境退出python模式:exit()编写python用vimhello world使用 vim hello.py进入vim插入模式: i代码: print ‘hello wo...

2018-05-03 17:57:00 4298

原创 spring boot获取表单文件踩的坑

一、问题描述在做微信网关项目的上后,客户端上传微信素材到网关,网关再将文件传给微信,结果遇到了一个巨坑的问题。网关后台用的是springboot,客户端上传文件到网关后,网关通过HttpServletRequest获取文件流inputstream,结果将这个流传给微信端就一直传不过去,报read timeout。二、问题解决其实就是下面博客的问题https://www.cnblogs.com/ys

2018-01-18 18:15:33 2055

原创 fasterxml 去除xmlMapper生成xml中的zdef

在生成前加入代码xmlMapper.getFactory().getXMLOutputFactory().setProperty("javax.xml.stream.isRepairingNamespaces", false);或则添加依赖 org.codehaus.woodstox woodstox-core-asl 4.1.4

2017-12-11 10:13:40 1276

原创 spring中的Cglib字节码增强实现AOP

我们在使用jdk提供的动态代理时,目标类要求必须是一个接口,而有些情况下目标类没有任何父类,这时就可以使用cglib字节码增强的方式实现cglib可以在没有接口只有实现类的情况下进行AOP步骤一:导包spring-core-3.2.0.jar包中包含asm.jar和cglib.jar这两个jar包是核心包步骤二:编写目标类package com.wency.service;

2017-06-26 20:21:01 859

原创 Graphite监控scrapy

在写爬虫项目的时候遇到的需求是对爬虫进行监控,分析爬虫的性能,将其可视化。通过查找资料我发现graphite可以实现。graphite是一个性能监控的工具。本文将介绍如何利用graphite监控scrapy。我参考的资料如下:http://www.open-open.com/lib/view/open1419683400953.html http://tripled

2017-06-26 12:02:23 4106 1

原创 动态代理AOP(面向切面编程)

AOP介绍  什么是AOP    在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻

2017-06-23 17:34:56 314

原创 对spring的初步认识

spring是一个分层的javaEE一站轻量级开源框架,spring是处理三层架构中的service层的,那么spring和传统的service层有什么区别呢?我们来看一下在使用spring之前的一段代码。public class UserServiceImpl implement UserService{ UserDao userDao=new UserDaoImpl(

2017-06-21 10:19:56 218

原创 利用Filter实现用户自动登录

本案例实现的功能是:在用户登录时,勾选下次自动登录复选框,下次用户就可以不用登录直接进入index.jsp主界面实现代码如下<%String path = request.getContextPath();String basePath = request.getScheme()+"://" +request.getServerName()+ ":"+request.ge

2017-03-01 17:36:42 614

原创 使用事务实现银行转账操作

建表:CREATE TABLE account(id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(30),money FLOAT);INSERT INTO account(username,money) VALUES('wency',1000),('tom',1000),('mary',1000);

2017-02-22 22:21:58 5485

原创 DBUtils的使用.

使用步骤1.导入jar包   commons-dbutils-xx.jarc3p0-xxx.jarmysql-connector-java-xxxx-bin.jar             2 .创建QueryRunner对象QueryRunner qr=new QueryRunner(C3p0Utils.getDataSource());3 .使用query方法执

2017-02-22 17:45:19 319

原创 数据库连接池的使用

什么是数据库连接池?在进行数据库操作时,使用单个的数据库连接非常的耗费资源和时间,使用数据库连接池可以提高性能。数据库连接池其实就是一个存放了一定数量的Connection对象的链表,当客户端进行数据库连接时,从链表的第一个位置移除一个连接对象,当用户用完的时候将连接对象重新加入链表的末尾。这样连接池中的连接对象就可以重复使用。数据源配置步骤:常用的数据源有两种:

2017-02-22 17:32:15 274

原创 利用cookie实现查看最近浏览

我们在浏览网页的时候经常会在下一次打开浏览器的时候看到网页提供的最近浏览网页,这些都是怎么做的?其实主要用是cookie技术package entity;//书的实体类public class Book { private String id; private String name; private double price ; public

2017-02-19 21:49:36 3183

原创 获取表单数据的四种方法

表单: Insert title here 用户名: 密   码: 男 女 爱好: 篮球 唱歌 画画 所在城市: ===请选择===

2017-02-19 11:56:21 20130

原创 socket编程

socket是网络编程的基础,虽然说现在的开发中很多都是有已经封装好的socket通信框架,但是学习socket还是很有必要的socket客户端public class MinaClient {public static void main(String args[]){ MinaClient minaClient=new MinaClient(); minaClient.

2016-09-17 17:13:37 233

原创 通信协议---XMPP

什么是XMPP?XMPP(Extensible Messaging and Presence Protocol)翻译过来就是可扩展消息和展示协议,它是一种基于XML的开放性的即时通讯协议,具有很好的扩展性和可读性。XMPP在国外的通信软件中基本上是已经通用了,在国内的话由于企鹅的一家独大,它并没有用XMPP协议,这就是你为什么微信用户不能和qq用户通信的原因,使用XMPP可以实现跨平台,使

2016-09-16 21:06:56 395

原创 java通信框架mina的使用

什么事mina?mina是基于nio开发出来的一个无阻塞高性能通信框架,能够处理socket无法解决的高并发问题。mina的下载http://mina.apache.org/.将下载好的压缩包进行解压,将dist文件夹下的mina-core-2.0.14.jar文件和lib文件下slf4j-api-1.7.21.jar文件导入到你的web项目中package com.examp

2016-09-16 20:46:41 7340

原创 goole官方UI设计规范——Material Design

https://developer.android.com/design/index.html颜色颜色在Material Design的灵感来源于大胆的色调与柔和的环境并置,深深的阴影,和明亮的高光。网址https://material.google.com/style/color.html#color-color-palette标准的图标

2016-09-12 17:14:42 9031

原创 Android笔记之pagerAdapter两个子类的区别和选用

viewPager组件的适配器可以使用pagerAdapter,也可以使用pagerAdapter的两个子类分别是FragmentPagerAdapter和FragmentStatePagerAdapter,下面来说说两者区别FragmentPagerAdapter用法:private class HomeAdapter extends FragmentPagerAdapt

2016-09-06 21:54:55 728

原创 安卓笔记之PagerSlidingTabStrip

今天学习了一下开源框架PagerSlidingTabStripgithub网址https://github.com/astuetz/PagerSlidingTabStrip这个框架很实用,用的也很广。就是有点小缺陷,如果你直接用它的jar包的话,他的源码中默认的标签字体和颜色不能够修改,而且还没有提供设置的方法。private int tabTextSize = 12;//默认

2016-09-06 20:32:51 3469

转载 安卓中对图片的操作

转载地址:http://blog.csdn.net/xiaanming/article/details/42833893

2016-08-28 10:02:03 504

原创 linux入门之如何配置crontab帮你办公

如果你想让你的linux在每一天结束后自动帮你提交你的代码到github上,你该怎么做?其实很简单,自己写一个shell脚本,然后配置crotab就行什么是crontab?crontab是linux下保存管理员的系统维护计划的文件crontab配置格式配置文件支持#开始的注释行非注释行包括6~7个字段:minute hour day month weekday [use

2016-08-24 17:06:29 393

原创 linux入门之 输入和输出

Linux给应用程序提供三种I/O通道标准输入(STDIN) – 缺省为键盘标准输出(STDOUT) – 缺省为终端窗口标准错误(STDERR) – 缺省为终端窗口重定向输出到文件什么是重定向输出?比如执行ls命令的时候,系统就在终端输出,如果你不想将输出结果显示在终端而是保存在一个文件中,这就是重定向支持操作包括:> 重定向标准输出到文件2> 重定向错误到文件

2016-08-24 14:05:10 310

原创 linux入门之常用命令

linux的系统和结构kernel:内核,相当于linux的心脏,用来管理程序的运行和一些硬件设备的核心程序.shell:图形化界面library routines:文件系统,文件系统是对文件系统的组织管理方式applications:应用程序linux常用的命令1.切换到root  :  su - root切换到普通用户:su - 用户名2.设置网卡ip地址:

2016-08-24 09:48:35 300

原创 linux更新内核后无法启动的问题

今天打开电脑发现linux无法正常进入,进入的是initramfs,提示什么built-in shell(ash)。。。完全不知所云,百度找了很多的办法比如进入grub menu之后选择第一项然后按e编辑将qiuet splash替换成all_generic_edit然后回车再按b启动linux结果还是不行,最后我在initramfs下敲exit发现它并没有退出,而是提示“the root f

2016-08-02 16:13:00 11526 1

原创 MateriaViewPager--漂亮的开源框架

最近在github上看到一个很火的框架,发现现在很多的app都用了这个框架,于是就用在了正在做的项目中,用完之后感觉app逼格瞬间就提高了。 Materia系列的Viewpager github地址:https://github.com/florent37/MaterialViewPager.git里面有详细的开发文档,还可以将它的example下下来,写的很好,它的example中自带了一

2016-07-28 23:56:09 4097 3

原创 android轮播图的实现

轮播图是通过ViewPager实现,轮播效果在子线程中通过handler机制设置viewPager显示的Itempublic class HomeScrollViewFragment extends Fragment {//这里使用的是ScrollView组件,配合Fragment private ObservableScrollView mScrollView; private V

2016-07-28 21:51:55 707

原创 android笔记之SQLite 数据库操作

数据库的初始化public class BlackListDb extends SQLiteOpenHelper { public BlackListDb(Context context) { super(context,"balcklist.db", null, 1); } @Override public void onCreate(SQ

2016-07-12 11:06:05 315

原创 android笔记之自定义组件

今天学习了一下自定义组件,在android的开发中经常会有一个布局文件多次重复使用的情况,google提供了自定义组件的的功能可以让开发这根据自己的情况自己“DIY”。来是怎样实现的呢?本文基于android studio开发,在eclipse中的自定义组件和android studio中有差异,在这里就不两个都介绍了。定义一个自定义属性xml文件在项目中创建一个attrs.xml

2016-07-11 10:25:10 320

原创 android 笔记之Spinner控件的实现

今天学习百度地图时接触到了一个新的控件Spinner,Spinner和listView有点像,可以通过点击它弹出一个条目框。Spinner的使用首先需要在布局文件定义Spinner控件 <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content"

2016-07-10 12:07:06 346

原创 android笔记之百度地图学习

最近学习了一下百度地图的开发,主要学习了地图和定位两大功能SHA1查看Windows下查看SHA1 cd  C:/users/你的用户名/.android o获取发布版的SHA1keytool -list -v -keystore debug.keystore之后输入密码,默认密码是androidLinux下的SHA1将目录改为:/home/用户名/.and

2016-07-10 11:27:49 249

空空如也

空空如也

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

TA关注的人

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