人浮于世,蹒跚而行 _

随笔分类 -  JavaSE

摘要:学习多线程定时器时遇到 BlockingQueue 阻塞队列,当时的认识仅限于了解其是一个并发阻塞队列,不知如何使用及其原理 1. 介绍 BlockingQueue 首先是一个队列,其次提供了阻塞功能。它看起来很像消息队列可让消息解耦,但其在生产者-消费者模型中通过阻塞又可使二者速度达到平衡。使用阻 阅读全文
posted @ 2022-05-03 11:58 Howlet 阅读(61) 评论(0) 推荐(0) 编辑
摘要:之前写 Java 定时任务 用到了 ScheduledExecutorService,自己没有思路来实现定时任务的功能,所以十分好奇其底层代码的实现,于是乎就去翻看源码,在这过程中还发现了无处不在的 Doug Lea 1. ScheduledExecutorService ScheduledExec 阅读全文
posted @ 2022-04-24 17:27 Howlet 阅读(83) 评论(0) 推荐(0) 编辑
摘要:SpringBoot 3.0 只支持 jdk 17 及以上时,恍然发现我们一直都在用 jdk 8,多了很多新特性都不曾了解 1. Java 模块系统(Modularity) 目前笔者还未接触过使用模块系统的真实项目,也没有使用经验,在学习模块系统之后粗略总结出两个作用: 增加控制能力(在包和类之上) 阅读全文
posted @ 2022-04-13 21:20 Howlet 阅读(70) 评论(0) 推荐(0) 编辑
摘要:和印度团队开了几次会扯皮,真服他们的英语口语,想着来弄个国际化试试把 1. 国际化 当产品有多语言环境的需求时,我们就需要为不同的语言提供不同的处理。前端解决了绝大多数的国际化问题,偶尔后端也需要一些国际化需求,刚好 Java 就支持这种操作 1.1 语言资源包 资源包是 properties 文件 阅读全文
posted @ 2021-11-30 23:07 Howlet 阅读(79) 评论(0) 推荐(1) 编辑
摘要:学***l-job 定时任务时了解到基于 JVM 的 Grovvy 脚本语言、搭建 Jenkins 时知道了编译API 1. Java 脚本机制 Java 的脚本 API 可以让我们调用 JavaScript、Grovvy、Ruby 等脚本语言,它避免了编译和链接环节,具有如下优势: 可快速变更, 阅读全文
posted @ 2021-11-21 19:21 Howlet 阅读(261) 评论(0) 推荐(0) 编辑
摘要:放假回来什么都不想写,加上最近在忙着看书,各种各样的书,笔记就这样落下了 1. Java启动参数 启动语法:java [-options] -jar xxx.jar [args…] Java的启动参数有运行时参数 和 JVM 参数,运行时参数就是 main 方法中的 args,而 JVM 参数是我们 阅读全文
posted @ 2021-10-10 17:54 Howlet 阅读(969) 评论(0) 推荐(0) 编辑
摘要:服务器响应指数异常,想用 JConsole 监控一下,就发现个 JMX 玩意,也就参考写一下笔记把 1. 什么是 JMX JMX(Java Management Extensions,即Java管理扩展)是一个 Java 平台的管理和监控接口,是 JavaEE内嵌的一套标准的代理和服务,也就是说只要 阅读全文
posted @ 2021-08-16 20:23 Howlet 阅读(53) 评论(0) 推荐(0) 编辑
摘要:虽然开源社区有很多优秀的日志框架,但我们学习标准的java日志框架是为了更好的理解其他框架啊(近期项目要用ELK) 看自己以前写的Log4J简直不忍直视啊啊啊啊,那时还感觉自我良好 1. 为什么要使用日志 我们都试过在代码中插入System.out.println方法来进行调试吧,当找出问题根源后就 阅读全文
posted @ 2021-07-24 23:02 Howlet 阅读(315) 评论(0) 推荐(0) 编辑
摘要:记得以前写过一篇,比这个详细,然后不见了 1.浅拷贝 浅拷贝是将对象的栈上的属性直接拷贝一份给新对象,基本类型是没有问题的,但引用类型会拷贝一个地址引用,本质使用的还是堆上的同一个对象,修改时会同时发生变化。浅拷贝需要实现 Cloneable接口,不然无法调用clone方法,返回的是Object对象 阅读全文
posted @ 2021-07-14 22:22 Howlet 阅读(71) 评论(0) 推荐(0) 编辑
摘要:分析1.7、1.8的HashMap、ConcurrentHashMap的区别 越到后面越烦躁,写不下去了,到时回来填坑把 1. 补充位运算 位运算是对2进制而言的 符号 描述 运算规则 & 与 两个都为1,结果才为1 | 或 两个都为0,结果才是0 ^ 异或 同0异1 ~ 取反 0变1,1变0 << 阅读全文
posted @ 2020-12-15 21:27 Howlet 阅读(196) 评论(0) 推荐(0) 编辑
摘要:最近看的项目使用Stream来操作集合,熟悉代码阶段就令人头大,来补课了 1. 常见的接口 我们常用Lambda来表达这些函数式接口,所以看着比较陌生,其实日常都有使用到。下面说明时会先给出源码,然后再给出使用事例 1.1 Consumer 传入参数,内部进行操作,没有返回值 @Functional 阅读全文
posted @ 2020-11-29 09:33 Howlet 阅读(131) 评论(0) 推荐(0) 编辑
摘要:在看《阿里巴巴开发手册》里面提到浮点数之间的等值判断不要用 ==,而是指定误差范围或用BigDecimal,然后才记忆起备忘录里BigDecimal还没写呢,就这篇幅写了一星期,因为实习完全没有时间啊啊啊啊啊啊啊啊 1. BigDecimal介绍 背景 我们知道计算机都是以二进制的形式存储数据的,而 阅读全文
posted @ 2020-11-22 00:27 Howlet 阅读(160) 评论(0) 推荐(0) 编辑
摘要:翻了翻堆积的笔记,有10来篇还没发布,借此机会清空把 1. 网络编程 Java中的java.net包提供了网络通信的各种实现,如果我们要使两台计算机间通过网络来交换数据,那么中间就需要有连接才可进行,而net包中Socket对象就担任连接这个的角色,net包提供了两种常见的网络协议支持: TCP:面 阅读全文
posted @ 2020-10-18 23:06 Howlet 阅读(159) 评论(0) 推荐(0) 编辑
摘要:源自笔者某次回去等通知的故事 1. jps 列出正在运行的虚拟机进程、及其pid,命令参数有: -l:输出主类全限定类名 -v:虚拟机进程启动时的JVM参数 jps -l 2. jstat 监视虚拟机各种运行状态,命令参数有: -gc:监视堆状况 -gcutil:与-gc一致,不同于显示百分比 js 阅读全文
posted @ 2020-06-04 10:34 Howlet 阅读(283) 评论(0) 推荐(0) 编辑
摘要:平时总是遇到编码问题,遇到就百度,一直不理解,现在找个时间做了下笔记,方便自己理解 1. 为什么需要编码? 我们知道计算机只能存储0和1(即高低电位传递、灯明灭),所有存储在计算机里的信息都会变成 "010010101" 这样看不懂的数字,那么问题来了,如何把 "010010101" 这样的数字转变 阅读全文
posted @ 2020-05-22 00:08 Howlet 阅读(256) 评论(0) 推荐(0) 编辑
摘要:最近Github上项目中看到了用枚举来列举错误码,听就是听过枚举,但没实际用过,所以来学习下 1. Enum Enum是一种受限制的类,编译时IDE会为enum生成一个相关的类,这个类继承自 java.lang.Enum,且具有自己的方法 1.1 先来看看Enum类源码 1.2 简单实例 1.3 简 阅读全文
posted @ 2020-05-13 11:14 Howlet 阅读(150) 评论(0) 推荐(0) 编辑
摘要:1. SPI SPI ( Service Provider Interface),是JDK提供的一种服务发现机制。可发现并自动加载在ClassPath下的jar包中META INF/services文件下以服务接口命名的文件内的全限定类名映射的类。当服务的提供者,提供了服务接口的一种实现之后,只需在 阅读全文
posted @ 2020-05-06 15:48 Howlet 阅读(200) 评论(0) 推荐(0) 编辑
摘要:笔者初看框架源码是真的头大,一大堆不懂的问题。然后一个个查资料弄懂,但这也是技能广度快速拓宽的原因,说起来也是庆幸 1. Holder 这个类在 javax.xml.ws.Holder 中,笔者在很多地方都遇到过XXXHoler类,只知道包装了我们需要的值,但不知道为什么要包装多一层。其实Holde 阅读全文
posted @ 2020-05-05 10:54 Howlet 阅读(736) 评论(0) 推荐(1) 编辑
摘要:此处是琐碎笔记,给自己一个提醒,Java要学的东西还很多 1. 条件判断退出双重循环 以前笔者如何退出双重循环呢? 利用循环条件判断,加上break、continue、return可以改变流程 java public static void main(String[] args) { // 标签的写 阅读全文
posted @ 2020-05-01 10:20 Howlet 阅读(216) 评论(0) 推荐(0) 编辑
摘要:笔者一直错在传递的理解,现在重复记下笔记,加深印象 首篇相关传递的笔记 1. Java是按值传递,即将栈中的值进行按值传递(创建副本) 2. 当一个对象实例作为参数时,参数的值是该对象的引用的一个副本,该副本指向同一个堆实例 1. 基本类型 2. String类型 3. String类型变形 4. 阅读全文
posted @ 2020-04-29 17:57 Howlet 阅读(288) 评论(0) 推荐(0) 编辑

Copyright © By Howl

点击右上角即可分享
微信分享提示