![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
到中流遏飞舟
这个作者很懒,什么都没留下…
展开
-
byte buddy字节码增强——输出方法执行时间
结束 ~ ~ (^ v ^)~ ~原创 2023-09-16 00:18:07 · 180 阅读 · 0 评论 -
DevTools 热加载为什么快?
SpringBoot DevTools 为什么快原创 2022-08-18 22:01:45 · 179 阅读 · 0 评论 -
Java 获取GitLab 项目分支信息
使用GitLab Api,因为不想通过本地clone仓库的方式获取项目分支信息gitlab 操作好,开始按图操作然后会出现一个key , 复制下来,放到自己喜欢的文件里好好保存……Java 部分pom文件 <!-- https://mvnrepository.com/artifact/org.gitlab/java-gitlab-api --> <dependency> <groupId>org.gitlab<原创 2022-02-10 16:12:59 · 2147 阅读 · 1 评论 -
Json排除指定字段小工具
json 时排除指定字段小工具1.0原创 2021-11-08 18:26:38 · 258 阅读 · 0 评论 -
log4j2修改动态创建log文件名字
动态创建log文件名,但是log4j2 创建的文件名字是固定的,只能……原创 2021-10-16 23:15:50 · 2591 阅读 · 5 评论 -
Long值范围你知道吧,Long值10进制有多少位你晓得不?
Long值10进制有多少位922337203685477580719位,晓得了知道毫秒时间戳有几位吗?163291101811313位,晓得了所以拼接大数值的时候注意啊,Long可以拆成两个int, 但是尽量不要和拼字符串似的拼。原创 2021-09-29 18:35:14 · 1401 阅读 · 0 评论 -
map.get(Object key)常识规避
小问题规避map.get(Object obj)传参的时候要注意类型。原创 2021-01-13 14:36:27 · 1233 阅读 · 1 评论 -
单个Java 文件过大,idea 中显示 “J” 图标 解决办法
情景再现: 单个 类显示 “J” , 编译可以正常编译,没有受到影响, 但是Idea 却标红。打开文件 后,发现最上面有一行 浅黄色的提示原因找到了,文件有点大,idea设置的默认值小了。找到 idea 安装目录下的 bin/idea.properties。下面这个字段调大一些。...原创 2020-11-03 16:29:26 · 694 阅读 · 0 评论 -
Executor的线程池
四种线程池源码探究原创 2020-03-12 19:00:45 · 117 阅读 · 1 评论 -
Dubbo + Zookeeper集群 Demo 服务搭建笔记
Dubbo demo 本地搭建由于Dubbo需要注册中心,这里使用zookeeper 来做注册中心,那就需要一个zookeeper集群,OK,下面就是搭建zookeeper 集群步骤:找到zookeeper的配置文件zoo_sample.cfg, 重命名为 zoo.cfg(zookeeper默认加载zoo.cfg),配置文件常用的配置项:tickTime:这个时间是作为 Zookeeper...原创 2020-02-22 22:21:56 · 185 阅读 · 0 评论 -
Java处理JSON数据出现MorphDynaBean
使用Properties 类将数据处理完毕,下一步就是以字符串的形式写到数据库中,顺手就用了Properties中的toString() 方法。然后杯具了! toString() 不会处理嵌套的数据 就是下面这样的 :在这里插入代码片...原创 2020-01-15 15:24:30 · 839 阅读 · 0 评论 -
Mina自定义编解码器
本文摘自《Mina用户指南》Chapter 9 - Codec Filter,但是用户指南中客户端没有完整版代码,在这里我简单的补上了。实现内容: client端向server端发送请求(请求图片),server端向client端传输请求的图片。第一步构架请求/响应消息实体。// 请求实体 public class ImageRequest { private int w...翻译 2019-12-02 16:13:59 · 601 阅读 · 0 评论 -
使用Mina发送数据执行过程分析
这里对上一篇出现的编解码器执行过程分析一下:客户端和服务端建立连接之后,开始发数据进到AbstractIoSession#write(Object message, SocketAddress remoteAddress)中, 直到这里writeRequest是对数据信息、session、以及remoteAddress 等信息的封装。然后进到DefaultIoFilterChain#fi...原创 2019-12-02 16:10:02 · 644 阅读 · 0 评论 -
switch-case引发的车祸
还记得大学时期 C++课上测验的时候, 有这么一道题目(具体忘了,考察的是switch-case 知识点): switch (1) { case 1: System.out.print("1"); case 2: System.out.print("2"); break; case 3: System.out.print("3"); break; ...原创 2019-11-22 12:40:42 · 166 阅读 · 0 评论 -
ObjectInputStream与ObjectOutputStream的顺序问题
背景:正在阅读《NIO与Socket编程技术指南》一书,在书中看到作者特别标注了 Server端和Client端ObjectInputStream 和 ObjectOutputStream 的创建顺序。我很疑惑,难道顺序有要求吗?找找看!先简单测试一下第一种情况,Server端和Client端都是生成ObjectInputStream 在前,ObjectOutputStream 在后。Ser...原创 2019-11-09 23:58:30 · 496 阅读 · 0 评论 -
记 一次服务更新失败(编码问题)
早上在赶往公司的路上接到主管的消息——服务启动失败,异常原因是 找不到XXX配置文件。要求十一点要开服,蛋四手头并没有电老(论随身带电脑的重要性o(╥﹏╥)o)。①先检查当前版本包中 有没有 程序没找到的配置文件。没有,继续。②查看系统编码,locale出问题了,配置文件编码都是UTF-8,这里是GBK,找找新添的配置文件路径——有中文。问题找到,将中文换成英文,重新打包发布,问题解决!...原创 2019-09-24 11:34:29 · 413 阅读 · 5 评论 -
Java中类似GOTO语句的存在
空闲之余,看一下String源码,正好看到 获取子串最后出现索引 的函数,其中让我眼前一亮的是 startSearchForLastChar: ,惭愧,到现在才看到这个玩意,看起来像C++的goto 语句,不过C++的goto语句可以在调用后面定义,这个不可以。而且该语句只能和循环在一块。static int lastIndexOf(char[] source, int sourceO...原创 2019-08-22 23:52:16 · 886 阅读 · 0 评论 -
使用tortoise 进行 svn 服务器端 回滚
三步走1. 先找个空文件夹将最新版的数据检出来(checkout)。2. 右键进入tortoise ,点击show log , 选择想要回滚到那一条记录,点击revert to this version. 坐等完成。3. 然后将第一步检出的数据 commit , 完成。记录一下:在我进行第二步的时候,...原创 2019-08-14 21:08:29 · 451 阅读 · 0 评论 -
Java开发规范以及对规范理解
带我的小哥给了我一些开发规范,对其中的一些规范还是只知然不知其所以然。现在我将私下整理的部分写出来,如有理解偏差或写错的地方,请不吝赐教,如有幸能帮到别人,那再好不过了。1. 不允许使用system.out.println 或者 system.err.println, 使用 Log.debug 或者 Log.info代替。...原创 2018-10-26 20:55:22 · 248 阅读 · 1 评论 -
学习Spring源码 之 XmlBeanFactory(Resource)
new XmlBeanFactory(new ClassPathXml(“test.xml”));加载流程梗概。 详情还需要参照Spring源码。XmlBeanFactory(Resource resource) { /** * Load bean definitions from the specified XML file. 从指定的XML文件加载bean定义 * @par...原创 2018-11-02 22:29:28 · 184 阅读 · 0 评论 -
Spring中Bean的加载流程(文字叙述)
bean的粗略加载流程,详细情况仍要查询源码transformedBeanName(String name); //如果name 是 以 ‘&’开头的,那么返回 ‘&’之后的部分。getSingleton(String beanName); //通过给beanName获取单例2.1. 从singletonObjects 这个Map中找这个instance ...翻译 2018-11-17 15:16:01 · 394 阅读 · 0 评论 -
Bigdecimal小记
今天修改Bigdecimal 类型的值的过程中,光记得它的 使用方法了,忘掉了它的一个特性。使用Bigdecimal 的方法会返回一个新的Bigdecimal值。原来的值仍然不变。想要改变原来的值只有重新赋值这一条路。 BigDecimal decimal1 = new BigDecimal(&quot;1&quot;); BigDecimal decimal2 = new BigDeci...原创 2018-11-28 15:40:35 · 578 阅读 · 0 评论 -
简单循环数组实现队列
最近在看数据结构与算法之类的书,看到喜欢的小东西随手记一下。/** * 简单循环数组构造队列结构 * @author Administrator@2018年12月12日 下午8:30:47 */public class ArrayQueue { public int capacity; public int[] arrayQueue; public int front; pub...原创 2018-12-12 21:13:33 · 420 阅读 · 0 评论 -
动态循环数组构造队列结构
接上篇简单循环数组构造队列结构,比较来看,这里多了一个扩容机制。/** * 动态循环数组构造队列结构 * @author Administrator@2018年12月12日 下午8:30:47 */public class DynamicArrayQueue { public int capacity; public int initcapacity; public int[] ...原创 2018-12-12 21:57:39 · 228 阅读 · 0 评论 -
JVM虚拟机控制堆栈大小参数小记
背景:各式参数不是不认识,但是组合起来就有点难受了。。。。。。先在这里小小回忆一下,等过一段时间再次研究JVM做个准备。原创 2018-12-28 10:14:40 · 3588 阅读 · 0 评论 -
Java可变长参数
背景:今天看了一篇技术文章,其中提到了一句JDK 1.5 实现了可变长参数,哎呦,啥是可变长参数,原谅我的无知,快快打开某某一下,原来可变长参数就是 允许在调用方法时传入不定长度的参数。在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。①可变参数只能作为函数的最后一个参数,但其前面可以有也可以没有任何其他参数。②由于可变参数必须是最后一个参数,所以一个函...原创 2018-12-24 22:12:19 · 130 阅读 · 0 评论 -
重温JVM运行时数据区域
背景:javaSE 7运行时数据区① 程序计数器: 是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。字节码解释其就是根据修改这一计数器的值来选取下一条需要执行的字节码指令。② Java 虚拟机栈: 描述的是java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每一个方法从调用到执行完成的过程,就是对应着...原创 2019-01-02 21:41:14 · 109 阅读 · 0 评论 -
Java中的浅克隆和深克隆实现方法
背景:记得之前总结过浅克隆和深克隆之间的区别,奈何,忘了…看到JDK中clone()方法上注释可以知道这是浅克隆,那深克隆又是什么呢? 就是利用Serializable 进行序列化和反序列化得到的对象即是深克隆结果。参考文章:浅谈Java中的浅复制和深复制浅谈Java中的深克隆和浅克隆(阿里面试)...原创 2019-11-05 15:16:23 · 724 阅读 · 0 评论 -
理解Interface中default关键字
无意之间看到了一段在接口中使用default的代码,有点意思。接口之间的继承是可以继承多个的。default关键字修饰的方法就是初始化的抽象方法。或者说是一个已经实现了的抽象方法,不需要再在其他implement接口位置进行实现。比如定义了一个接口,有大量的类实现了这个接口,但是新需求来了,需要在原有的基础上添加一个方法,而使用default关键字的话就不用每个实现类都实现一次。public...原创 2019-03-15 10:16:46 · 11906 阅读 · 1 评论 -
装两个JDK需要注意的地方
装两个JDK可能会出现 更改JDK PATH路径,显示仍然是第一个JDK版本 问题。解决办法:找到目录C:\Windows\System32,将java.exe,javaw.exe,javaws.exe删除即可。原因:由于在WINDOWS\System32环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故如果只修改环境变量JAVA_HOME,jdk的版本并不会切换。原文链接:关...转载 2019-07-02 07:57:02 · 232 阅读 · 0 评论 -
HSSFWorkbook 小记
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</ar...原创 2019-07-11 13:09:26 · 134 阅读 · 0 评论 -
使用BSFManager加载JS配置文件
在一些项目中使用JS文件做配置文件。遂研究,得以下小小心得。第一步导包: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE<...原创 2019-07-12 13:40:31 · 623 阅读 · 0 评论 -
认识@Retention&&@Target&&@Document
今天看了一些注解的源码,发现这三个注解有点搞不清楚,于是想着写篇博客,加深一下印象,如果有幸能够帮到别人,那再好不过了。@Retentionpublic enum RetentionPolicy { /** * Annotations are to be discarded by the compiler. */ SOURCE, //(会被编译器丢弃) ...原创 2018-10-17 21:19:16 · 157 阅读 · 0 评论