自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何使用自定义Mybatis-TypeHandler直接将查询到的JSON数据封装到指定对象,达到可复用?

使用自定义Mybatis-TypeHandler直接将查询到的JSON数据封装到指定对象,达到可复用!!​ 前言:最近在做项目的时候,遇到一个问题,就是数据量特别大的情况下,除了分表分库,索引层面优化,以及加缓存以外,还可以对数据进行进一步处理,比如你要查明细数据,你可以将这些明细信息以Json的形式存储在数据库中,另外保留一些基础信息,这样就能把大量的数据缩减,提高查询效率,我们知道Mybatis默认的JdbcType 是没有Json类型的,那么如何把查询得到的json结果封装成我们需要的对象呢,My

2022-04-17 14:19:32 3530 2

原创 连接MySQL时出现:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)-解决办法

连接MySQL时出现:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)-解决办法之前工作一直用的oracle,mysql不怎么用,今天用Navicat连接发现报ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES),原因就是密码忘记没输对导致的,于是百度了一下,都什么乱七八糟的,

2021-12-20 00:12:13 12476 99

原创 Spring Boot 如何通过配置文件开启关闭定时任务

在spring boot中如果需要使用定时任务的话,使用一个注解即可搞定。

2023-06-07 16:18:32 3297 1

原创 对大量日志导致Java后端某些类加载错误问题记录

1. 在使用日志记录问题时应该注意使用方式,以及使用级别,日志不是越多越好,打出关键错误点就行2. 在生产中日志级别应该尽量调高点,以免频繁产生大量的日志导致内存问题,或者将JVM内存参数调高,这样某些类日志级别可以调低,方便排查3. 项目初期最好使用slf4j来做日志记录,方便对日志进行统一维护,避免引入多余的日志类。

2023-06-02 15:20:06 623

原创 MongonDB基本概念和文档操作

​ MongoDB是一个文档数据库(以 JSON 为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。​ MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,数据格式是BSON,一种类似JSON的二进制形式的存储格式,简称Binary JSON ,和JSON一样支持内嵌的文档对象和数组对象,因此可以存储比较复杂的数据类型。

2022-10-24 22:05:19 416 1

原创 进阶笔录-深入理解Java线程之-AQS

​ AQS当中的同步等待队列也称CLH队列,CLH队列是Craig、Landin、Hagersten三人发明的一种==基于双向链表数据结构的队列,是FIFO先进先出线程等待队列,==Java中的CLH队列是原CLH队列的一个变种,线程由原自旋机制改为阻塞机制。不同的自定义同步器竞争共享资源的方式也不同。​ ReentrantLock是一种基于AQS框架的应用实现,是JDK中的一种线程并发访问的同步手段,它的功能类似于synchronized是一种互斥锁,可以保证线程安全。公平和非公平,可重入锁的实现。

2022-09-05 16:15:54 681

原创 三两下解决CSDN 导入Markdown图片失效不显示问题

​ 每次将MarkDown文件导入CSDN的时候,有些图片总是由于防盗链的问题导致图片加载不出来,还得手动再导一遍,极其不方便。所以我们能不能建立一个属于自己的图片服务器或者说在线图库呢,而且每次使用Typora插入图片的时候都会自动的上传到该服务器。这样,CSDN再导入的时候就不会出现防盗链问题了,这里,使用Gitee+picgo+Typora方式就可以轻松做到,而且配置极其简单。

2022-09-03 16:16:14 2110 1

原创 进阶笔录-深入理解Java线程之Synchronized

问题:两个线程对初始值为 0 的静态变量一个做自增,一个做自减,各做 5000 次,结果是 0 吗?问题分析以上的结果可能是正数、负数、零。为什么呢?因为 Java 中对静态变量的自增,自减并不是原子 操作。我们可以查看 i++和 i–(i 为静态变量)的 JVM 字节码指令 ( 可以在idea中安装一个jclasslib 插件)如果是单线程以上 8 行代码是顺序执行(不会交错)没有问题。 但多线程下这 8 行代码可能交错运行调用过程:一个程序运行多个线程本身是没有问题的问题出在多个线程访问共享资源一

2022-09-02 16:44:58 260

原创 进阶笔录-深入理解Java线程之Atomic原子类

​ 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的。但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方案。实际上,在J.U.C下的atomic包提供了一系列的操作简单,性能高效,并能保证线程安全的类去更新基本类型变量,数组元素,引用类型以及更新对象中的字段类型。

2022-08-21 21:52:08 152

原创 进阶笔录-深入理解Java线程之CAS

CAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值。以上伪代码描述了一个由比较和赋值两阶段组成的复合操作,CAS 可以看作是它们合并后的整体——一个不可分割的原子操作,并且其原子性是直接在硬件层面得到保障的。CAS可以看做是乐观锁(对比数据库的悲观、乐观锁)的一种实现方式,Java原子类中的递增操作就通过CAS自旋实现的。...

2022-08-17 16:32:33 104

原创 进阶笔录- 并发编程之深入理解Java线程

使用new Thread(创建一个线程,然后调用start()方法进行java层面的线程启动);调用本地方法start0(),去调用jvm中的JVM_StartThread方法进行线程创建和启动;调用new JavaThread(8thread entry, sz)进行线程的创建,并根据不同的操作系统平台调用对应的os:create _thread方法进行线程创建;...

2022-08-16 21:49:32 304

原创 一小篇文章教你看懂Java字节码

此篇文章深度虽浅,但至少让你可以看懂并且学会自己分析Java字节是如何被执行的

2022-05-04 18:19:34 1746

原创 面试手写SQL - 求连续3天成绩合格的学生姓名?

面试手写SQL - 求连续3天若干问题,终于会了!前段时间秋招的时候去上海某公司面试,被搞懵了,面试官直接当场让我手写SQL,出的题目我当时也懵了,题目听起来不难,但是面试现场给你出题,那种紧张的氛围下是不容易想到的,于是我课下自己补了作业!面试题目:写出连续三天 成绩大于等于60分的学生姓名?问题分析:这个题目关键点是如何把连续三天表示出来,这里要在思维上转换一下,不然是很难做出来的,我当时就是没想出来,哎!说到底还是自己SQL写的有点少了。来看问题,连续三天,就是日期连续,如果给你一张表,我

2021-11-27 21:08:19 1069 4

原创 关于高并发与多线程中的线程池

关于高并发与多线程中的线程池定义线程是稀缺资源,它的创建与销毁是一个相对偏重且耗资源的操作,而Java线程依赖于内核线程,创建线程需要进行操作系统状态切换,为避免资源过度消耗需要设法重用线程执行多个任务。线程池就是一个线程缓存,负责对线程进行统一分配、调优与监控。什么时候使用线程池:单个任务处理时间比较短需要处理的任务数比较大线程池的优势:重用存在的线程,减少线程创建,消亡的开销,提高性能提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。提高线程的可管理性,可统一

2021-10-24 23:52:45 477 2

原创 @PostConstruct、@PreDestroy和initMethod、destroyMethod、InitializingBean、DisposableBean概念、区别以及执行顺序

@PostConstruct、@PreDestroy和initMethod、destroyMethod、InitializingBean、DisposableBean概念、区别以及执行顺序@PostConstruct定义相关此注解是在Java EE5规范中加入的,不是spring的,spring是指遵循了这个规范,在Servlet生命周期中有一定作用,它通常都是一些初始化的操作,但初始化可能依赖于注入的其他组件,所以要等依赖全部加载完再执行@PostConstruct注解用于在依赖关系注入完成

2021-10-04 17:34:02 691 1

原创 一次性看懂Equals和HashCode的用法与注意事项!面试必问基础!!

一次性看懂Equals和HashCode的用法与注意事项一直对Equals和HashCode的概念及用法很是模糊,现在有时间,搜集了一下资料,进行了归纳总结。关于Equals参考文档:https://www.cnblogs.com/lulipro/p/5628750.htmlObject类中默认的实现方式是 : return this == obj 。那就是说,只有this 和 obj引用同一个对象,才会返回true。而我们往往需要用equals来判断 2个对象是否等价,而非验证他们的唯一性

2021-09-20 17:04:33 218 2

原创 Java中创建对象的5中方式

源文档:https://www.cnblogs.com/wxd0108/p/5685817.htmlJava中创建对象的5中方式new创建新对象通过反射机制(Class和Constructor)采用clone机制通过序列化机制new创建新对象这是最常见也是最简单的创建对象的方式了。通过这种方式,我们可以调用任意的构造函数(无参的和带参数的)。Employee emp1 = new Employee();0: new #19 // class o

2021-08-08 18:55:48 126

原创 Java迭代器(Iterator)的next()及hasNext方法的理解

关于java集合迭代器中的it.hashNext()和it.next()方法今天突然想了一下找个问题,网上大多数说是直接取下一个元素,很迷惑,那么迭代器中it.next()方法到底是取当前元素并且指针下移还是直接取得下一个元素呢?下面就找个问题追了一下源码 //jdk1.8 private class Itr implements Iterator<E> { int cursor; // index of next element to return

2021-08-06 00:21:49 6598 5

原创 Spring Boot

文章目录原理初探SpringBoot配置文件yaml文件与properties注入配置文件JsR303数据校验多环境切换自动配置原理SpringBoot Web开发MVC自动配置原理原理初探关于springBoot的理解自动装配(通过注解@SpringBootApplication 自动装载相关配置类)run方法()SpringApplication.run分析SpringApplication的实例化,二是run方法的执行SpringApplication这个类主要做了一下四件

2021-08-05 17:33:39 217

原创 Java 集合及底层源码分析

文章目录**List集合**ArrayListVectorLinkedListSet集合HashSetLinkedHashSet**Map集合**Map 接口的遍历方式HashMapHashtablePropertiesTreeSetTreeMap开发中如何选择集合实现类Iterator遍历Collection工具类List集合集合类中元素有序(即添加顺序和取出顺序一致)、且可重复List集合中的每个元素都有其对应的顺序索引,即支持索引索引是从0开始的ArrayListArrayLis

2021-07-26 23:39:12 1025

原创 Dubbo和Zookeeper集成

Dubbo和Zookeeper集成分布式理论:在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力

2021-06-30 23:06:43 384 2

简单的人力资源管理系统的设计与实现及课程设计

这是一个利用javase的基本知识做出来的一个很好的案例,里面包含了se的基本知识点,是一个学生节课的一个很好的课堂案例

2017-07-16

空空如也

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

TA关注的人

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