java
八也子
这个作者很懒,什么都没留下…
展开
-
Java直接内存回收
jvm 直接内存 回收原创 2022-12-09 14:25:45 · 882 阅读 · 1 评论 -
苹果 服务通知 V2
苹果 服务通知 v2原创 2021-12-14 11:33:50 · 10115 阅读 · 20 评论 -
java8 time包(今天、本周、本月 时间范围)
今天LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN); LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX); Date begin = Date.from(todayStart.atZone(ZoneId.systemDefault()).toInstant())原创 2021-09-14 10:19:38 · 253 阅读 · 0 评论 -
ubuntu20上编译openjdk8
记录下在ubuntu20下编译openjdk8时遇到的问题。内核信息:Linux yy-virtual-machine 5.4.0-53-generic #59-Ubuntu SMP Wed Oct 21 09:38:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux相关执行脚本bash ./configure --with-target-bits=64 --with-boot-jdk=/your/boot/jdk/path --with-debug-level原创 2020-11-30 11:17:44 · 923 阅读 · 0 评论 -
mysql timestamp比较查询遇到的坑
记得之前京东要求mysql建表的时候要求update_time 为timestamp,create_time为datetime。后来阿里的编码规范里要求两者都要是datetime类型的。 对于timestamp和datetime的区别好多地方都有介绍。有时在想为什么京东会要求update_time必须timestamp呢?难道是因为占用的空间少点?还是只有timestamp才能设置默认值(on update current_timestamp)?默认值datetime不是也可以设置么。后来百度了下原创 2020-11-13 15:58:28 · 1842 阅读 · 2 评论 -
链表翻转
1、单链表翻转2、两两一组翻转3、k个一组翻转原创 2020-10-16 10:12:24 · 137 阅读 · 1 评论 -
java泛型面试
java泛型泛型本质泛型擦除获取泛型信息泛型本质本质就是语法糖,语法糖就是编译期间发生的,编译之后就没了踪迹。像c++有模板类,java的泛型也达到了类似的效果,但是他们实现的本质是不一样的。因为java有泛型擦除,编译之后就没了相关信息,比如List 和List 是一样的类型,都是List。在c++里就不一样了,对应两个不同的类(如果有叫List的模板类)。泛型擦除既然java语言增加了...原创 2019-12-13 09:24:30 · 196 阅读 · 0 评论 -
jdbc 驱动加载(SPI)
在进行业务逻辑开发过程中,和数据库的交互基本都会使用数据库连接池(c3p0,druid等),上层再加上各种框架(hibernate或者mybatis等),对于底层几乎透明。如果让我们手动连接数据库也很简单一句话就可以解决Connection coon = DriverManager.getConnection(“url”,“username”,“password”),获取到coon就可以执行增...原创 2018-08-02 16:44:43 · 398 阅读 · 0 评论 -
java Condition 等待通知
j.u.c包的Lock实现了synchronized同步的功能,同样await()和signal()实现了wait()和notiffy()一样的等待、通知的功能。一个简单的等待、通知流程(我们让thread1先执行) 说说锁的状态怎么变化的。 第一步:thread1获取到锁,state 0->1 (thread2因为获取不到锁会被阻塞) 第二步:调用await()方法线程会释放...原创 2018-07-05 14:49:32 · 226 阅读 · 0 评论 -
理解java new关键字
new关键字在java里用的算是很频繁的了,在程序员角度来看,new就是给我们生成了一个对象,所以java程序员不差对象。我们还是有必要理解的深点,到底是什么个回事。 首先new关键字被编译之后会生成四条字节码指令:new、dup、invokespecial、astore。new底层逻辑比较复杂,主要的功能就是开辟一块空间给这个对象。dup就是把这个对象的空间地址复制一个,因为invok...原创 2018-04-20 18:40:53 · 2261 阅读 · 0 评论 -
java反序列化
之前介绍过java内置的序列化,今天总结下java的反序列化,主要介绍一点吧,它是怎么跳过构造函数生成对象的,当然跳过不是故意的,因为它本身实现就没依赖构造函数。比如我们定义了一个private的构造函数的bean,它序列化后的数据仍然可以反序列化出来。总之吧,反序列化不会触发构造函数的逻辑。 反序列化时调用链: objectInputStream.readObject()-> ...原创 2018-04-13 14:53:22 · 1461 阅读 · 1 评论 -
ubuntu14 编译openjdk7源码
product版本的jdk调试的时候很多信息是看不到的,而有时候想看看底层的逻辑必须得跟代码,所以只能自己编译源码使用自己的jdk去查找原因。编译过程中遇到了一些坑,很多都是别人踩过的,这里总结下。 系统:ubuntu14 , 编译jdk版本 hotspot1.7 ,源码 openjdk7 通过https://zhuanlan.zhihu.com/p/23478436 基本可以做好...原创 2018-04-12 14:14:00 · 348 阅读 · 0 评论 -
Java栈
Java的栈是在方法调用过程中生成的,就单个方法栈而言结构分为:局部变量、固定栈帧、操作数栈。比如方法method1()调用了方法method2(),它们的栈在内存上连续分配,等method2()执行完(遇到ireturn指令)method2()的堆栈就会被自动回收了,method1()和method2()还有堆栈重叠的部分,后续结合图来介绍。单个方法的栈是有大小的,在jvm分配方法栈的时候是根据编原创 2018-04-10 15:26:08 · 230 阅读 · 0 评论 -
J.U.C包简介
本文主要是在拜读了《java并发编程的艺术》之后的一个总结,对相关重点进行结构性的梳理。这本书写的还是相当赞的,还是比较符合个人的思维方式。《java并发编程实战》阅读起来还是相对晦涩些,建议读者先看《java并发编程的艺术》,再啃《java并发编程实战》这本书,并没有变低或者抬高谁的意思。some words juc包是jdk1.5之后引入的,并且是以api的方式,是一个叫Doug Le的大神写原创 2017-06-14 18:51:30 · 718 阅读 · 0 评论