自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty实现WebSocket聊天室Demo【一对一聊天,群聊,emoji表情,文件上传】

Git源码:学不会算我输,私信骂我。源码地址:https://gitee.com/ytrlmy/netty-chat/tree/master/src/main微信交流:413007703,这段时间我会把代码解读分析等一些坑贴出来跟大家一起学习。需要注意的是:有同学在启动时候控制台没有输出日志信息,这个主要原因是日志级别和环境(prod,test, local)三个环境限制了日志的输出,需要...

2019-07-16 20:44:16 4805 8

原创 Springboot图片上传到服务器并压缩【开箱即用】

需求背景说明 最近后端管理项目中需要用到用户一些证件图片进行表单文件的上传 如果每个人的证件照片都非常大,对服务器资源将是一种浪费, 因为用户量也不是很大,所以也没对接第三方的OSS或者七牛云存储对象,就写个简单的图像压缩吧,我主要是提供了两种方式进行图片压缩,第一种是使用Java自带的Image绘制图像,输入指定的宽高尺寸,最后在重新绘制新的图片,核心代码也就三四行左右,压缩绘制算法都是JDK底...

2019-07-16 20:32:17 5811 1

原创 一看就会的Orika实体映射工具

看一眼就会的Orika映射工具。 我感觉真不用再写什么Orika的详细介绍了。想必你要是写过Convert类的话应该会明白这个工具大概是能做什么了,如果真要写我可能也只会是跟别人有所雷同,我之所以想起这个工具是因为在DO(实体对象-持久化)和数据传输对象(DTO)之间的映射时候,要写get 和set方法,超级麻烦,我就开始琢磨能不能使用一种工具如果DO对象和DTO对象之间保持字段...

2019-06-30 17:09:58 9540 2

原创 git 入门与实战

master: 默认开发分支origin: 默认远程版本库Index / Stage:暂存区Workspace:工作区Repository:仓库区(或本地仓库)Remote:远程仓库一. 新建代码 1. # 在当前目录新建一个Git代码仓库 $ git init2. 新建一个目录 并初始化为Git代码仓库 $ git init [project-nam...

2018-08-23 13:26:23 514

原创 Websocket--微信小程序聊天交友【附前后端实现过程及源码】

最近在琢磨一个小程序的里面婚恋的聊天交友软件,所需要实现的功能我在此处可做简单的介绍,用户登录注册,绑定微信,其中还要搜索附近的人,然后聊天匹配交友,搜索附近的人只能异性搜索,在做的过程中遇到过很多问题,踩了很多坑,第一点小程序的部署只能使用https域名,所以需要自己配置NGINX做转发,后续我会把NGINX配置文件都贴出来,还有聊天中即时通信采用了websocket的长连接。先上效果图:最...

2018-08-15 22:37:58 13048 9

原创 如何用好Google?

如何提高自己的搜索技术? 【男性凯格尔运动】掌握搜索逻辑和搜索思路。愿意为优质的付费是高效的解决问题思路。。。尽量少使用搜索引擎 针对不同的问题使用不同的数据库。搜索心法: 找什么 哪里找 怎么找。。。。。??搜索技巧:遇到问题 第一件事就是搜索 搜索。搜索也是可以转变思维方式: 书友沙龙 可直接看转化为 樊登读书会 举办的读书沙龙 看人家如何做。垂直门户...

2018-04-24 16:51:32 1032

原创 Java中高级面试总结-更新中

java中高级面试:算法的时间复杂度是指执行一个算法所需要耗费的所有时间,用T(n)表示。一个算法中的所有消耗的时间是算法中所有的语句执行之间之和。算法必须具备:有穷性,确定性,可行性三个特性。List和Set的区别:源码快捷方式 查看该类的所有方法【Alt + 7】List继承自Collection,是有序的,其实现类ArrayList,是一个动态数组,擅长随机访问,使用数组存储,查询效率会高一...

2018-03-15 14:01:11 6597 4

原创 Swagger-Condegen自动生成客户端服务端接口代码。

swagger2     swagger是一个统一前后端的好工具,可以用来规划客户端API的访问控制,可用来规划服务端的接口开发。通常情况下我们很羡慕那些基于WS/SOAP协议服务的人,他们可以很轻松的基于WSDL接口规范生成一个客户端的API,这样大大的简化了服务的调用。     如何使用swagger-codegen-cli来生成对应的客户端和服务端代码呢?接下来就是见证奇迹的时刻.1. 首先...

2018-03-09 13:24:55 13136 2

原创 jwt实战

jwt的作用:【也就是Json web token】eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJvcmciOiLku4rml6XlpLTmnaEiLCJuYW1lIjoiRnJlZeeggeWGnCIsImV4cCI6MTUxNDM1NjEwMywiaWF0IjoxNTE0MzU2MDQzLCJhZ2UiOiIyOCJ9.49UF72vSkj-sA4aHHiYN...

2018-02-26 16:35:25 1374

原创 【Springboot+mybatis】 解析Excel并批量导入到数据库

      更新时间2018-12-27 最近看了一个大神写的通过注解的形式来实现excel中表头名称 选项的设置,觉得很受启发,所以决定更新一版我的小文章。当然不会让大家失望的。这次更改我使用了注解工具类来侵入性更小的实现简单的excel导入导出。demo源码地址:https://gitee.com/ytrlmy/importexcel/tree/importexcel      再次更...

2018-01-16 20:05:52 35748 32

原创 java自定义注解annotation

@Target :修饰了该注解的使用范围  包括packager types(类,接口,枚举, Annotation类型)类型成员(方法,构造方法,成员变量,枚举值)           具体的值有:                CONSTRUCTOR: 用在描述构造器。                FIELD:  用于描述域字段                LOCAL_VA

2018-01-13 20:14:29 430

原创 Linux-Iptables常用配置

Linux iptables的认识:  一、它是一个配置Linux的防火墙命令工具,是netfilter项目的一部分,iptables用于配置IPv4,ip6tables用于配置IPv6。防火墙的最大作用就是它能帮助我们限制某些服务的存取来源,可以管制来源和目标IP。  二、iptables可以检测,转发,重定向,修改和过滤ipv4的数据包,并且按照不同的目的被组织成的表。“表”由一组预先

2018-01-06 17:20:18 485

原创 POI处理Excel表格导出

@Servicepublic class OrgnizationExportService{ @Autowired private ObjectMapper mapper; // 活动报名列表 【表头的定义】 private static final String [] TITLE_ACTIVITY_SIGNE = {"","","","",""

2017-12-27 22:12:41 303

原创 Java8使List转为Map

import com.yang.test.User;import javax.jws.soap.SOAPBinding;import java.util.*;import java.util.function.Function;import java.util.stream.Collectors;public class Main { public static void

2017-12-17 16:54:38 20531

转载 阿里-应届生面试求职基础题

基础能力什么是值传递和引用传递线程状态有哪些,它们之间是如何转换的线程与进程的区别,各有什么优缺点索引的作用及代价?如何建好索引?索引的原理Hash算法算法:二分查找算法,冒泡排序、选择排序算法、插入排序、归并、希尔、快排算法锁:乐观锁和悲观锁什么情况下会产生死锁?如何避免死锁?JVM GC:介绍垃圾回收机制,垃圾回收算法。JAVA的反射机制Java集合类有哪些,分别在哪些场景使用Li

2017-08-30 09:42:58 1345

原创 电商商城服务端开发--用户登录退出与注册

接下的文章是用户的登录,退出,注册以及查看用户信息功能,因为需要涉及的代码有好多个部分包括controller层,Service层,Dao层,sql语句的编写,service接口的声明和实现,为了让文章看起来尽量的浓缩,篇幅不宜过长,大家就跟着我的思路从controller层开始-调用-》ServiceImpl层-调用-》Dao层-mappper.xml完成SQL的编写-》这样一个简单的逻辑来完成。

2017-07-27 17:01:25 2677

原创 电商商城服务端开发--高复用的服务端响应代码设计

我们开发会从第一个模块用户登录模块开始,在开发之前我会把各个模块对象与服务器端的响应逻辑封装成一个简单的对象(ServerResponse),方便我们随时使用,例如:public class ServerResponse<T> implements Serializable利用泛型的设计思想来提高响应的各种需求,并且实现序列化,同时,在响应的逻辑中会用到枚举类,比如说一些响应的状态(成...

2017-07-22 08:16:38 1531 4

原创 电商商城服务端开发-环境配置

首先在开发之前我会先跟大家讲一下我的一些配置文件,包括applicationContext.xml,logback.xml datasource.xml 还有属性文件xxxx.properties,具体的注释我会写在里面,搭建可以跟着我的步骤一起来完成SSM商城的开发,如有需要资料或者配置文件可以随时联系我,我会抽时间帮你解决,我保证你能跟我一起完成这个项目,加油。具体

2017-07-21 19:51:22 1058

转载 Java线程面试真题 Top 50

Java线程面试题 Top 50   原文链接:http://www.importnew.com/12773.html   本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。   不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业

2015-11-13 10:47:49 371

原创 POI 读取excel图片并定位图片需要提前注意的事项

因为一直在使用阿里的EasyExcel也挺方便的,但是有些场景还是不支持,比如说读取excel中的指定行指定列的图片信息。毕竟Apache的POI还是比较强大,对于yi

2021-05-29 16:10:21 3831 4

原创 Java如何绘制一张漂亮的海报(附源码)

Java如何绘制一张漂亮的海报需求说明最近呢看着前端的同学使用canvas绘制漂亮的海报,刚好这次又碰到产品说又有了大展身手的机会了,果断报名,后端来完成试试。因为是B端需求,对性能也没过多的要求, 果断报名了。效果图如下这张图主要是用于投放或者老师给同学们的商品外链图,用于传播和分享。上图中除了背景图之外,其他的像顶部的企业log和企业名称,当然也可以理解为头像和昵称都可以的。还有中间商品的链接图,商品描述文字,二维码的生成,都是后期绘制上去的。也就是接下来所要说的重点。核心技术点Ja

2021-05-28 20:48:22 1712 2

转载 MAC升级到最新Catalina系统后无法创建目录 全网最简单解决方案

问题复现我在升级 macOS Catalina 系统后,桌面创建了一个迁移的项目文件夹,当时比较好奇,进入查看发现里面是我之前创建的一些,这些文件我都存放在 /data 目录下,于是我在 iTerm2 中 想进入这个文件夹,发现文件夹已经被删除了,而且所有的文件都在桌面文件夹中保存的,所有我想再次移动进去,但是提示Read-Only filesystem。于是查阅了资料(https://support.apple.com/en-us/HT210650)发现官方说是升级到catalina后,整个硬盘会分

2020-07-24 14:31:20 1269 1

转载 微信H5开发-采坑记

利用H5开发微信公众号一、 首先授权配置公众号设置 --》功能设置设置业务域名!这里的MP_verify_w7tdZrafqhkK9Mcj.txt文件,需要放到你项目的根目录下,例子:你的项目war包叫 test.war ,里面包含了src,WEB-INFO两个文件夹,则把MP_verify_w7tdZrafqhkK9Mcj.txt放到这两个文件夹的同级目录下;即现在test.war下有两个文件夹一个txt文件:src,WEB-INFO,MP_verify_w7tdZrafqhkK9M.

2020-07-20 12:02:15 2195

原创 Java深拷贝与浅拷贝【复习】

Java的深拷贝和浅拷贝,我用一个最直接的例子来说明,需要执行代码直接拷贝过去,直接执行。浅拷贝:重写clone()方法,返回super.clone()方法,该方法在对象调用时候默认返回的就是浅拷贝,浅拷贝时只拷贝对象本身和对象的基本变量,对象的引用变量不会进行拷贝,还是指向原来的对象。深拷贝:需要重写clone()方法,我在代码中已经注释掉了,如果该类有多个对象引用,需要都进行clone...

2018-09-29 19:11:49 177

原创 三行代码看懂Java构造方法链

Java构造方法链:当前类在操作自己构造函数时候(初始化对象),首先会检查其父类的构造方法和静态块,如果存在则会先初始化父类的构造函数,同时,该类也会检查是否存在父类有构造函数和静态块,如果存在同样需要初始化,一直向上进行检查,直到检查为空。 /** * @author 冉野 E-mail:[email protected] * @version 创建时间:18/9/29 下午...

2018-09-29 18:57:34 1596

原创 Websocket--注入Bean,空指针异常

在websocketEndpoint中,使用@Autowired一些列注解注入Bean时候,一直无法注入,包空指针。环境:JDK 8     Tomcat:8.5  SpringBoot 1.5.4其中尝试了很多种方式,都无法满足,第一种解决解决办法,@ServerEndpoint(value="/websocketTest/{userId}",configurator=SpringC...

2018-08-15 22:11:34 3024

原创 Websocket发送信息报错The WebSocket session [0] has been closed and no method (apart from close()) may be c

WebSocket后台报错:The WebSocket session [0] has been closed and no method (apart from close()) may be called on a closed session 在这个过程中,前台页面不停的刷新页面,session在不停的关闭和开启,服务器推送数据时,会出现session连接已经被关闭了,但是此时服务器还在...

2018-08-15 14:15:53 14941 5

原创 Git中fatal: refusing to merge unrelated histories

如果你是git pull或者git push报fatal: refusing to merge unrelated histories初始化一个新的项目后,使用git pull origin master 报错,这个错误可能会发生在git push中,原因是在合并代码的时候,这两个分支没有取得关联关系,完美的解决办法是在git pull 命令上加上--allow-unrelated-his...

2018-08-12 17:13:25 123

原创 TK-MyBatis 分页查询

记 tkMybatis 查询出一个  List集合 该集合已经做好了一层分页Page封装 即查询出的list 使用类型判断 instanceof Page 为true但是,中途不明白这是一个带分页的集合,把查询出的结果集又做了一层封装 需要返回的对象类型为GoodsCategoryDTO,代码如下:    // 商品集合             List<GoodsCategory...

2018-08-10 14:30:02 21948

原创 Lamada表达式排序

List<GoodsDTO> goodsCartDTOS = goodsCartList.getData().getList().stream().sorted(Comparator.comparingInt(x -> goodsIdList.indexOf(x.getGoodsId()))).collect(Collectors.toList());之所以用到这样的逻辑...

2018-07-31 23:27:55 608

原创 [You provided 'function reduceOperatorFunction(source) 问题解决]

TypeError: You provided 'function reduceOperatorFunction(source) {        return pipe_1.pipe(scan_1.scan(function (acc, value, index) {            return accumulator(acc, value, index + 1);        }),...

2018-05-21 21:19:27 485

原创 IntelliJ Idea激活码

1、到网站http://idea.lanyus.com/获取注册码;2、填入下面的license server:  http://intellij.mandroid.cn/  http://idea.imsxm.com/  http://idea.iteblog.com/key.php貌似以上的方法已经不行了 ,好像服务器停止运行了,今天我再来推荐一个100%成功好用的方...

2018-05-16 16:58:23 4717

转载 MySQL配置文件详细讲解

[client]port = 3306  socket = /var/lib/mysql/mysql.sock[mysql]#这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。no-auto-rehash[mysqld]user = mysql  port = 3306  socket = /var/lib/mysql/mysql.sock...

2018-03-30 20:16:37 1586

原创 JPA报错object references an unsaved transient instance - save the transient instance before flushing

由于要保持的对象有一个维持旧化的对象导致,当时是在关系为many to one 时候导致,引导的那个one对象所有的属性都是null造成的,解决办法是配置cascade 关键字,级联操作。JPA中有四种CASCADE类型:     **********PERSIST: 持久保存拥有的实体,也会持久保存该实体的属于相关数据。     **********MERGE:将分离的实体重新合并到活动的持久性...

2018-03-24 20:07:53 2949

原创 MySQ修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

在修改密码的时候报错了ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。      原因是修改密码的校验策略插件较为严格,是继5.6.6版本之后进行加强的,修改策略为修改默认属性长度即可。     检查目前的使用密码策略:    show variables  like 'varia...

2018-03-08 13:18:03 1100

转载 MySql for update 【排它锁】

Mysql InnoDB 排他锁用法: select … for update;例如:select * from goods where id = 1 for update;排他锁的申请前提:没有线程对该结果集中的任何行数据使用排他锁或共享锁,否则申请会阻塞。for update仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for update...

2018-03-03 15:24:43 2898 2

原创 微服务架构配置中心

大促的三大法宝是:弹性,限流,降级。系统的限流和降级本质是讲从日常的运行状态切换到大促态的一个动态调整,这个本身天然就是一个配置起到作用的一个相应场景。配置中心的关键是SLA。配置中心的SLA讲究的是推送,如果修改了配置中心文件,那么推送到1000台机器上的延时一般在3秒以内是ok的。配置中心技术决策的第三点是灰度:有些配置中心文件就像开关一样,按下去可能不会有别的特殊事情,但是有些开关对于公司可...

2018-02-08 21:14:10 1744

原创 【redis启动失败】he Windows version of Redis allocates a memory mapped heap for sharing with the forked pr

【Windows下】今早重启做redis分布式的时候启动了两个redis,其种只有一个能正常的启动,另一个启动一直报错,好像是启动内存不足,需要重新分配额外的heap内存,解决办法就是重启一下电脑或者是在启动的时候配置内存。解决办法就是:redis-server.exe redis.windows.conf  --maxheap2gbok完美。

2018-02-01 11:05:10 1090

原创 如何安装JDK1.7

因为JDK1.7 版本已经隐退,如果需要下载必须用oracle的账户才能进行,如果没有账户,需要先注册一个自己的账户,然后点击链接:Oracle官网下载链接,进入之后看下图:然后往下看:在往下看:然后就第点击需要下载的版本就好啦 。。。。

2018-01-19 18:44:46 513 3

原创 java微信分享demo

最近公司要做一个短视频的二次分享案例,乘此机会好好琢磨了一下java服务端开发,网上也有很多例子,但是这里我会把我遇到过的一些坑完整的记录在此处。微信分享的大致过程也就是这样的首先需要确定如何配置JS安全域名,【设置】-【微信号设置】-【基本配置】-【获取到AppId和AppSecret】,特别需要说的一点是,IP白名单的配置,这个一定要配置,否则将会获取不到access_token,接着发生很神

2018-01-16 17:58:00 1137

Netty入门与源码分析.pptx

最近部分需要做一个一个有关Netty框架的分享会,我就在网上找了好半天也没有一个线程的可用的Netty PPT,所以就动手写了一个,还有好多需要完善的地方,还在修改中....

2019-06-30

空空如也

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

TA关注的人

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