首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JAVA
我妻礼弥
创建于2021-06-11
订阅专栏
JAVA相关
暂无订阅
共24篇文章
创建于2021-06-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JVM MarkWord 与锁
未完待续~~ MarkWord 与锁 Mark Word 是对象头中一块重要的数据区域,用来给对象做一些标记以实现某些功能,大小跟 JVM 的字(位数)保持一致,在 32 位 JVM 中,Mark W
Java synchronized
[未完待续] synchronized 的三种使用方式 Synchronized 的使用方式有三种 修饰普通函数,监视器锁(monitor)便是对象实例(this) 修饰静态静态函数,监视器锁(mon
Object 可变参导致的 Java 重载失效
如上两个方法构成重载,按如下方式调用 请问调用的是哪个 lPush? 按理说,我传的是 list,应该调用的是 lPush(String key, Collection<Object> values)
Windows 配置 JAVA 环境
下载 JAVA 官网地址 下载之后安装,记得安装好后关闭自动更新 配置环境变量 配置 JAVA_HOME 变量 在系统变量中新建一个 变量,值为 JAVA 安装路径 配置 CLASSPATH 变量 在
JVM 对象的访问方式
Java 程序在运行时会通过 JVM 栈中本地变量表的 reference (引用)来操作堆上的对象。但是 reference 只是 JVM 规范中的一个指向对象的引用而已,这个引用具体如何定位到对象
JVM CompressedOops 压缩指针
普通对象指针 OOPs 普通对象指针(ordinary object pointer, OOP) 是 HotSpot 中用来指向对象实例所在内存地址的指针,大小通常与 JVM 的位数相同,在 32 位
Service Provider Interface(SPI) 思想
什么是 SPI Service Provider Interface(SPI) 直译是服务提供者接口,它里面有两个概念 Service Interface : 服务接口。有面向对象编程经验的人肯定能理
ASM
在讲 ASM 之前 你需要对 .class字节码有一个较为深刻的认识。请参考这两篇文章 通过第一篇文章,我们知道 .class字节码在jvm虚拟机中就是机器码。 我们知道java这门语言,是不支持在运行时,对一个类进行修改(比如新增一个方法)。 但ASM 可以。 ASM可以动态…
CGLib 动态代理
之前我们有讲到ASM,但它相当于是 jvm的 “汇编语言” 还是太底层,写起来很麻烦。于是有了CGLib CGLib 是一个 可以动态修改 .class字节码的工具。它基于 ASM,在ASM的基础上做了封装,屏蔽了底层细节,并向上提高一些高级的API抽象。 CGLib封装程度高…
lombok 插件
Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。 @ToString:注解在类,会为类生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。 核心之处就是对于注解的解析上。 JDK5引入了注解的同时,也…
classpath
参考 classpath和jar 其他参考 Spring 加载 resource 时 classpath: 和 classpath*: 的区别 总结在 java web 工程中,classpath 指
Logback 配置样例
这篇文章主要提供一个 xml格式的 Logback 配置文件参考,详细技术细节参考 Java 日志实现框架 Logback
自定义 Jackson 序列化反序列化器
时间类型序列化反序列化器,需要将一种类型的数据转换为时间类型,或者将时间类型的数据转换成其他类型。我们应该把这个转换操作提取出来,放到一个 时间类型转换类中,这样其他不走 Jackson 序列化反序列化的地方也可以复用转换的代码。
JDK8 新特性 @FunctionalInterface 函数式接口
该注解不是必须的,如果一个接口符合 "函数式接口" 定义,那么加不加该注解都没有影响。加上该注解能够更好地让编译器进行检查。如果编写的不是函数式接口,但是加上了 @FunctionInterface,那么编译器会报错。
ThreadPoolExecutor 线程池核心思想
让我们来设计这个工具类,并一步一步慢慢将它完善成线程池。 上面的版本最大的问题在于,每来一个 Runnable 就会创建一个新的线程,这显然是不合适的最好是能复用现有的线程。 怎么复用呢?我们可以只创建一个线程(Worker),让它处理所有任务,最大限度复用已有线程。 如果任务…
JDBC 获取 mysql 表注释
错误的获取方法 网上绝大部分文章都是使用以下方法获取 mysql 的表注释 实测根本获取不到,刚开始以为是mysql-jdbc驱动的版本导致了,实际测试之后发现,跟mysql-jdbc驱动的版本没关系
java 8 中的 ZoneOffset 与 ZoneId
一个 UTC 偏移量 仅仅只记录了时分秒而已,除此之外没有任何其他信息。举个例子 ,+08:00 的意思时超前于 UTC 八个小时,而 -05:45 意思是落后于 UTC 五小时四十五分钟 对于特定地区的人来说,时区是过去、现在以及未来的偏移量的历史集合。像夏令时会导致特定时间…
Linux 安装配置 java 环境
说明不同的Linux发行版使用的命令可能有些许不同,本文以64位的Centos7为例环境检查有些Linux发行版内置了jdk,如果版本正好是你需要的可以不用安装检查是否安装jdk查看java相关的安装
java import 导入机制
单类型导入比较好理解,仅仅导入一个public类或者接口。 查看JDK的源代码就知道SUN的软件工程师一般不会使用按需类型导入。因为使用单类型导入至少有以下两点好处: 1。提高编译速度。 2。避免命名冲突。(例如:当你import java.awt.*;import java.…
Java 8 日期处理
Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。 Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。 新API基…
下一页