
JAVA
文章平均质量分 60
执霜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
生产者/消费者模式实现
期望效果:生产者存入元素,消费者取出元素,队列容量为 5;② 队列,生产者向队列中添加,消费者从队列中阻塞获取。① 一个生产者,一个或多个消费者。原创 2022-10-17 23:46:03 · 356 阅读 · 1 评论 -
多线程累加计数
基本思路: static 类型的变量用于累加,每个线程执行 1000 次循环。需求说明 : 5 个线程累加求和至 5000,然后输出累加结果。实在无话可说,不知道这样算不算摆烂;原创 2022-10-16 22:48:54 · 635 阅读 · 0 评论 -
多线程轮流打印 ABC
写作初衷:网上多线程轮流打印 ABC 的例子已经很多了,但不是自己的逻辑沉淀不出知识。最近考虑通过实现,多线程累加求和,简单总结下并发相关的知识点。原创 2022-10-16 00:15:48 · 611 阅读 · 0 评论 -
HashSet 保证元素不重复?
起因:在总结 HashSet 相关知识点的时候,发现有些内容网上说不通,然后通过 debug + 分析源码,找到自己的理解前置知识点:① HashSet 和 HashMap 的关系:HashSet 实现 Set接口,内部含有 HashMap 类型的属性 map添加元素为 add(), 会调用 map.put(),由于 set 是单元素的,所以会有一个 Object 类型的 PRESENT 属性用来占位。原创 2022-10-11 22:20:45 · 766 阅读 · 0 评论 -
JMH-并发包分析
汪文君目的:复现书中使用 JMH 代码微基准测试工具基测试常见的并发包和集合类的过程,对并发性能问题做初步了解内容:① 了解 JMH :ArrayList 和 LinkedList 的测试对比② 常见并发包测试。原创 2022-09-25 23:04:22 · 444 阅读 · 0 评论 -
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
0. 题目描述 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 2. 解题思路分析 如何计算每个数对应的 1 的个数 位运算核心代码 for(int i = 0; i <= n; i++){ int t = i; while(t > 0){ ans[i] += t & 1; t = t >> 1; } } 注意:这里不能用 i 直接位移,因为每次i都会右移到0,相当于是循环每次都从0开始原创 2022-01-06 21:58:14 · 284 阅读 · 0 评论 -
剑指Offer II 002. 二进制加法
0. 题目描述 剑指 Offer II 002. 二进制加法 2. 题目分析 核心逻辑:位运算,带进位相加 涉及的关键点: ① 位操作,字符串转化为 char 类型 ② 进位,每次位运算后的进位,最后一次进位 ③ 字符串长度不一致 是否考虑溢出: 104 也即 1024 ,数值范围小于 216 ,个人认为不用考虑 3. 测试用例分析 简单例子 补充注意点: ① 关于String 索引 index 范围的测试 ② 关于 StringBuffer 中 append(int i) 参数类型测试 ③ 关于原创 2022-01-06 21:12:59 · 317 阅读 · 0 评论 -
剑指 OfferII 001. 整数除法
0. 题目描述 剑指 Offer II 001.整数除法 题目描述:整数相除,结果取整(舍弃小数位) 题目要求:不得使用 *,/,% 约束条件:[ -231 , 231 -1],若除法结果溢出,返回 231 -1 1. 内容说明 以下四种题解来源于 简单易懂Java/C++ /Python/js/go - 整数除法(剑指) 未看解答前本人在尝试位运算思路时,在处理移位除数2时就不知道怎么处理了,后来看解答了解思路后,深入了解了边界问题 2. 解法一:减法代替除法 版本① :a , b 取原创 2022-01-05 23:10:05 · 459 阅读 · 0 评论 -
java int 类型溢出?
0. 前言 问题来源: 疑问:奇数-偶数 != 0 ,但程序为什么可以无限次循环,会不会溢出? 1. 测试代码 public class Test { public static void main(String args[]) { int m = Integer.MAX_VALUE; int n = Integer.MIN_VALUE; System.out.println(m);//2147483647 System.out.原创 2022-01-05 21:19:07 · 457 阅读 · 0 评论 -
JMV j = j++ 基于栈的解释器执行过程分析
0. 前言 问题来源: 疑问:中间变量缓存机制? 深入理解Java中间变量的缓存机制 看到这位大佬的测试用例,我简直惊呆了,于是决定自己测试一下,以便从JVM层面了解问题的根源 1. 测试用例: public class Test02 { public static void main(String[] args) { int i = 8; i++; System.out.println(i); int j = 8;原创 2022-01-03 17:30:47 · 286 阅读 · 0 评论 -
黑马程序员 tomcat 解决端口占用问题
视频地址:tomcat 启动报错 解决端口占用的问题: 暴力:找到占用的端口号,并找到对应的进程,杀死该进程 ① 输入命令:netstat -ano ② 根据本地地址中的端口号查找对应的进程 PID,例如 tomcat 8080端口当前进程的 PID 是 5488 ③ 启动任务管理器查看进程 ④ 根据PID找到相应进程并结束该进程 温柔:修改自身的端口号 ① 定位到 conf/server.xml文件 ② 搜索Connector修改其中的 port 补充:一般将 tomcat的默认端口号修原创 2021-12-07 21:22:54 · 3236 阅读 · 0 评论 -
尚硅谷 JVM 获取反编译后的字节码指令文件
Intellij IDE获取反编译后的字节码文件 参考:java 如何反编译 对.class文件执行 javap后并未变为.java文件,而是生成方便理解的字节码文件 参考:尚硅谷 JVM p13 javap 参考:尚硅谷 JVM p30 jclasslib 1. 使用javap命令 点击IDE中的terminal cd到target目录下包含对应.class的文件下 cd copypath 执行反编译指令javap -v Client.class 2. 使用 jclasslib 插件 Set原创 2021-11-29 22:16:07 · 130 阅读 · 0 评论