自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 Lru算法实现方式

方法一:package com.atxyj.datastructs.lru;import java.util.LinkedHashMap;import java.util.Map;/** * @author xyj * @description lru缓存demo(依赖JDK) * @date 2021/8/11 */public class LRUCacheDemo<K, V> extends LinkedHashMap<K,V> { //缓存坑

2021-08-11 16:28:00 111

原创 对Git暂存区的理解

在使用git的项目中,有个隐藏目录.git,这个是git的版本库。 git的版本库中存了很多东西,其中就包括git暂存区也即称为stage(或index)的暂存区。 使用git后,git会自动为我们创建第一个分支master,master分支也即为一个目录树 图中的head是执行master分支的一个游标,也即图中的head可以被master来替换 图中的objects标识的区域是git对象库,在.git/object目录下 当对工作区中文件内容进行修改后,执.

2021-07-28 19:35:25 1535

原创 rabbitmq

1、什么是中间件?中间件是处于操作系统和应用程序之间的软件。在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必须要有一个通信中间件。即中间件=平台+通信,这个定义也限定了只有用于分布式系统才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。1.1 特性能够进行通讯支持高可用数据持久性-作为使用者的话,可以屏蔽底层操作系统的复杂性;如果作为开发者的话,就必须要了解tcp/ IP协议,以及如何完成底层操作系统的沟通、如何去使用的多线程使

2021-07-26 20:13:16 89

原创 Java并发编程

1.1 上下文切换后面再来补充1.1.1 多线程一定快吗?下面的代码演示穿行和并发执行并累加操作的时间,请分析:下面的代码并发执行一定比串行快吗?package com.atxyj.model.thread;/** * @author: xyj * @description: 多线程一定快吗?下面的代码演示串行和并行并累加操作的时间,请分析:下面的代码并发执行一定比串行执行快吗? * 结果是不一定。 * 从java并发编程这本书上总结发现:当多线程执行累加操作不超过百万次时,速度会比

2021-07-18 17:56:15 60

原创 jvm总结

1、为什么要学习JVM?面试的需要中高级程序员必备技能:项目管理、调优的需要追求极客精神:比如垃圾回收算法、JIT、底层原理2、字节码我们平时说的Java字节码,指的是Java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统称为jvm字节码3、虚拟机所谓虚拟机,就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机大名鼎鼎的visual box,vmware就属于系统虚拟机,它们完全是对物理计

2021-06-30 09:50:52 59

原创 分享一下一年工作经验不到的Java面试经验

地点:长沙今天呢,面试了两家公司,一家电话面试,一家现场面试。第一家公司主要的业务是做电网还有政府开发,所以用户数据量比较大。主要问的是偏数据库这一块的问题,以及对数据较多的情况下的处理方法,但是我说我去年毕业到现在就没接触过高并发这方面的项目,做的基本上都是些Java方面的业务,而这家公司有点偏大数据的方向,用了很多大数据的框架比如说Hadoop、Spark等等。最后,面试官问我期望薪资多少,我想了一下,做大数据这块是挺值钱的,而且我还没学过大数据方面的框架,就说6.5k。后面就没问什么问题了,我觉得

2021-04-15 20:19:19 248 2

原创 springboot+mybatis-plus的一个简单实用

1、引入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency>

2021-04-14 21:19:51 104 1

原创 Mac版本的可视化工具Sequel pro的使用

1、安装与下载下载地址:http://www.pc6.com/mac/133145.html2、建立连接注意:这里建立连接后可能会出现如下异常MySQL said: Authentication plugin ‘caching_sha2_password’ cannot beloaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2):image not found3、连接异常的解决方案1.在系统偏好设置

2021-04-13 21:47:10 397

原创 mybatis-plus

1、mybatis-plus的三个特点 润物无声:只做增强不做改变,引入它不会对现有工厂产生影响,如丝般顺滑 效率至上:只需简单配置,即可快速进行单表CRUD操作,从而节省大量时间 丰富功能:代码生成、物理分页、性能分析等功能一应俱全 2、框架结构mybatis-plus的框架的核心是mybatis-plus-boot-starter,也即为项目中要引入mybatis-plus必须是一个springboot项目,因为它给我们提供的是springboot的场景启动器boo

2021-04-13 19:53:00 259

原创 简单说下Runnable接口和Callable接口

1、为什么有Runnable接口了还要选择用Callable接口?因为Runnable接口是没有返回值的,而Callable接口是有返回值的。如果有几百个线程在运行,想要得到得到返回的结果,通过Runnbale接口是无法实现的,但是可以通过Callable接口实现2、怎么使用Callable接口?按照寻常的思想,通常是想像使用Runnable接口一样使用它。但是通过查看Thread类的构造方法中并不能传入Callable接口。所以,这时候需要搭建一个桥梁将Callable接口和Runnable接

2021-04-11 20:28:16 270

原创 线程池

1.聊聊线程和进程线程是处于进程之中,每个进程都有独立的内存空间,而每个线程都共享一片内存,但是每个线程都有单独的栈内存,用于存储本地数据。1.1创建线程的方式有哪几种?通过继承Thread类 通过实现Runnable接口 通过实现Callable接口 通过线程池来创建 通过Java8新特性lambda表达式1.2 start()和run()的区别start():当执行start()方法的时候会启动一个线程,然后执行对应的run(),但是start()方法只会执行一次ru...

2021-04-10 20:07:00 108 1

原创 xxl-job

xxl-job(2.2.0版本)经验分享:xxl-job的2.0版本和1.0版本差距较大,容易采坑(因为我刚开始就踩了很多坑)。所以,要使用xxl-job的朋友们,推荐从2.2.0开始,下面我将简单介绍一下它。xxl-job的简介xxl-Job是一个轻量级分布式任务调度平台,它的设计目标就是开发迅速、学习简单、轻量级、易扩展、开箱即可用。中文地址:http://www.xuxueli.com/xxl-jobxxl-job的特性1、使用简单,通过web界面可对任务进行增删改查,操作简单

2021-04-09 18:12:23 158

原创 使用TCP进行聊天和文件上传(简陋版)

TCP/IP协议族:实际上是一组协议TCP是用户传输协议 IP是网络传输协议使用TCP实现简单聊天代码//客户端package com.atxyj.model.test;import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;/** * 客户端 * @author: xyj * @date: 2021/4/9 *.

2021-04-09 14:37:58 88

原创 Java并发编程

1、请谈谈你对volatile的理解volatile是Java虚拟机提供的轻量级的同步机制,我们可以这样理解它是synchronized的低配版1.1 volatile的三大特性 保证可见性 禁止指令重排 不保证原子性 (1)可见性,如果不加volatile关键字,则主线程会进入死循环,加volatile则主线程能够退出,说明加了volatile关键字,当有一个线程修改了值,会马上被另一个线程感知到,当前值作废,重新从主内存中获取值。对其他线程可见,这就叫可见性。

2021-02-20 14:32:44 37

原创 谈谈死锁以及关于它的编码实现方式

这里写自定义目录标题1.什么是死锁?2.死锁的编码实现生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1.什么是死锁?死锁是指两个或两个以上的线程在执行的过程中,由于争抢资源而出现互相等待的现象,若无外力的干涉它们将会无法推进下去。用我们通俗易懂的话讲,死锁就是吃着碗里的想着锅里的,但是又紧紧抓住自己已经已有的,死死不肯放手

2020-12-12 22:14:25 111 1

原创 谈谈hashCode()和equals()方法

1.==和equals到底比较什么?==既可以比较基本类型又可以比较引用类型,如果是基本类型它比较的是值是否相等,如果是引用类型比较的是地址而equals是Object类的一个方法,在equals()方法源码149显示equals本质上就是==,即出厂默认设置是==。对于大多数的初级程序员,都认为equals方法只是值比较,而忽略了它本质上就是==的事实。因此,equals方法的比较方式有...

2020-04-18 15:50:41 110

原创 Java中的StringBuffer和StringBuilder的区别

Java中的StringString的开辟方式:内存中主要以存储堆栈的形式来存储数据。**堆:**在堆中存放的是对象和引用类型的数据.栈:在栈中存放的是值类型的数据.除此之外,在String的存储地方还有常量池在常量池中存放的是声明并赋值但并为实例化的String类型String中有一个方法intern()可以将存放在堆中的值转化为存放在常量池中的值.StringBuffer和Stri...

2019-07-18 19:07:17 5299

navicat15.0.zip

MySQL的可视化工具(Mac版)

2021-04-09

microservicecloud-master.zip

springcloud的入门案例包括crud

2021-03-01

springboottest-master.zip

主要是基于springboot+springMVC+mybatis+vue前后端分离的crud

2021-03-01

空空如也

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

TA关注的人

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