![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
码眼
只有不停地努力,才能做到毫不费力
展开
-
CodeReview 小工具
大家开发中有没有遇到一个版本开发的非常杂,开发很多个项目,改动几周后甚至已经忘了自己改了些什么,领导要对代码review的时候,理不清楚自己改过的代码,只能将主要改动的大功能过一遍。这样就很容易造成review遗漏,进而造成错误的代码直接上线。本人针对上面的问题,开发了一个code-review小工具,可以对多个项目同时进行code-review,并搜索用户和指定时间段获取用户提交的代码,非常直观的查询出作者针对某个分支某段时间段内提交的所有代码,具体功能如下截图。原创 2024-01-19 17:35:17 · 645 阅读 · 0 评论 -
查看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 · 711 阅读 · 0 评论 -
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 · 1501 阅读 · 14 评论 -
Java Retrofit使用
Retrofit是Java开发的一个轻量级Http请求组件,可以做到类似于接口调用一样的方式进行http调用原创 2022-01-08 18:40:53 · 2758 阅读 · 0 评论 -
通过注解的方式实现分布式锁
注解/** * 锁 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Lock { /** * 锁定key 业务键 */ String[] lockKey() default LOCK_KEY; /** * 获取锁失败报错信息 */ String errorMsg() defa原创 2021-10-27 18:50:56 · 360 阅读 · 0 评论 -
阿里EasyExcel让你彻底告别easypoi
为什么说EasyExcel可以让你告别easypoi呢?在说这个问题之前我们先来了解下easypoieasypoieasypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法这是easypoi官方给出的定义,使用这个工具后发现在进行excel的导入导出时,的确很方便。特别是一些简单的excel比如这种简单的.原创 2021-10-27 16:41:51 · 4710 阅读 · 7 评论 -
个人资料管理工具
mysql数据库,java开发可以添加文件,删除文件,重命名,拥有富文本编辑文件功能。原创 2021-10-19 14:15:21 · 136 阅读 · 0 评论 -
业务太多!方法太大!spring环境下的如何优雅解决函数体太长的问题。
不管在什么软件公司,不管做什么软件业务,当产品不断迭代业务不断变更后,咱们的程序代码也会越来越臃肿越来越冗余。在一个维护了几年的系统中,有的时候我们会发现一个方法几百行,甚至上千行的都有,方法里面嵌套了数不清的if else,不可思议,无法理解。看到这样的方法,特别是前人都没有留啥注释,真的很蛋疼。所以在这种情况下,咱们就想到了用设计模式,将一个方法拆分成n个方法,每个方法负责不同的功能模块,然后将所有的方法组合在一起形成一个主要的大功能模块。这也是封装思想的理想模式。废话不多说咱们先看一个例子原创 2021-01-16 22:47:36 · 788 阅读 · 0 评论 -
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 · 810 阅读 · 1 评论 -
java堆内存简单剖析
作为java内存模型中最核心的一个组件:堆 ,它在jvm hotspot虚拟机中充当什么样的角色,存储什么数据,如何分类,如何回收。这里笔者为了好理解,做一个简单的介绍。 1、堆存储的数据 堆作为jvm最核心的组件,没有之一,存储的主要的数据就是------对象。任何函数中创建的任何对象,我们几乎都可以在堆中找到实例。当然部分对象可能存在源空...原创 2019-06-29 22:15:17 · 108 阅读 · 0 评论 -
Cookie 和 Session的区别
1、Cookie的特点 1)保存在浏览器(浏览器)的键值数据。 2)Cookie的大小存在限制 ,一般最大为4k 3) Cookie中保存数据是不安全的,数据传输中,和浏览器中都可以被用户或者黑客直接获取 2、Session的特点 1)保存在服务器缓存的键值对...原创 2019-02-25 19:57:09 · 114 阅读 · 0 评论 -
java 中finally代码块一定会被执行吗?
java中,finally代码块一定会被执行吗。恐怕要让大家失望了,有3中可能finally代码块中代码不会被执行。 1、try代码块没有被执行 public static void main(String[] args) { test(); } private static void test(){ int...原创 2019-02-16 17:21:28 · 1465 阅读 · 0 评论 -
linux 操作系统中使用jdk Font存在的乱码方格问题 解决
1、打开windows系统 ,打开C盘2、打开/windows/fonts目录3、将simsun.ttc 和 simsunb.ttf 文件复制到linux下的jre/lib/fonts目录中,如果没有fonts目录,则新建一个fonts目录。4、重启项目,ok...原创 2019-02-15 13:17:48 · 554 阅读 · 0 评论 -
spring @Resource 和 @Autowired ,@Inject 的区别
针对@Resource 和 @Autowired的区别,各大论坛上众说纷纭,这里对这三个注解进行简单的分析1、@Autowired 注入可以为空 required=false ; 可以和首选项注解@Primary注解配合使用 ; 可以通过@Qualifier注解指定bean的名称 ; ...原创 2018-12-17 16:10:30 · 142 阅读 · 0 评论 -
java 实现自定义序列号
业务数据主键一般情况下通常我们会使用UUID随机字符串,这种字符串在未来1000年内应该不会出现第二个。但是在实际开发中,一些业务编号会对用户直接公开,比如身份证号,电影票号,飞机火车票编号等。这种有着一定规律的业务数据主键编号,需要我们通过代码来实现。 这里贴上我的github库 https://github.com/18756593465/mylodic.git。一...原创 2018-11-08 20:37:41 · 2177 阅读 · 0 评论 -
java 并发包 Lock Condition实现阻塞队列
import java.util.LinkedList;import java.util.List;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.Ree...原创 2018-11-13 12:28:49 · 369 阅读 · 0 评论 -
idea bootstrap.yml 图标错误显示太阳 炸弹,解决
在开发java的springboot程序,一般会创建bootstrap.yml文件。但是有的时候创建该文件后,显示出太阳的图标,并且文件内部的各种格式都会出现错误。 解决该问题 1、重新安装idea,或者升级idea。 2、非常简单的方法:将bootstrap.yml 修改成 bootstrap.yaml即可 ...原创 2018-10-24 12:42:29 · 3758 阅读 · 0 评论 -
java System类解析
System类是一个由final修饰的类,所以无法被继承,只有一个私有的构造器,所以也无法实例化。System类所有的属性和方法都是公有 static修饰的,可以由类名直接调用属性: InputStream in; 输入流PrintStream out; 打印输出流PrintStream err; 标准错误打印输出流,该留已经打开,随时准备接受输出数据Sec...原创 2018-09-27 14:30:19 · 323 阅读 · 0 评论 -
java不是分布式的两个服务之间调用,如何实现事务回滚?
之前开发springCloud微服务,遇到微服务之间调用事务回滚问题,网上浏览存在多种解决方案。但是最后发现,实现服务回滚的多个服务必须要在同一个注册中心下,也就是说,必须要有一个主服务管理者所有的分布式服务。 如果!两个服务之间不存在任何关联,如何实现事务回滚? 苦思冥想,终于想到了一个不是办法的办法。 在服务A调用服务B时,先获取当...原创 2018-09-10 19:01:00 · 8466 阅读 · 3 评论