自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 问答 (2)
  • 收藏
  • 关注

原创 如何查看一个GB级别的文本文件内容

最近由于MysqlDump备份出来的文件有问题,想看下文件里的内容,但是文件足足有7个GB,用普通的文本工具根本打不开,一个就是用powershell也能查找着看,但终归太麻烦。如果时开发人员,电脑肯定会有IDEA或VS CODE,这个时候,这俩工具除了开发的另一个功能就来了,我们可以用这俩工具打开GB级别的文件,亲试有效,主义的时,程序内存要够用哈!...

2022-03-10 16:48:13 1199

原创 Process阻塞问题

直接上出问题的代码:public CommandResult executeFile(File file) { ArrayList<String> stdoutList = new ArrayList<String>(); ArrayList<String> stderrList = new ArrayList<String>(); try { Process p = Runtime.

2021-08-24 10:54:42 510 1

原创 properties注入值的方式

方式一、Spring中通过@PropertySource({"classpath:/config/supportVersion.properties"})来指定文件后,再通过@Value("${versions}")的方式来进行注入。方式二、通过Properties类来加载文件后,再通过该类的方法来进行获取。但是,存在两个问题,方式一的话,如果说我们的配置文件增加了字段之后,我们还需要手动再添加一个@Value把新的值也注入进来,对于一些需要更新的配置文件来说,比较麻烦。方式二的话,也能实现这种可变的

2021-08-18 10:14:47 1183

原创 java输出流 拒绝访问_java – 使用FileOutputStream时拒绝访问

最近处理BUG时,通过FileOutputStream进行写出操作时,总是报拒绝访问。于是从网上找方法大部分都说文件名没有后缀的话,可能会认为时目录,导致出现拒绝访问的问题,但我的情况时文件目录加了一个文件名,是有文件后缀的,这个不符合我的情况。于实开始自己再尝试,我先试着把这个文件删了,再执行时,写入成功了。。。。然后把原来的文件再放进去,又出现拒绝访问。。。当时还想着是否有其他进程占用这个文件,但是复制删除都是成功了的,不像时被进程占用了头大中。。。。然后比较了两个文件的一些内容,最后发现,

2021-07-25 00:16:26 6622

转载 3、Docker:回顾HelloWorld及底层原理

3.1、回顾HelloWorld流程3.2、底层原理Docker是怎么工作的?Docker是一个 Client - Server 结构的系统,Docker 的守护进程运行在主机上。通过Scoket从客户端访问!Docker-Server 接收到 Docker-Client 的指令,就会执行这个命令!Docker 为什么 比 VM 快1、Docker 有着比虚拟机更少的抽象层。2、Docker 利用的是宿主机的内核,vm 需要的是 Guest OS所以说,新建一个容器的时候,docke

2021-01-10 18:27:49 88

转载 2、Docker:安装

2.1、Docker的基本组成镜像(image):docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat ===》run ===> tomcat01容器 (提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)容器(container):Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。启动、停止、删除,基本命令!仓库(repsository):仓库就是存放镜像的地方!仓库分为公有仓库和私有仓库!Docker

2021-01-10 18:15:19 104

转载 1、Docker:Docker概述

文章目录1.1、Docker为什么出现?1.2、Docker历史1.3、聊聊Docker1.4、Docker能干嘛1.4.1、之前的虚拟技术1.4.2、容器化技术1.5、DevOps(开发、运维)1.1、Docker为什么出现?一款产品:开发 - - - 上线 两套环境!应用环境,应用配置!开发 - - - 运维。问题:我在我的电脑上可以运行!版本更新,导致服务不可用!对于运维来说,考验就十分大!环境配置是十分的麻烦,每一个集齐都要部署环境(集群Redis、ES、Hadoop…)!费时费力。发布

2021-01-10 17:09:54 78

转载 18、JUC:各种锁的理解

18.1、公平锁、非公平锁公平锁:非常公平,不能够插队,必须先来后到!非公平锁:非常不公平,可以插队(默认都是非公平锁)public ReentrantLock() { sync = new NonfairSync();}// 可以通过传递参数true将它变成公平锁public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync();}18.2、可重入锁(递归锁)Syn

2021-01-02 00:27:22 78

转载 17、JUC:深入理解CAS及ABA问题

文章目录17.1、什么是CAS17.2、Unsafe类17.2、ABA问题17.3、原子引用17.1、什么是CASpackage com.chen.cas;import java.util.concurrent.atomic.AtomicInteger;public class CASDemo { // CAS compareAndSet:比较并交换 public static void main(String[] args) { AtomicInteger at

2021-01-01 19:21:46 111

原创 Fiddler原理介绍及详细使用方法

一、Fiddler简介Fiddler是位于客户端和服务器端的HTTP代理目前最常用的http抓包工具之一功能非常强大,是web调试的利器监控浏览器所有的HTTP/HTTPS流量查看、分析请求内容细节伪造客户端请求和服务器响应测试网站的性能解密HTTPS的web会话全局、局部断点功能第三方插件使用场景接口调试,接口测试,线上环境调试,web性能分析判断前后端bug、开发环境hosts配置、mock、弱网断网测试二、B/S架构编写程序部署到web服务器web服务

2020-12-27 22:43:58 836 1

原创 mysql实现类似于文章上一篇下一篇切换的sql语句

因为最近在写一篇关于文章的项目,想在文章展示页做一个上一篇下一篇切换的东西,最初的想法时根据文章id的加一减一进行判定,但是后面才发现,因为文章id设置的是自增,所以当我们删除了一篇文章的相邻文章后,这就出错了,想了想,我们可以直接用sql语句来进行文章的查抄,不用根据id的加一减一,此处直接上语句此处以查询第5篇文章的上一篇下一篇为例:上一篇SELECT * FROM article WHERE article_id > 5 limit 1下一篇SELECT * FROM article

2020-12-10 16:43:17 330

原创 static下的资源访问不到,报404

如果遇到静态资源404,那么首先肯定时路径问题,但是,当我们修改路径之后,发现还是404,可能是我们改的有问题,检查一篇,发现路径确确实实没问题,那么可能就是缓存捣的鬼了,首先我们需要把项目中的maven进行clear,然后ctrl+F5刷新一下我们的浏览器,再展开,我们会发现页面已经好了!...

2020-12-09 15:53:20 1664 1

转载 16、JUC:单例模式

饿汉式 DCL懒汉式 深究!这里的双重检测枷锁是保证了操作原子性,只有一个线程能创建一个实例,其他线程无法创建第二个,volatile关键字是为了防止因为指令重排导致的多线程问题,有可能线程A创建一个实例,虚拟机只执行了分配空间,对象地址引用这两步,这时线程B过来发现对象已经被创建了,但是获取到的对象是还没有被初始化的。...

2020-11-30 22:03:35 68

转载 15、JUC:JMM及Volatile

文章目录15.1、 请你谈谈对Volatile的理解15.2、什么是JMM15.3、 Volatile15.1.1、保证可见性15.1.2、不保证原子性15.1.3、指令重排15.1、 请你谈谈对Volatile的理解Volatile 是 Java 虚拟机提供的轻量级的同步机制1、保证可见性2、不保证原子性3、禁止指令重排15.2、什么是JMMJMM java内存模型,是一个不存在的东西,是一个概念,约定!关于JMM的一些同步的约定1、线程解锁前,必须把共享变量立刻刷回主存2、线程加锁前

2020-11-29 16:49:19 112

转载 14、JUC:异步回调

14.1、Future设计初衷:对将来的某个事件的结果进行建模

2020-11-29 14:50:47 72

转载 13、JUC:ForkJoin

文章目录14.1、什么是ForkJoin13.2、ForkJoin 特点13.3、ForkJoin操作14.1、什么是ForkJoinForkJoin在 JDK1.7 之后出现,并行执行任务! 提高效率,大数据量!大数据:Map Reduce(把大任务拆分成小任务)13.2、ForkJoin 特点工作窃取这个里面维护的都是双端队列现有两个线程A、B,此时B线程已经执行完了,A还没有执行完,这时B就会将A里面的任务偷过来执行。13.3、ForkJoin操作...

2020-11-22 22:26:49 94

原创 什么是序列化和反序列化及序列化的三种方式

序列化和反序列化序列化: 将数据对象转换为二进制流的过程称为对象的序列化。反序列化: 将二进制流恢复为数据对象的过程称为反序列化。序列化的目的:进行数据持久化和网络传输。常见使用场景:RPC框架的数据传输序列化的三种方式1、Java原生序列化实现Serializable接口,这个接口非常特殊,没有任何方法,只起标识作用。这种方式兼容性最好,但不支持跨语言,而且性能一般。实现Serializable接口,建议设置serialVersionUID字段值,如果不设置,那么每次运行时,编译器会根据

2020-11-17 15:54:29 1156

转载 12、JUC:Stream流式计算

12.1、什么是Stream流式计算大数据: 存储 + 计算集合、MySQL 本质就是存储东西的;计算都应该交给流来操作!package com.chen.stream;import java.util.Arrays;import java.util.List;/** * 题目要求:一分钟内完成此题,只能用一行代码实现 * 现有5个用户! 筛选: * 1、ID 必须是偶数 * 2、年龄必须要大于23岁 * 3、用户名转换为大写字母 * 4、用户名字字母倒着排序 * 5、只输

2020-11-09 10:58:53 99

转载 11、JUC:四大函数式接口

文章目录11.1、函数式接口11.2、代码测试11.2.1、Function11.2.2、Predicate11.2.3、Consumer11.2.4、Supplier11.1、函数式接口只有一个方法的接口@FunctionalInterfacepublic interface Runnable { public abstract void run();}// 超级多@FunctionalInterface// 简化编程模型,在新版本的底层框架大量应用!// foreach()的参

2020-11-07 19:39:04 135

转载 10、JUC、线程池(重点)

文章目录10.1、池化技术10.2、三大方法10.3、七大参数10.4、手动创建线程池10.5、四种拒绝策略10.6、小结核拓展线程池:三大类型、七大参数、四种拒绝策略10.1、池化技术程序的运行,本质:占用系统的资源! 优化资源的使用! =》池化技术线程池、连接池、内存池、对象池… 创建、销毁,十分浪费资源池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我线程池的好处:1、降低资源消耗2、提高响应速度3、方便管理线程复用、可以控制最大并发数、管理线程10.2、三大方

2020-11-07 16:32:30 97

转载 9、JUC:阻塞队列

文章目录9.1、简介9.2、四组API9.3、SynchronousQueue 同步队列9.1、简介阻塞队列:BlockingQueue 不是新的东西什么情况下会使用 阻塞队列:多线程并发处理,线程池!9.2、四组API方式抛出异常有返回值阻塞等待超时等待添加add()offer()put()offer(, ,)移除remove()poll()take()poll(,)检测队首元素element()peek()/**

2020-11-07 10:46:57 62

转载 8、JUC:读写锁

ReadWriteLock/** * 独占锁(写锁)一次只能被一个线程占有 * 共享锁(读锁) 多个线程可以同时占有 * ReadWriteLock 读写锁 * 读-读 可以共存! * 读-写 不能共存! * 写-写 不能共存! */public class ReadWriteLockDemo { public static void main(String[] args) { MyCache2 myCache = new MyCache2();

2020-11-06 17:06:39 99

转载 7、JUC:常用的辅助类

8.1、CountDownLatch减法计数器import java.util.concurrent.CountDownLatch;// 计数器public class CountDownLatchTest { public static void main(String[] args) throws InterruptedException { // 倒计时6,必须要执行任务的时候,再使用! CountDownLatch countDownLatch =

2020-11-06 16:22:31 57

转载 6、JUC:Callable

1、可以有返回值2、可以抛出异常3、方法不同,Runnable的run() Callable的call()6.1、代码测试

2020-11-03 10:54:46 91

转载 5、JUC:集合类不安全

5.1、List不安全package com.chen.unsafe;import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;// java.util.ConcurrentModificationException 并发修改异常public class ListTest { public static void main(String[] args) { // 并发下 ArrayList

2020-11-02 11:04:54 80

转载 2、JUC:Lock锁(重点)

3.1、传统Synchronizedpackage com.chen.demo01;// 基本的卖票例子/** * 真正的多线程开发,公司中的开发,降低耦合性 * 线程就是一个单独的资源类,它没有任何的附属操作! * 1、属性、方法 */public class SaleTicketDemo01 { public static void main(String[] args) { // 并发,多线程操作同一个资源类 Ticket ticket =

2020-10-31 16:42:59 95

转载 4、JUC:8锁问题

第一组package com.chen.lock8;import java.util.concurrent.TimeUnit;/** * 8 锁,就是关于锁的8个问题 * 1、标准情况下,两个线程先打印 打电话 还是 发短信? 1.发短 2.打电话 * 2、sendSms延迟4秒,两个线程先打印 打电话 还是 发短信? */public class Test1 { public static void main(String[] args) { Phone ph

2020-10-31 16:39:20 112

转载 3、JUC:生产者和消费者问题

3.1、Sychronized版package com.chen.pc;/** * 线程交替的通信问题,生产者和消费者问题! 等待唤醒,通知唤醒 * 线程交替执行 A B 操作同一个变量 num = 0 * A num + 1 * B num - 1 */public class A { public static void main(String[] args) { Data data = new Data(); new Thread(()-&gt

2020-10-30 21:36:28 92

原创 1、JUC:什么是JUC及进程与线程

JUC是java.util.concurrent包的缩写,是java并发包。java.util 工具包业务:普通的线程代码 ThreadRunnable 没有返回值,效率相比于Callable相对较低!1.2、进程、线程进程:一个程序,QQ.exe Music.exe 程序的集合。一个进程可以包含多个线程,至少包含一个!java默认有有几个线程? 2个 main线程、GC线程:开了一个进程Typora,写字,自动保存(线程负责的)对于java而言:Thread、Runnable、Ca

2020-10-29 20:41:45 211

转载 12、Redis:缓存穿透和雪崩

文章目录12.1、概述12.2、缓存穿透(查不到)12.2.1、概念12.2.2、解决方案12.3、缓存击穿(量太大,缓存过期)12.3.1、概念12.3.2、解决方案12.4、缓存雪崩12.4.1、概念12.4.2、解决方案12.1、概述这里需要注意和缓存击穿的区别,缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。当某个key在过期的瞬间,有大量的请求并发访问,这类数据

2020-10-28 21:58:46 198

转载 11、Redis:主从复制

文章目录11.1、概念11.2、环境配置11.1、概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主要包括:1、数据冗余:主从复制实现了数据的热备份,是持

2020-10-28 21:33:28 507

转载 10、Redis:发布订阅

文章目录10.1、命令10.2、测试10.3、原理Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。Redis 客户端可以订阅任意数量的频道。第一个:消息发送者, 第二个:频道 第三个:消息订阅者!下图展示了评到channel1,以及订阅这个频道 的三个客户端–clients2、client5 和 client1之间的关系:当有新消息通过PUBLISH命令发送给频道channel1时,这个消息就会被发送给订阅它的三个客户端:10.1

2020-10-26 21:45:09 68

转载 9、Redis:持久化

文章目录9.1、RDB(Redis DataBase)9.1.1、什么是RDB9.1.2、触发机制9.1.3、如果恢复rdb文件!9.1.4、优点和缺点9.2、AOF(Append Only File)9.2.1、append9.2.2、重写规则说明9.2.3、优点和缺点Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失,所以Redis提供了持久化功能!9.1、RDB(Redis DataBase)9.1.1、什么是RDB在指定的时

2020-10-26 20:46:01 90

转载 8、Redis:Redis.Conf详解

启动的时候,就通过配置文件来启动!8.1、单位1、配置文件unit单位对大小写不敏感!8.2、包含就是好比我们学习Spring的import8.3、网络bing 127.0.0.1 # 绑定的ipprotected-mode yes # 保护模式port 6379 # 端口8.4、通用GENERALdaemonize yes # 以守护进程的方式运行,我们需要自己开启为yespidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一

2020-10-26 19:05:27 85

转载 7、Redis:SpringBoot整合

说明:在我们的SpringBoot2.x之后,原来使用的jedis被替换为了lettuce区别:jedis:采用的是直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool连接池!更像BIO模式lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况!可以减少线程数量!更像NIO模式源码分析: @Bean @ConditionalOnMissingBean( name = {"redisTemplate

2020-10-22 19:22:02 321

转载 RedisUtils

package com.kuang.utils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import org.springframework.util.CollectionUtils;import jav

2020-10-22 19:15:12 97

转载 6、Redis:Jedis

我们要使用Java来操作Redis6.1、什么是JedisJedis 是 Redis 官方推荐的java连接开发工具!使用Java操作Redis的中间件!如果你要使用java操作redis,那么一定要对jedis十分熟悉!6.2、测试1、导入对应的依赖<dependencies> <!--导入jedis的包--> <dependency> <groupId>redis.clients</groupId>

2020-10-21 21:23:05 76

转载 5、Redis:事务

Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!Redis单条命令是保证原子性的,但是事务不保证原子性

2020-10-20 20:33:19 90

转载 4、Redis:三种特殊数据类型

文章目录4.1、geospatial地理位置4.1.1、GEOADD4.1.2、GEOPOS4.1.3、GEODIST4.1.4、GEORADIUS4.2.5、GEORADIUSBYMEMBER4.1.6、GEOHASH4.1.7Geo底层4.2、hyperloglog4.3、bitmaps4.1、geospatial地理位置朋友的定位、附近的人、打车距离计算?Reids的Geo在Redis3.2版本就推出了!这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!可以查询一些测试数据:htt

2020-10-20 17:09:25 103

转载 20、SpringBoot:富文本编辑器

20.1、简介市面上有许多非常成熟的富文本编辑器,比如:Editor.md——功能非常丰富的编辑器,左端编辑,右端预览,非常方便,完全免费官网:https://pandao.github.io/editor.md/wangEditor——基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、界面美观、易用、开源免费。官网:http://www.wangeditor.com/TinyMCE——TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaSc

2020-10-14 10:06:01 710

空空如也

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

TA关注的人

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