- 博客(105)
- 资源 (30)
- 问答 (3)
- 收藏
- 关注

原创 阿里EasyExcel让你彻底告别easypoi
为什么说EasyExcel可以让你告别easypoi呢?在说这个问题之前我们先来了解下easypoieasypoieasypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法这是easypoi官方给出的定义,使用这个工具后发现在进行excel的导入导出时,的确很方便。特别是一些简单的excel比如这种简单的.
2021-10-27 16:41:51
6483
7
原创 阿里云表格存储OtsQueryWrapper
阿里云OTS表格存储多元索引查询组件,可以像mybatis-plus一样做到轻松的wrapper封装查询
2024-09-30 13:20:15
273
原创 如何高效率组装树形数据
说到组装树形结构数据,一般首先想到的就是递归或者反射处理,这种处理数据的方式比较直观简单,但是有个缺点,如果数据量过大比如几万几十万,处理的速度就会非常慢。下面是一种高效处理树形数据的代码。
2024-08-06 10:44:00
248
原创 CodeReview 小工具
大家开发中有没有遇到一个版本开发的非常杂,开发很多个项目,改动几周后甚至已经忘了自己改了些什么,领导要对代码review的时候,理不清楚自己改过的代码,只能将主要改动的大功能过一遍。这样就很容易造成review遗漏,进而造成错误的代码直接上线。本人针对上面的问题,开发了一个code-review小工具,可以对多个项目同时进行code-review,并搜索用户和指定时间段获取用户提交的代码,非常直观的查询出作者针对某个分支某段时间段内提交的所有代码,具体功能如下截图。
2024-01-19 17:35:17
728
原创 Gateway No servers available for service
springCloud集成网关测试报错找不到服务,如下造成这种错误可能是下面两种原因。
2023-12-15 10:48:01
1771
原创 子线程如何等待主线程执行完再执行
第一个方法用来实现业务的主要逻辑,第二个方法用来处理特殊的操作,第一个方法上我们单独开一个事务(propagation = Propagation.REQUIRES_NEW),再执行第二个方法时第一个方法事务已经提交,这样就很好的解决了这一问题。假设子线程执行的部分业务是需要依赖主线程执行的结果(数据库的数据)的话,就必须要保证执行子线程的时候,主线程已经执行完毕(提交了事务)。上面是通过获取父线程的线程状态来判断父线程是否已经执行完成,然后再保守等待15秒的时间。那么如果保证呢,我具体想了两种方式。
2023-11-02 16:47:45
879
转载 查看JVM内存使用状况
输入:jstat -help得到以下帮助信息Usage: jstat --help|-options jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]Definitions: <option> An option reported by the -options option <vmid>
2022-03-23 15:18:51
763
原创 Java导出无规则excel,如报销单,申请单,结算单等
普通业务我们导出的excel文件大多是有规则的表记录导出,即表头+表记录。但是如果业务上让我们去导出一些复杂的excel结构,比如导出结算单,申请单这些,如下:类似这种excel文件格式的导出,现有的框架并不能很友好的支持,我们需要些一堆复杂的代码,而且还不能复用。针对这种业务本人编写了以下的excel处理工具,希望可以帮助到大家。ZlExcel类import org.apache.poi.ss.usermodel.*;import org.apache.poi.ss.util..
2022-03-18 17:47:54
1731
15
原创 通过注解的方式实现分布式锁
注解/** * 锁 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Lock { /** * 锁定key 业务键 */ String[] lockKey() default LOCK_KEY; /** * 获取锁失败报错信息 */ String errorMsg() defa
2021-10-27 18:50:56
410
原创 业务太多!方法太大!spring环境下的如何优雅解决函数体太长的问题。
不管在什么软件公司,不管做什么软件业务,当产品不断迭代业务不断变更后,咱们的程序代码也会越来越臃肿越来越冗余。在一个维护了几年的系统中,有的时候我们会发现一个方法几百行,甚至上千行的都有,方法里面嵌套了数不清的if else,不可思议,无法理解。看到这样的方法,特别是前人都没有留啥注释,真的很蛋疼。所以在这种情况下,咱们就想到了用设计模式,将一个方法拆分成n个方法,每个方法负责不同的功能模块,然后将所有的方法组合在一起形成一个主要的大功能模块。这也是封装思想的理想模式。废话不多说咱们先看一个例子
2021-01-16 22:47:36
897
原创 java重写equals方法时,为什么还需要重写hashCode
在说这个问题之前,先说下equals和hashCode各自的作用equals: 判断两个对象是否相等所调用的方法。 public boolean equals(Object obj) { return (this == obj); }瞜一眼java的Object类的equals方法代码,很明显这个方法是比较两个对象的地址是否相等hascode: 我也不知道这个方法有啥作用,咱们姑且算它是返回当前对象的唯一code码吧。可以理解为数据库表的主键public
2020-12-19 20:05:56
847
1
原创 Service更新到底要不要执行成功的返回值???
估计看到这个标题,就要有人破口大喷了,这种浅显的问题还要问!肯定要返回值啊!! 咱们不说废话,直接提枪上阵,拿代码说事!!! publicIntegerplaceOrder(Orderorder){//校验订单checkOrder(order);//保存订单的基本信息saveOrder(order);//更新用户的账户信息updateUserAccount(order);//添加用户额账户流水a...
2020-12-10 22:59:30
877
2
原创 程序员为什么会加班呢???
1.文化 第一天晚上6点 程序员A:“走吗?” 程序员B:“你先走吧,我等会再走!” 第二天晚上6点 程序员B:“走吗?” 程序员A往前边瞄了一眼:“你先走吧,我等会再走!” 程序员B:“好吧,我先走了!明天见” 第三天晚上6点 …… 晚上8点 …… 晚上9点 程序员A,程序员B都往前边瞄了一眼 “走吗?” “再等会吧!还没做完呢!” “……继续...
2020-12-10 21:43:38
256
1
原创 java编写的打印标签图片文档的软件
采用java编写的打印工具,主要功能有打印图片,打印标签,打印各种文档等具体功能如下图:可以自由的移动图片的位置,和调节打印的张数和大小打印文档:获取资源请关注码眼公众号 或者扫描下方二维码发送: java打印软件...
2020-12-06 18:15:52
358
原创 程序员10大烦恼
此处有雷区,闲杂人等请勿靠近嘿嘿1、困 哥,你那个房子我给你看了下,这边小区应该有合适的,你看什么时候有时间过来。 好的好的,就今天晚上吧。 凌晨2点终于把这个bug解决了,美女产品很关心,准备请客吃宵夜。我没气的说:“宵夜就算了,你先让我睡一觉吧!”,美女产品脸红的说了句讨厌,然后在安静的坐在我身边不说话,害的我又重现了下,bug解决了啊~ 哥,那个房子有人定了,我又给你找了一个,你看有时间过来看下吗?...
2020-12-06 16:15:03
1092
3
转载 工程师如何从技术转型做管理?
转载自:https://mp.weixin.qq.com/s/yqN30BK7_8fGOy7xEOnnLw“我,程序员,32岁,距离退休,只剩3年了!”这句话用来形容2019年互联网行业最适合不过了。从18年开始,大大小小的互联网公司开始了不止一轮的裁员,19年网上开始充斥一类文章,专门写互联网公司超过35岁的人,如果到这个年龄,还不是leader,业务又不核心,那么请焦虑吧。昨天听罗胖的跨年演讲,主题是:基本盘。意思是不要受到人云亦云的情绪影响,而是转过头,看手中的资源,基于基本盘看清自.
2020-12-06 16:12:32
157
原创 mysql sql50题详解
1、表结构–1.学生表Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号–3.教师表Teacher(t_id,t_name) –教师编号,教师姓名–4.成绩表Score(s_id,c_id,s_score) –学生编号,课程编号,分数2 、创建数据库--建表--学生表CREATE TABLE......
2020-09-20 15:25:24
545
原创 mysql基础
一、 创建数据库 create database 数据库名; 二、删除数据库 drop database 数据库名; 三、 数据类型1、 数值类型 1) tinyint 大小:1个字节 范围:-128~127 用途: 小整数值 2) smallint 大小:2个字节 范围: -32768~32767 3) me...
2020-01-04 13:20:58
336
转载 java集合框架
早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。由于这个原因,使用 Vector 类的方式和使用 Properties 类的方式有着很大不同。集合框架被设计成要满足以下几个目标。 该框架必须是高性能的。基本集...
2019-11-27 11:04:40
198
原创 java lambda常用api
1、循环遍历 和普通for循环一样,如果在循环内部没有通讯相关的耗时操作,建议使用原始的for循环。 lists.stream().forEach(l->{ System.out.println(l); });Map<String,String> map = new HashMap<>();map.forEach((k,...
2019-10-14 17:59:48
515
1
转载 在互联网中,资源免费共享还能走多久!
16年,年中。我在自己的文章里写到,当你某天醒来发现,不仅仅是新浪微博里出现大面积付费文章,微信公众号也开始出现付费阅读。视频和音频网站需要购买会员,听音乐请花钱,下载电子书请花钱,当然花钱也可以在线同步观看影院电影。在接下来的几年里,互联网中优质内容可能都需要付费。有钱人花钱买时间,没钱人消耗时间节约钱,在未来成为一种常态。眼下,当中国网民谈论到互联网时,根深蒂固在他...
2019-09-14 21:23:09
688
原创 Java入门 --- 什么是java
我一个码农,整天想着写博客,那就写呗! java是什么,我理解的很粗俗,我感觉它就是用来赚钱的,学习它就是为了赚钱,赚很多很多的钱,哈哈。 好吧!咱们开始吧,一秒几十万我已经迫不及待了。 既然想说java,那么我们就分三步走吧,什么是java,java可以用来做什么,为什么要学习j...
2019-09-02 21:48:53
324
原创 一篇博客让你彻底搞懂同步异步,阻塞非阻塞的含义和区别
做网络IO编程我们或多或少都会接触到同步、异步、阻塞、非阻塞等相关技术术语,但是到底什么是同步异步阻塞非阻塞,他们怎么定义的,有什么区别,很多童鞋可能一直处于一种半懂半懵逼的状态。 针对同步,异步,阻塞,非阻塞四种情况,一般日常会有以下四种应用场景 1、同步阻塞 2、同步非阻塞 3、异步阻塞 4、异步非阻...
2019-07-15 15:53:35
755
转载 virtualbox虚拟机和主机不在同一网段,虚拟机访问互联网网络配置
本文转载自:https://baijiahao.baidu.com/s?id=1637034239523851712&wfr=spider&for=pc用virtual box在win10里搭建了一个虚拟机,虚拟机安装的是linux,部署了nginx、mysql、redis、MongoDB等开发服务器,刚开始的时候,我的win10主机和虚拟机都在同一个网段,比如 主机是192...
2019-07-14 20:54:45
9955
2
原创 Redis分布式锁简单案例
实际开发中,当系统是分布式集群情况下,多个请求对一条数据进行更新时,为了数据安全,我们必须要将这条数据锁住,但是集群负载情况下使用jdk自带的锁此时已经无济于事。我们必须要使用数据库锁。下面是基于redis实现的分布式锁简单案例。1、锁接口/** * 分布式锁 * @author zhanglei */public interface YBLock { /*...
2019-07-08 17:56:39
670
原创 java堆内存简单剖析
作为java内存模型中最核心的一个组件:堆 ,它在jvm hotspot虚拟机中充当什么样的角色,存储什么数据,如何分类,如何回收。这里笔者为了好理解,做一个简单的介绍。 1、堆存储的数据 堆作为jvm最核心的组件,没有之一,存储的主要的数据就是------对象。任何函数中创建的任何对象,我们几乎都可以在堆中找到实例。当然部分对象可能存在源空...
2019-06-29 22:15:17
131
转载 java设计模式六大原则
1、单一职责原则(Single Responsibility Principle)定义 : 应该有且只有一个原因引起类的变化注意 : 这里的类不光指类,也适用于方法和接口,比如我们常说的一个方法实现一个功能2、里氏代换原则(Liskov Substitution Principle)定义 : 只要父类出现的地方子类就一定可以出现,而且替换为子类也不会出现任何异常或错误,使用者不需要...
2019-06-23 14:27:38
179
转载 Java 内存区域和GC机制
本文转载自:https://www.cnblogs.com/hnrainll/archive/2013/11/06/3410042.html目录Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java...
2019-06-23 13:02:53
124
原创 redis常用命令
redis支持以下五种类型string(字符串) 特征 字符串hash(hash表) 字段和值都耗内存list(列表) 队列 可以做消息队列使用 可重复 有序set(集合) 不可重复 无序的zset(有序集合)基本命令 设值:set name admin批量设值: mset nam...
2019-06-22 14:49:06
179
原创 基于RESP协议的redis报文通信
1、什么是resp协议 官方说 : resp协议是一种人类可读的通信协议。 举个案例 :$12\\r\\nHello World!\\r\\n 这里的$符号是固定规范,12数字表示“Hello World!”这个字符串的字符数量是12 。就是这么简单 \\r\\n是换行符 2、redis发送一个set请求 redis发送一个set请求实际是通...
2019-06-22 11:39:27
662
原创 redis入门学习
1、什么是redis redis本身是一款基于内存的nosql缓存键值数据库,其高性能官方给出的答复是在配置允许的情况下一秒钟可处理10万次请求,并且还在不断的更新提高中。 redis本身是单线程的。 redis的高性能主要原因如下: 1)redis是由c语言编写的。 2)redis是基于内存的数据库。 3...
2019-06-22 11:19:04
123
原创 linux安装redis
这里我们使用centos来安装redis1、如果没有linux服务器,我们可以在linux虚拟机上安装,具体如何安装虚拟机可以参考一下博客 https://blog.youkuaiyun.com/qq_39530754/article/details/828982402、安装完成后,下载redis版本 可以在浏览器自行下载后通过rz命令导入到虚拟机中,也可以在linux通过命令wg...
2019-06-22 10:37:48
156
程序员日常小工具,包含截图,接口调用,日期处理,json转换,翻译等
2024-12-30
dubbo+spring+springboot简单小案例
2019-04-08
nginx-1.9.0.tar.gz
2019-03-24
个人资料管理工具,网络人大考题,可运行
2018-10-14
java战车小游戏源码+图片资源
2018-10-08
个人资料管理工具,人大考题
2018-06-03
海派商城管理系统
2017-07-25
web前端系列视屏教程汇总-38G资源+资料源码
2017-07-19
div+css实战网页集合------模板+源代码
2017-07-15
韩顺平java视屏汇总
2017-07-05
韩顺平java汇总
2017-07-05
csdn博客刷新推荐算法
2023-09-25
mongodb 匹配度排序
2023-09-13
请教下,spring环境下如何让指定的代码块回滚,但是主代码块不用回滚呢
2021-02-24
idea terminal 无法输入中文
2021-02-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人