代码改变世界

随笔分类 -  Java

MANIFEST.MF是个什么?

2020-05-29 18:00 by tony4geek, 3896 阅读, 收藏, 编辑
摘要: MANIFEST.MF是个什么? 写这篇文件主要记录JRA文件里面到底是什么?然后MANIFEST.MF又是什么?Springboot 如何只有Main方法就可以运行的? Springboot项目打包 Java开发中JRA包中经常会看到这个文件中。Springboot打包也会生成对应的JRA,下图我 阅读全文

文件上传transferTo一行代码的bug

2020-03-21 12:18 by tony4geek, 2017 阅读, 收藏, 编辑
摘要: 本次的项目环境为 Running with Spring Boot v1.5.10.RELEASE, Spring v4.3.14.RELEASE, 服务器环境为CentOS7.0. transferTo 我们在上传文件的时候会用到transferTo 这个方法, transferTo 是 pack 阅读全文

com.fasterxml.jackson.core.JsonParseException

2020-03-20 15:09 by tony4geek, 9327 阅读, 收藏, 编辑
摘要: com.fasterxml.jackson.core.JsonParseException 今天测试遇到以上的错误信息。 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Une 阅读全文

SubList到底怎么转化为ArrayList?

2020-02-11 19:36 by tony4geek, 773 阅读, 收藏, 编辑
摘要: SubList 大家好,今天 Tony 给大家讲个SubList转化的坑。 这个错误真的会被忽略,大家好好的看看,这个错误我们生产环境还真的遇到过。 集合类型相信大家都很熟悉,在 Java 中 ArrayList 使用的场景非常普遍。我们今天主要看的是 ArrayList 中的 subList 方法 阅读全文

一定要你明白Java中的volatile

2020-01-07 14:06 by tony4geek, 789 阅读, 收藏, 编辑
摘要: 今天Tony来和大家聊聊Java中关键字volatile。 字节码 首先volatile int a = 3;和int a = 3;,加不加volatile关键字,最终生成的字节码都一样的。有兴趣的同学可以试试看看字节码是否一样。 英文解释 Adding volatile to the field 阅读全文

Java中日期格式化YYYY-DD的坑

2020-01-05 19:27 by tony4geek, 6348 阅读, 收藏, 编辑
摘要: 写这篇博文是记录下跨年的bug。去年隔壁组的小伙伴就是计算两个日期之间间隔的天数,因为跨年的原因计算有误。 当时测试组的小姐姐也没有模拟出来这种场景,导致上生产环境直接影响线上的数据。 今天逛技术论论坛正好遇到 Java 日期的操作bug。 1 yyyy 和 YYYY 别看字,看代码 输出结果 细心 阅读全文

年会现场抽奖代码到底该怎么写?过来人告诉你答案

2019-12-27 14:50 by tony4geek, 3274 阅读, 收藏, 编辑
摘要: 前沿 说件严肃到事情,2019真到快要结束了。各家公司一定在紧锣密鼓到准备年会当中了吧。年会肯定离不开抽奖吧?现场几百上千人抽奖可千万别出bug。如果真出bug老板得要杀你祭天了。现场好多人看着呢。 抽奖代码 运行结果如下 分析结果 老板让做个抽奖的功能,抽奖到底该怎么做? 前端分析 大家都知道前端 阅读全文

你知道for(;;) vs. while(true)那个更快吗?

2019-12-26 12:58 by tony4geek, 1051 阅读, 收藏, 编辑
摘要: 来来来, for(;;) vs. while(true) 有什么区别?从java的语义上来说,他们是一模一样的。为何怎么说? 开始我们先测试for(;;) 输出的字节码如下 我们再测试while (true) ` 输出的字节码如下 引用网上的一段话 Semantically, they're com 阅读全文

赶紧的,用户已经打电话来投诉线上出问题了

2019-12-24 17:31 by tony4geek, 692 阅读, 收藏, 编辑
摘要: 出bug了 如标题所示,用户资金获取失败,线上某个服务通过dubbo调用接口都返回异常。 赶紧连上服务器看日志,进去一看吓到了。 分析问题 全部是数据库的连接获取不到,技术栈说明下。我们是dubbo远程调用,数据库连接池是druid,数据库用的是mysql。 登录mysql 服务器 show ful 阅读全文

修改Request 中的数据

2016-01-31 18:24 by tony4geek, 4747 阅读, 收藏, 编辑
摘要: 拦截器修改参数 今天一位网友开发中遇到一个需求,他需要在Request中修改传递过来的数据。开始的时候他在拦截器中修改,在拦截器中可以获取到从前台request中 传递过来的数据。他写法大致如下:自定义拦截器继承HandlerInterceptorAdapter 不过在controller 中获取在 阅读全文

约瑟夫环

2015-12-16 17:41 by tony4geek, 253 阅读, 收藏, 编辑
摘要: 论坛里别人问的问题在此记录下来 已知n个人围坐在一张圆桌周围,从编号为1的人开始报数,数到m的那个人出列。下一个人从1开始报数,数到m的人继续出列,以此类推直至全部人出列。求出列顺序? 这个问题基于链表最通俗易懂,当然通过数组或者其他方式也可以实现。 阅读全文

SynchronousQueue 的联想

2015-11-04 16:53 by tony4geek, 331 阅读, 收藏, 编辑
摘要: SynchronousQueue介绍 SynchronousQueue是一种阻塞队列,该队列没有任务的容量。内部实现采用了一种性能更好的 无锁算法 。 代码实现里的Dual Queue,其中每一个put对应一个take方法。 简单测试代码 生产者每生产一个,如果没有消费者消费那就发生阻塞... 阅读全文

ThreadLocal 简述

2015-11-02 16:01 by tony4geek, 382 阅读, 收藏, 编辑
摘要: ThreadLocal的理解 Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。 The ThreadLocal class in ... 阅读全文

Java全排列排序

2015-10-31 13:55 by tony4geek, 254 阅读, 收藏, 编辑
摘要: 全排列算法,递归的实现 java public class AllSort { public static void main(String[] args) { String str[] = { "1", "2", "3" }; permutation(str, 0, str.length); } 阅读全文

Java 反编译

2015-10-17 23:21 by tony4geek, 339 阅读, 收藏, 编辑
摘要: 今天网上找到个jar,顺便反编译看看它的源码。 通过eclipse在线安装插件的方式 安装下图的顺序安装eclipse的插件 通过下载插件zip文件,自行拷贝方式 插件解压缩下来将将features和plugins分别拷贝到eclipse的features和plugins文件夹中 的内容 "jd链接 阅读全文