Java
基于java原生api,数据结构,理论等分析
瓦力-plus
(我的个人博客站点:http://yxw-s98.top/)闲暇时间维护个人博客
展开
-
基于AQS的Reentrant Lock 等待唤醒源码分析
上一次我们对Reentrant Lock的加解锁的源码进行了解析,对背后的实现原理有了相应的了解,但具体还有很多原创 2020-08-10 16:43:11 · 310 阅读 · 0 评论 -
基于AQS的Reentrant Lock 加解锁过程源码分析
说到线程同步,大家最熟悉的可能就是Synchronized,反而Reentrant Lock用的很少,而Synchronized使用起来也很方便,在方法上添加关键字,在方法体内添加同步块,但是随着时间的推移,使用了Synchronized了的线程因为争抢同一个资源导致阻塞,如果在一个时间段内拿到锁的线程长时间未释放,这些线程就会一直阻塞下去,于是Reentrant Lock出现了JDK从1.5版本就提供了可扩展的Lock类,Reentrant Lock实现Lock类,内部基于AQS机制扩展了公平锁F.原创 2020-08-10 16:42:28 · 265 阅读 · 0 评论 -
关于String类为何用final修饰的理解
关于final,我们知道,它可以修饰类,方法,变量。修饰类的时候:对象地址不可变。不可继承,也就不存在子类,类方法默认为final修饰方法的时候:方法不可被重写。但可以继承修饰变量的时候:变量不可重新赋值。由jdk源码可得知,String类内部维护了一个私有的char数组以及一个int类型的hash值,很巧的是,这个数组也是由final修饰的。private+final,防止我...原创 2019-09-16 17:34:16 · 772 阅读 · 0 评论 -
spring-boot编译问题:XXXX not exists
记录一次项目中的编译问题,项目结构如下:win-apiwin-utilwin-bizwin-web其中api为公共接口。biz为api的实现,服务提供者。web是controller,服务消费层在项目中。为了方便。我在web中引入了biz中的DO。本地运行是没问题的。但是使用maven编译就会有问题。抛出DO not exists异常。我的biz,和web都是打的jar包。其中作...原创 2019-08-28 17:03:33 · 371 阅读 · 0 评论 -
服务注册与发现-Eureka集群模式
服务注册与发现-Eureka单机模式进入代码:进入代码:把上一次单机模式的代码拉过来1.修改application.yml文件spring: application: micro-service-discover-eureka-ha profiles: active: server2---spring: profiles: server1server: por...原创 2019-05-29 13:19:25 · 800 阅读 · 0 评论 -
服务注册与发现-Eureka单机模式
服务注册与发现-Eureka单机模式Eureka组件说明eureka包含两大组件.分别是Eureka Server和Eureka Client,它们的作用如下:进入代码关于Eureka的自我保护机制Eureka组件说明eureka包含两大组件.分别是Eureka Server和Eureka Client,它们的作用如下:1.Eureka提供服务发现的能力.各个微服务启动的时候.会想Eurek...原创 2019-05-28 13:32:55 · 197 阅读 · 0 评论 -
spring-boot集成WebSocket初体验
本次使用的spring-boot版本: 2.1.1.RELEASE,后续其他文章皆基于此版本.首先.要使用webSocket.需要构建终端服务.因为我们是使用spring-boot的内置容器.所以直接使用默认的ServerEndPointExporter即可@Configurationpublic class SytemConfig { @Bean public Se...原创 2019-01-10 11:09:29 · 356 阅读 · 0 评论 -
关于nul强制转换的问题
前言:今天在研究shiro的时候发现一个这么一个写法,如下图所示:这是一个SimpleAccountRealm里面的两个方法.下面的addAccount重载于上面的addAccount method,在第一个addAccount方法中,我第一眼看上去感觉很奇怪.为什么这个第三个参数要强转一遍????这样强转不会出现NullPointerException???介绍一下源码版本.sh...原创 2018-12-25 14:25:51 · 276 阅读 · 0 评论 -
关于spring-boot引入devtools热部署插件带来的classCastException问题记录
项目中使用的是spring-boot整合shiro.为了开发方便.我私自引入了devtools热部署插件.结果在通过session.getAttributor的过程中.发生了classCastException.很奇怪.取出session缓存的数据.我是很清楚这个数据类型的.不可能会发生转化错误.那么就只有我新加的devtools插件导致出现的这个问题了.网上也有人提出来了.原文来自:http...转载 2018-11-29 15:19:14 · 2317 阅读 · 0 评论 -
利用泛型封装通用的service层
身为一名开发人员,大家都知道,我们经常会在项目中大量的编写许多重复的代码,比如说public Entity find(String id);像这种代码,简单,但是写多了,可能也会容易出错,那么我们能不能直接编写一套完整的,通用的方法呢,这样既不用重复编写,还不用出错,说道通用的方法,泛型是个不错的选择.基础架构:spring-boot+spring mvc+spring jpa.jpa是个好东西,...原创 2018-06-22 15:23:42 · 11032 阅读 · 0 评论 -
使用jxl,poi方式创建/解析Excel文件
前几天公司的网站有了新的需求,需要将数据一键导出到Excel文件,或直接将Excel中的数据直接插入到数据库,查阅可一天的api文档和百度.也算有了一点小经验,分享出来给大家看看.有什么错误可以评论指出.本次实验了jxl和POI两种方式解析,感觉各有千秋.试验中使用的jar包以及工具包都在我的百度云中,各位自行下载即可 点击打开链接一、jxlJxl是纯javaAPI,在跨平原创 2017-07-17 13:37:52 · 881 阅读 · 0 评论 -
java创建QRCode二维码的三种方式
自己在网上看视频学习了下如何使用java创建二维码,感觉还是挺有趣的,有小心思的还可以把秘密存入二维码中噢视频源网址:http://www.imooc.com/learn/531点击下载jar包二维码的类别二维码依据码制的编码原理,通常分为三种:线性堆叠式二维码、矩阵式二维码、邮政码。线性堆叠式二维码:建立在一维条码基础上,按需要转载 2017-07-20 11:06:25 · 2731 阅读 · 0 评论