摘要:在前面介绍Unsafe的文章中,简单的提到了java中的本地方法(Native Method),它可以通过JNI(Java Native Interface)调用其他语言中的函数来实现一些相对底层的功能,本文我们就来顺藤摸瓜,介绍一下jni以及它的使用。 首先回顾一下jni的主要功能,从jdk1.1 阅读全文
posted @ 2021-05-11 09:05 码农参上 阅读(348) 评论(3) 推荐(2) 编辑
摘要:前一段时间在研究juc源码的时候,发现在很多工具类中都调用了一个Unsafe类中的方法,出于好奇就想要研究一下这个类到底有什么作用,于是先查阅了一些资料,一查不要紧,很多资料中对Unsafe的态度都是这样的画风: 其实看到这些说法也没什么意外,毕竟Unsafe这个词直译过来就是“不安全的”,从名字里 阅读全文
posted @ 2021-04-30 09:30 码农参上 阅读(246) 评论(0) 推荐(0) 编辑
摘要:在单体架构下,我们大多使用的是单体数据库,通过数据库的ACID特性支持,实现了本地事务。但是在微服务架构下复杂的业务关系中,分布式事务是不可避免的问题之一。Seata是Spring Cloud Alibaba分布式事务解决方案中间件,解决了微服务场景下面临的分布式事务问题。本文介绍如何通过搭建Sea 阅读全文
posted @ 2021-04-21 09:09 码农参上 阅读(163) 评论(0) 推荐(1) 编辑
摘要:朴素贝叶斯(Naive Bayesian)是一种基于贝叶斯定理和特征条件独立假设的分类方法,它是基于概率论的一种有监督学习方法,被广泛应用于自然语言处理,并在机器学习领域中占据了非常重要的地位。在之前做过的一个项目中,就用到了朴素贝叶斯分类器,将它应用于情感词的分析处理,并取得了不错的效果,本文我们 阅读全文
posted @ 2021-04-19 09:22 码农参上 阅读(237) 评论(0) 推荐(2) 编辑
摘要:我们知道,在java中提供了两类锁的实现,一种是在jvm层级上实现的synchrinized隐式锁,另一类是jdk在代码层级实现的,juc包下的Lock显示锁,而提到Lock就不得不提一下它的核心队列同步器(AQS)了,它的全称是AbstractQueuedSynchronizer,是用来构建锁或者 阅读全文
posted @ 2021-04-13 09:09 码农参上 阅读(266) 评论(0) 推荐(0) 编辑
摘要:在图文详解Java对象内存布局这篇文章中,在研究对象头时我们了解了synchronized锁升级的过程,由于篇幅有限,对锁升级的过程介绍的比较简略,本文在上一篇的基础上,来详细研究一下锁升级的过程以及各个状态下锁的原理。本文结构如下: 1 无锁 在上一篇文章中,我们提到过 jvm会有4秒的偏向锁开启 阅读全文
posted @ 2021-04-12 09:33 码农参上 阅读(474) 评论(0) 推荐(2) 编辑
摘要:有时在工作中,我们需要将大量的数据持久化到数据库中,如果数据量很大的话直接插入的执行速度非常慢,并且由于插入操作也没有太多能够进行sql优化的地方,所以只能从程序代码的角度进行优化。所以本文将尝试使用几种不同方式对插入操作进行优化,看看如何能够最大程度的缩短SQL执行时间。 以插入1000条数据为例 阅读全文
posted @ 2021-04-07 09:02 码农参上 阅读(57) 评论(0) 推荐(0) 编辑
摘要:作为一名Java程序员,我们在日常工作中使用这款面向对象的编程语言时,做的最频繁的操作大概就是去创建一个个的对象了。对象的创建方式虽然有很多,可以通过new、反射、clone、反序列化等不同方式来创建,但最终使用时对象都要被放到内存中,那么你知道在内存中的java对象是由哪些部分组成、又是怎么存储的 阅读全文
posted @ 2021-04-03 09:03 码农参上 阅读(188) 评论(0) 推荐(1) 编辑
摘要:在Spring中我们经常会使用到拦截器,在登录验证、日志记录、性能监控等场景中,通过使用拦截器允许我们在不改动业务代码的情况下,执行拦截器的方法来增强现有的逻辑。在mybatis中,同样也有这样的业务场景,有时候需要我们在不侵入原有业务代码的情况下拦截sql,执行特定的某些逻辑。那么这个过程应该怎么 阅读全文
posted @ 2021-03-31 08:56 码农参上 阅读(17) 评论(0) 推荐(1) 编辑
摘要:在Redis中有5种基本数据类型,分别是String, List, Hash, Set, Zset。除此之外,Redis中还有一些实用性很高的扩展数据类型,下面来介绍一下这些扩展数据类型以及它们的使用场景。 Geo GEO在Redis 3.2版本后被添加,可以说是针对LBS(Location-Bas 阅读全文
posted @ 2021-03-30 09:24 码农参上 阅读(21) 评论(0) 推荐(0) 编辑