自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

戴怀财

专注于java

  • 博客(21)
  • 收藏
  • 关注

原创 CAS机制的原理到底是什么?

CAS说起CAS,这当然有的小伙伴可能学过开源项目CAS单点登录的实现。这可不是那个CAS,这里说的是CAS机制。CAS有三个值 原始地址V值 旧的预期值A 新的值BCAS是乐观锁原理实现的。比如要给一个属性+1操作 假设V值是10这个时候线程1 登场了 ,首先他会先存一个旧的预期值A 也就是10 。然后计算一个新值B =A+1=11。这个时候有一个坏蛋线程2,...

2019-03-03 20:30:00 1846

原创 中断线程小demo

private static void test2() throws InterruptedException { Thread thread=new Thread(()->{ while (true){ //中断信号 isInterrupted是不会被清除 3. if (Thread.currentThread().isInterrupted()) { Sy.

2021-12-12 19:36:33 302

原创 java实现自定义类加载器

自定义类加载器1. 先定义一个类/** * 测试类加载器 */public class TestClassLoader { public String key = "123456";}编译成.class文件 放到电脑某个目录下 我这里是放到e盘3.` 自定义一个类加载器public class MyClassLoader extends ClassLoader {private String clspath=“E:/”;@Overrideprotected C

2021-12-05 16:48:58 328

原创 java实现手动模拟并发测试案例

restful接口模拟并发请求测试 支持导出测试结果到excel http请求 和导出excel用了hutool工具类 5.*版本效果:1.顶层的接口public interface RequestService { /** * 返回测试结果 * @param requestVo * @return */ List<ResponseVo> doRequest(RequestVo requestVo); ..

2020-09-09 18:19:00 418

原创 spring 事件驱动编程案例 (基于线程池实现异步执行事件)

1.本例子 基于 “张三” 考上清华了 ,非常高兴 要分别通过 邮件 和短信 等不同的方式 通知到家长为背景。2.首先 是 创建个 事件类/** * 通知事件的载体,以Student作为 事件的内容 */public class StudentStatusUpdateEvent extends ApplicationEvent { public StudentStatusUpdateEvent(Student source) { super(source); ..

2020-08-21 15:34:53 590

原创 动态的导出excel ?正确姿势应该是这样的。。。。

1.思考:如果有这么一个导出excel的需求 表头不确定,每个表头对应的数据不确定 你会怎么做? 2.实现: 我这里是使用了excel模板,在excel中添加表达式的方式 。有点类似于jsp中的el表达式 。 3.所需要的依赖<dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <ve...

2020-08-14 10:29:05 769

原创 记一次java写爬虫 ------- (爬取小米应用商店的所有应用)

准备工作:1.需要加入js插件phantomjs-2.1.1-windows 放到对应的磁盘位置2.依赖<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.5.2</version></dependency>import.

2020-08-13 16:36:26 651

原创 扒一扒阻塞队列的实现

1.主要结构 一个用于存放元素的数组两个Condition 用于阻塞 唤醒 线程2.代码public class MyBelokingQueue<E> implements Serializable{//用于存放元素的数组Object[] item;/** 下一个put的索引, offer, or add */int putIndex;/** 队列中元素的数量 */int count;/**下一个获取元素的下标**/int takeInde..

2020-07-31 14:39:17 109

原创 一个简单的聊天室案例(基于netty+websocket)

1.------------------------webSocketServer 主要是用于启动netty服务------------------/** * 启动WebSocketServer */@Componentpublic final class WebSocketServer { static final boolean SSL = System.getProperty("ssl") != null; public void start(Integer port

2020-07-29 18:32:46 353

原创 手写http? (基于nio Selector多路复用 Reactor模式 高仿netty 实现)

服务端 整体流程(这里是把Reactor线程给独立拆分成一个类) 0.启动main方法 1.main 方法 启动 添加 mainReactor(连接事件) 和 subReactor(读事件)到数组 2.initAndRegister()初始化方法 打开一个通道 绑定到Selector 上并绑定感兴趣事件accept 3.从mainReactorThreads数组中拿出一个ReactorThread去执行建立连接 4.调用拿出来的 ReactorThread的start方法...

2020-07-23 16:06:04 286 1

原创 恕我直言,学不好java那是你不懂生活。。。

技术来源于生活,是用来创造更便利的生活。我说这句话没毛病吧!1.何谓面相对象你去面试 ,你面试的公司都有招聘要求吧,例如要求5年经验,大厂经历…等等这些招聘需求你可以把他们想象成一个类。而你去面试,那不就是去new 一个符合他们要求的类嘛。2.啥是aop讲大话是面相切面编程。或者你可以这么理解,你去面试,跟你一起面试的很多,而且都是不同的岗位,有面运营的,有面产品的。。。但是不管面啥的都得做一件事,那就是得填写简历。按照之前的做法是运营的,由运营面试官给你发简历,产品由产品面试官给你发。但是公司觉得

2020-07-21 00:25:26 307

原创 吐血整理!!并发编程面试题绝命30问,(大白话版的)。。。。。

面试题有很多 ,尤其是并发编程这一块。但是很多都写的比较趋于专业。对于不理解的人来说靠死记硬背这些面试题实在是过于苦涩,而且不能转化成自己的话语,在回答面试官的时候 有经验的面试官一眼就能看出是背的 。针对这个问题,我以我的最近对并发编程的学习, 总结了一些关于并发编程的面试题,并且尽量转化成大白话版的。以便于更好的去理解,希望能帮助到大家。一.请谈一下你对volatile的理解?这个主要是往3个方面来谈;1.1 谈一谈volatile 的特性volatile 主要是实现了 可见性,禁止指令重..

2020-07-08 17:35:43 3082 3

原创 oauth2.0各组件讲解

1.AuthorizationServerConfigurerAdapter:类这个类实现了AuthorizationServerConfigurer 我们在搭建auth服务的时候需要写一个配置类 继承这个类 并重写这三个方法 (要加上@EnableAuthorizationServer注解才能生效)接下来 一一介绍里边的组件Client相关配置ClientDetailsServiceConfigurer: 用来配置客户端详情服务(ClientDetailsService),客户端详情信息在这里进行

2020-07-08 09:46:17 1067

原创 程序员即将面试?除了刷面试题,你应该看看这篇文章。。。。。

**也许你是刚进入IT行业的转行者 ,或者是你是应届的毕业生,又或者是你已经在这个IT行业已经有过几年的工作经验,想换一加公司。此刻的你无论是哪种类型的IT人 ,你是一个打算即将去面试的人。在这里咱们就聊聊面试前, 或者面试中 。应该怎么样去准备,应该怎么样去应对面试官。 **1.关于心态** 这个面试紧张这件事, 很多人或多或少的都会有。有的是因为自己天生的性格原因, 比较内向。建议有这情况的朋友可以切换一个角度 去激发自己的潜能和自信。你可能再一定领域里有...

2020-06-21 10:18:36 2374 2

原创 看完这篇文章,你就知道该不该转行去IT了

全面分析该不该转行IT随着互联网的发展繁荣和IT行业那诱人的高工资。越来越多的人开始跃跃欲试,打算转行去做IT。每天做在办公室敲敲代码改改bug轻轻松松月薪过万,致使各行各业的人纷纷想进入这个行业。最近我的很多朋友也跑过来问我 ,我现在转行IT可以吗?零基础能不能学会?真的能月薪过万吗?等等…诸多问题。这里我整理了一下 这些问题 。从多角度客观分析一下,分析一下该不该转行IT,以及如果要转行该从哪些方面入手。1年龄如果你要考虑转行做IT, 首先要考虑年龄因素。毕竟IT行业有个说法 35岁是个门槛。随然

2020-06-18 08:11:28 3167 6

原创 漏斗限流简单实现

/**漏斗限流算法@author dhc@date 2020/5/22*/public class FunnelRateLimiter {private Map<String, Funnel> funnelMap = new ConcurrentHashMap<>();/**假设 设定漏斗的容量为5 限定每30秒 能访问5次 超过5次 就失败@param args@throws InterruptedException/publ

2020-05-23 11:45:23 644

原创 springboot+idea 响应乱码问题解决

最近在搭建springboot项目时 遇到一个问题,响应的数据是乱码的 。以下是我的解决方案,希望对大家有所帮助。 1.修改默认StringHttpMessageConverter配置 @Api("MistraController") @RestController@RequestMapping(value = "/mistra")public class MistraController {@ApiOperation("启动测试")@GetMapping(value = "/test")

2020-05-23 11:39:50 1128

原创 多对多解析

多对多查表选课分析首先,要明白表与表之间的关系.多对多之间的关系.其次,创建表,student 表 zhongjian表 和 kecheng表…创建表完成之后,开始创建实体类.创建student 实体类.实体类中除了要有sid sname 字段之外 还要加一个 List 集合类型的字段属性,(用于根据学生的sid 查询到的课程表的集合.)并且都赋予其 getter setter...

2019-03-04 20:20:44 430

原创 Aop实现日志处理

前言: 我们在这里做一个登录日志的demo 每次登录时记录是谁登录的 登录的ip时间等等1.自定义注解package com.aisile.crowd_funding.common.annotion;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang....

2018-12-30 07:51:25 819

原创 select2实现

1.引入配置//html层代码 关联品牌 3.angluarjs业务层this.findBrandList=function () {return $http.get("…/...

2018-12-29 21:29:09 333

原创 shiro实现登录验证

思路:客户端传递用户名和密码到控制层,控制层接收到用户名和密码之后交给一个UsernamePasswordToken对象进行处理,并且用MD5对密码进行加密处理(我们这里是封装了个MD5Utils). 创建一个subject对象(subject 可以理解为用户)。调用subject类的login 方法 把UsernamePasswordTken对象交给securityManager 管理我的...

2018-12-29 21:11:19 577

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除