自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 资源 (1)
  • 收藏
  • 关注

原创 hive3

hive3

2022-11-14 17:33:10 416

原创 Hadoop

hadoop

2022-11-14 15:57:00 282

原创 大数据 为什么用

大数据 从为什么开始

2022-11-04 13:48:38 719

原创 Netty编码和解码

Netty编码和解码

2022-08-18 19:57:17 700

原创 Netty再学习1

Netty再学习1

2022-08-17 23:20:22 343

原创 netty快速入门

netty快速入门

2022-08-14 15:44:58 264

原创 插入排序与希尔排序

插入排序与希尔排序

2022-08-05 00:14:52 175

原创 Comparable+冒泡+选择

Comparable+冒泡+选择

2022-08-03 23:12:54 155

原创 Netty 入门

netty入门

2022-07-23 09:57:02 160

原创 Java爬虫

java HttpClient 爬虫

2022-07-19 09:40:47 568

原创 ByteBuffer和Files和Paths

ByteBuffer和Files和Paths

2022-06-29 22:48:50 402

原创 NIO剖析

nio

2022-06-25 23:09:36 170

原创 uniapp基本使用

uniapp

2022-06-25 14:32:33 2099

原创 BIO剖析

bio

2022-06-24 22:33:56 318

原创 I/O模型和BIO

I/O模型和BIO

2022-06-23 00:10:50 390

原创 Bean的生命周期+模版设计模式

模版设计模式

2022-06-12 08:40:42 185

原创 @Slf4j

@Slf4j

2022-06-11 21:38:18 201

原创 servlet快速实战

servlet快速实战

2022-06-10 01:59:29 311

原创 BeanFactory与ApplicationContext

BeanFactory与ApplicationContext

2022-06-09 01:19:58 684

原创 string系统函数+时间日期+内置函数+数组+切片

string系统函数+时间日期+内置函数+数组+切片

2022-06-05 16:33:22 212

原创 运算符+流程控制+包+函数

运算符+流程控制+包+函数

2022-06-04 21:38:40 321

原创 go之变量和数据类型

go之变量和数据类型

2022-06-04 00:48:36 801

原创 pd之数据模型

数据模型数据模型权限数据模型介绍导入表结构pd_common_login_log表pd_common_opt_log表pd_auth_menu表pd_auth_resource表pd_auth_role表pd_auth_user表pd_core_station表pd_core_org表pd_auth_user_role表pd_auth_role_org表pd_auth_role_authority表导入实体类认证和鉴权流程认证流程鉴权流程数据模型权限数据模型介绍在项目中要进行权限控制,需要有一套权限相

2022-05-31 07:19:39 958

原创 log+jwt+user+common+j2cache

log+jwt+user+common+j2cachepd-tools-loglogbacklogback介绍logback层级logback日志输出等级logback初始化步骤logback入门案例案例一案例二Spring EventSpring Event介绍Spring Event入门案例pd-tools-log使用pd-tools-jwt认证机制介绍HTTP Basic AuthCookie-Session AuthOAuth10.1.4 Token AuthJWTJWT介绍JWT的数据结构JWT头

2022-05-29 23:23:52 914

原创 项目搭建+swagger2+dozer+validator+xss

这里写目录标题项目搭建pd-tools-swagger2pd-tools-dozerpd-tools-validatorpd-tools-xsspd-tools-logpd-tools-jwtpd-tools-userpd-tools-corepd-tools-commonpd-tools-databasepd-tools-j2cache数据模型认证和鉴权流程项目搭建pd-tools-swagger2pd-tools-dozerpd-tools-validatorpd-tools-xsspd-t

2022-05-29 11:56:15 6881

原创 项目介绍和Spring Boot starter使用

品达通用权限系统项目概述项目介绍业务架构技术架构技术要求Spring Boot starterstarter介绍stater原理起步依赖自动配置基于java代码的Bean的配置自动配置条件依赖Bean 的参数获取Bean的发现Bean 的加载自动配置总结自定义staterlombok项目搭建pd-tools-swagger2pd-tools-dozerpd-tools-validatorpd-tools-xsspd-tools-logpd-tools-jwtpd-tools-userpd-tools-cor

2022-05-27 21:34:39 355

原创 LockSupport

AQSLockSupportLockSupport是什么线程等待唤醒机制(wait/notify)三种让线程等待和唤醒的方法Object类中的wait和notify方法实现线程等待和唤醒代码Condition接口中的await和signal方法实现线程的等待和唤醒传统的synchronized和lock实现等待唤醒通知的约束LockSupport类中的park等待和唤醒是什么方法demo重要说明LockSupportLockSupport是什么java.util.concurrent.locks下的一

2022-05-25 19:28:54 170

原创 intern()和两数之和

Java基础面试题intern()两数之和暴力破解算法优化intern()/* 两个String类型,默认比较的是内存地址 intern() 如果字符串池中存在,则直接取,否则,创建一个新的对象,放入池中 */ String str1 = new StringBuilder("58").append("tongcheng").toString(); System.out.println(str1); Sys

2022-05-25 17:55:12 124

原创 线程池与死锁定位分析

线程池为什么使用线程池?优势为什么使用线程池?优势查看本机的cpu核数:Runtime.getRuntime().availableProcessors()、线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后再线程创建后启动这些任务,如果线程数量超过了最大数量 超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行他的主要特点:线程复用;控制最大并发数;管理线程。第一:降低资源消耗。通过复用利用已创建的线程降低线程创建和销毁造成的消耗第二:提高响应速度。当任

2022-05-25 13:08:45 733

原创 线程之阻塞队列

阻塞队列synchronized与lock的区别队列+阻塞队列为什么用?有什么好处?架构梳理+种类分析BlockingQueue的核心方法?SynchronousQueue用在哪里生产者消费者模型lock版阻塞队列版线程池消息中间件synchronized与lock的区别原始构成synchronized是关键字属于jvm层面monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象只有在同步块或方法中才能进行调用wait/noti

2022-05-23 11:01:29 345

原创 CountDownLatch/CyclicBarrier/Semaphore

CountDownLatch/CyclicBarrier/SemaphoreCountDownLatchCyclicBarrierSemaphoreCountDownLatch火箭倒计时让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。其他线程调用CountDown方法会将计数器减1(调用CountDown方法的线程不会阻塞),当计数器的值变为零时,因调用await方法被阻塞的线程会被唤醒,继续

2022-05-22 14:24:03 102

原创 公平锁/非公平锁/可重入锁/独占锁/共享锁/自旋锁

@TOC公平锁/非公平锁是什么公平锁 是指多个线程按照申请锁的顺序来获取锁,类似于排队打饭,先来后到非公平锁 是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁,在高并发的情况下,有可能会造成优先级反转或饥饿现象两者区别公平锁/非公平锁并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或非公平锁,默认是非公平锁二者区别公平锁:安装FIFO的规则从队列中取到自己非公平锁:上来就直接尝试占有锁,如果

2022-05-22 01:17:32 277

原创 集合不安全

集合不安全ArrayListHashSetHashMapArrayListArrayList线程不安全 底层原理数组ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 30; i++) { new Thread(()->{

2022-05-21 22:50:47 107

原创 CAS && ABA

111CAS比较并交换CAS底层原理?如果知道,谈谈对UnSafe的理解atomicInteger.getAndIncrement()UnSafeCAS 是什么CAS 缺点ABA问题什么是ABA?原子引用 AtomicReferenceABA问题规避面试:CAS — UnSafe — CAS底层原理 — ABA —原子引用更新 — 如何规避ABA问题CAS比较并交换CAS 是什么? 比较并交换AtomicInteger atomicInteger = new AtomicInteger(5);

2022-05-21 10:35:53 271

原创 volatile

阳哥面试题volatile的理解volatile是java虚拟机提供的轻量级的同步机制JMM理解可见性原子性有序性volatile的理解volatile是java虚拟机提供的轻量级的同步机制保证可见性不保证原子性禁止指令重排序JMM理解JMM (Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念,并不证实存在,他描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)的方访问方式JMM关于同步的规定:线

2022-05-20 23:16:23 185

原创 面试题-回忆往昔

面试题-回忆往昔1. @autowired与@resource的区别2. 单例模式3 new 对象1. @autowired与@resource的区别@autowired首先尝试通过类型注入,然后通过名字注入当有多个子实现类时:可以改为注入类型的名字或者通过@qulifier指定名称或者在其中一个实现类使用@primary (优先使用@resource首先通过名字进行注入,然后通过类型注入当有多个子实现类:可以改为注入类型的名字2. 单例模式恶汉式:不存在线程安全问题

2022-05-19 22:57:45 195

原创 EMQ基础功能

认证认证简介身份认证是大多数应用的组成部分,MQTT协议支持用户名和密码认证,启用身份认证能够有效阻止非法客户端的连接EMQ X中的认证指的是 当一个客户端连接到EMQX的时候,通过服务器的配置来控制客户端连接到服务器的权限EMQX 的认证包括两个层面:MQTT协议本身在CONNECT报文中指定用户名和密码,EMQX以插件形式支持基于Username、ClientID、Http、JWT、LDAP及各类数据库如MongoDB、MySQL、PostgreSQL、Redis等多种形式的认证在传输层上

2022-05-19 00:32:25 1372

原创 MQTT协议与EMQ

参考b站教程 所做笔记

2022-05-16 21:54:19 1182

原创 线程 安全

线程安全例子:public class Test {private static int num = 0;public static void main(String[] args) { Thread thread1 = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 100000000; i++) {

2021-12-25 23:43:21 2344 1

原创 发送 邮件

/** * @author zhj * @Title: * @Package * @Description: * @date */public class Test { public static void main(String[] args) throws Exception { // 1 下载 mail包, 2 导包 // 邮件协议 // SMTP (Simple Mail Transfer Protocol)简单传输协议,中转站

2021-12-23 21:39:29 1214

MyBatis(再续前缘).md

MyBatis(再续前缘).md

2021-07-25

空空如也

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

TA关注的人

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