自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (10)
  • 收藏
  • 关注

原创 SoftEther linux与windows使用

1、SoftEther简介我们来先科普一下什么是SoftEther吧,SoftEther是由日本筑波大学的登大遊在硕士论文中提出的开源、跨平台、多重协议的虚拟专用网方案,其实我更看重的是他的内网穿透功能,下面来一张图片,说明它的强大。SoftEther正确定的安装配置,可以实现企业内部网络访问,家庭私有云访问,其功能如下:(1)可以实现家里办公,即在家可以连接到企业网络;(2)可以实现互联网办公;(3)可以实现互联网访问家庭内部网络内容,如家庭存储。很多情况下,我们需要远程办公,但是有很多内部资料只有在公司

2022-12-06 18:42:00 2515 3

原创 腾讯云服务器mysql安装

linux安装mysql8版本,解决相关安装问题

2022-12-04 19:40:13 3232 3

原创 通过私钥连接腾讯云,实现免密远程登录

putty、MobaXterm通过私钥连接腾讯云,实现免密远程登录、运维

2022-12-04 17:56:43 1427

原创 分析系统变慢或卡死

一、问题现象描述常见的反馈问题说法:web应用好慢呀,好像死了.这种问题描述不够清晰,慢有多种慢的现象,“死也不是一个专业的说法。下面我们将对这类问题进行分类说明,不同的死”法,慢法有不同的分析方式。基本要求:熟悉 Linux 基本操作、 Java 编程、 JDK 基本命令 Tong Web 使用,后面我们会用到。二“死”的问题死通常是对进程没了或是进程在但没反应而进行的描述。实际是进程崩溃、假死、产生僵尸进程这三类情况,其主要原因有以下几点:1最低级的“死”法(1)有人偷偷停了 W

2022-10-28 11:08:21 1744

原创 RocketMQ是如何发送和消费消息的

RocketMQ是如何发送和消费消息的

2022-09-25 18:22:47 1464 3

原创 Windows 11家庭中文版安装安卓子系统

Windows 11家庭中文版安装安卓子系统

2022-09-25 16:23:57 3145 2

原创 加密机与数据库加密产品的区别?

数据库加密 加密数据库

2022-06-06 11:32:14 2094

原创 oracle一些命令使用技巧

oracle一些命令使用技巧

2022-05-23 16:41:10 102

原创 nginx代理中upstream命名的由来

首先,请求流向是 client -> nginx -> server命名历史网管为了控制大家能上什么网站就弄了个防火墙。http请求是经由代理服务器转发到各个网站,再把数据发回来。这个叫做http proxy。而nginx里面的功能刚好与这个过程相反,是对client来说只看到了1台server,请求发到nginx以后,由nginx转发给内网的服务器,这个过程对于client来说是透明的,所以被称之为反向代理,也就是reverse proxy。另外一个,在http协议的语义里面,

2022-05-16 19:35:25 945

原创 搭建MyCat高可用集群

目录前言集群搭建启动mycat02前言之前我们已经实现了mycat的主从复制,读写分离,数据分片。https://blog.csdn.net/Delicious_Life/article/details/106169808本篇来搭建mycat集群。集群搭建首先返回到下面的目录cd /haoke/mycat我们复制mycat01里面的内容,新建一个mycat02cp mycat01 mycat02 -R由于我们是在1台机器上搭建集群,因此需要修...

2022-05-12 10:31:35 1374

转载 Spring boot导入jackson相关maven依赖

提示:1.x版本使用的是codehaus的库,2.0之后改成fasterxml,建议使用2.0以后的版本。版本一:<!-- jackson 1.x 相关依赖 --><dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</v...

2022-04-29 15:44:24 4473

原创 hdfs为什么不能修改数据

hdfs为什么不能修改数据 HDFS和MapReduce对比 fastdfs 和hdfs的区别

2022-04-26 23:22:53 2824

转载 「扫盲」 Elasticsearch

前言只有光头才能变强。不知道大家的公司用Elasticsearch多不多,反正我公司的是有在用的。平时听同事们聊天肯定避免不了不认识的技术栈,例如说:把数据放在引擎,从引擎取出数据等等。如果对引擎不了解的同学,就压根听不懂他们在说什么(我就是听不懂的一位,扎心了)。引擎一般指的是搜索引擎,现在用得比较多的就是Elasticsearch。这篇文章主要是对Elasticsearch一个简单的入门,没有高深的知识和使用。至少我想做到的是:以后同事们聊引擎了,至少知道他们在讲什么。什么是

2022-04-26 22:36:16 443

原创 log4j里面的info,debug,error级别详解

log4j的日志信息一共分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,也就是说,声明指定的级别后,只会显示大于该级别的日志信息,明白这一点很重要,这里Log4j有一个规则:假设设置了级别为P,如果发生了一个级别Q比P高,则可以启动,否则屏蔽掉。DEBUG: 这个级别最低的东东,一般的来说,在系统实际运行过程中,一般都是不输出的。因此这个级别的信息,可以随意的使用,任

2022-04-26 15:33:03 3495

原创 Cookie和Session

会话Cookie指没有设置setMaxAge的Cookie。此类Cookie在浏览器关闭的时候就消亡了持久Cookie通过cookie.setMaxAge()设置了自己的生命周期,直到过了时间才会消亡。SessionSession 是存放在服务器端的,类似于Session结构来存放用户数据。当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Sessi

2022-04-25 21:08:02 192

原创 mybatis中的typeAlias

mybatis的 xml 文件中需要写类的全限定名,较繁琐,可以配置自动扫描包路径给类配置别名,有两种配置方式。方式一:mybatis-config.xml中配置 <typeAliases>   <package name="top.jimc.ssm.model"/> </typeAliases> 此配置不支持多路径配置,不支持通配符配置,不灵活。方式二:SqlSessionFactory 中配置 typeAlia..

2022-04-25 14:27:32 269

原创 Spring之-Aware 接口

​其实就是用aware来加载外部文件,增加spring容器与bean的耦合度javaboy.propertiesjavaboy.address=www.whereami.orgjavaboy.txtwww.whereami.comAwareService.javapackage org.javaboy.aware;import org.springframework.beans.BeansException;import org.sprin.

2022-04-23 10:37:00 142

原创 2的取反为什么是-3,怎么算的?正数的原码反码不是不变吗?

取反是一种运算,而你说的原码反码补码是数字的表示方法,是两个不同的概念,十进制的2用二进制表示原码是0000 0010 补码0000 0010,而对十进制的2取反就是1111 1101 得到的补码是1000 0011,也就是十进制的-3。负的二进制在转换成十进制时要取反码,上篇文章有讲到...

2022-02-17 11:19:10 1249

原创 为什么正数原码补码反码相同

补码和反码被设计出来就是为了表示负数的,他们被设计出来只是为了计算机更好的去计算,假如说用原码去计算两个相反数的加法,比如+1和-1相加,我们假设分配四位给计算机,那+1就是0001,-1就是1001,他们两个相加是不等于0的,而反码和补码就解决了这个问题,可以说补码和反码是原码的升级版,补码又是反码的升级版,因为反码中存在两个0一个+0和-0,补码把-0舍去了,所以能比原码和反码多表示一个负数,回到你提的问题,为什么正数补码反码原码一样,因为我们只是想要解决正负数相加的问题,所以我们其实不用去管正数,我们

2022-02-17 11:16:02 6419 1

原创 贴了手机膜指纹识别慢,重新录入指纹就好了,还有就是最好只录一个指纹减少识别判断

贴了手机膜指纹识别慢,重新录入指纹就好了,还有就是最好只录一个指纹减少识别判断

2022-01-24 18:25:41 1903

原创 java读取大文件的最优方法

/** * 读文件并且写入另一个文件 */public static void readAndWrite() throws Exception { //创建一个随机读写文件对象 RandomAccessFile raf=new RandomAccessFile("out.txt","rw"); long totalLen=raf.length(); FileInputStream inputStream = new FileInputStream("out.txt").

2022-01-02 20:42:52 1355

原创 对Spring AOP的理解

AOP是一种编程思想,是通过预编译方式和运行期动态代理的方式,在不修改源代码的情况下实现给程序动态统一添加功能的技术。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块。AOP技术利用一种称为“横切”的技术,剖解开封装对象的内部,将影响多个类的公共行为封装到一个可重用的模块中,并将其命名为切面。所谓的切面,简单来说就是与业务无关,却为业务模块所共同调用的逻辑,将其封装起来便于减少系统的重复代码,降低模...

2021-12-26 22:06:31 288

原创 Java中的IO流

流是Java对不同输入源输出源的抽象,代表了从起源到接收的有序数据,有了它程序就可以采用统一的方式来访问不同的输入源和输出源了。按照数据的流向,可以将流分为输入流和输出流。其中,输入流只能读取数据、不能写入数据,而输出流只能写入数据、不能读取数据。按照数据的类型,可以将流分为字节流和字符流。其中,字节流操作的数据单元是byte(8位的字节),而字符流操作的数据单元是char(16位的字符)。按照使用的场景,可以将流分为节点流和处理流。其中,节点流可以直接从/向一个特定的...

2021-12-26 22:05:05 386

原创 HashMap的实现原理

在JDK8中,HashMap底层是采用“数组+链表+红黑树”来实现的。HashMap是基于哈希算法来确定元素的位置(槽)的,当我们向集合中存入数据时,它会计算传入的Key的哈希值,并利用哈希值取余来确定槽的位置。如果元素发生碰撞,也就是这个槽已经存在其他的元素了,则HashMap会通过链表将这些元素组织起来。如果碰撞进一步加剧,某个链表的长度达到了8,则HashMap会创建红黑树来代替这个链表,从而提高对这个槽中数据的查找的速度。HashMap中,数组的默认初始容量为16,这个容量会以2的指数进行扩

2021-12-26 22:02:33 624

原创 MySQL的事务隔离级别

隔离性描述的是一个事务所做的修改何时对其它事务可见。MySQL数据库有四种隔离级别。 未提交读:事务可以读取到其它事务未提交的数据。在这个隔离级别下会导致脏读。 提交读:也叫不可重复读,事务所做的修改只有在提交过后才能对其它事务可见。在这个隔离级别下会出现幻读。幻读是指一个事务中连续执行相同的查询,得到的结果集可能不一致(其他事务对数据进行了操作),对比两次的结果集,数据就好像是凭空出现亦或凭空消失。 可重复读:一个事务中连续执行相同的查询,查询的结果集总是一致的。在这个隔...

2021-12-26 22:01:17 415

原创 静态代理和动态代理的区别

使用场合举例:如果需要委托类处理某一业务,那么我们就可以先在代理类中统一处理然后在调用具体实现类按照代理的创建时期,代理类可以分为两种:1.静态:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。如常用的接口实现就是用的Impl.class2.动态:在程序运行时运用反射机制动态创建而成。分为jdk动态代理和cglib动态代理:jdk用的是invokehandler,但必须声明接口才能使用,而cglib通过封装接口工具类实现了.

2021-12-18 16:18:20 319

原创 java易混淆概念

1.接口可以继承接口..但是要使用extends~而不是用implements如:interface a{}interface b extends a{}2.抽象类可以实现接口..比如java.util中的AbstractCollection类就是实现的Collection接口3.抽象类可以继承实体类下面这段执行无误的代码说明的所有的问题:interface MyInterface {}interface AnotherInterface extends MyInterface {}c

2021-12-18 16:10:25 355

原创 dubbo架构

dubbo使用和原理

2021-12-05 20:16:44 1454

原创 堆内存和栈内存区别以及jvm存放数据剖析

1.栈(stack)  在Java中,栈(stack)是由编译器自动分配和释放的一块内存区域,主要用于存放一些基本类型(如int、float等)的变量、指令代码、常量及对象句柄(也就是对象的引用地址)。  栈内存实际上就是满足先进后出的性质的数学或数据结构,栈内存的操作方式类似于数据结构中的栈(仅在表尾进行插入或删除操作的线性表)。  栈的优势在于,它的存取速度比较快,仅次于寄存器,栈中的数据还可以共享,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间。  缺点表现在...

2021-11-30 23:56:10 913

原创 spring事务传播机制详解

事务传播机制 PROPAGATION类似状态模式或策略模式线程是操作系统概念的,并取决与进程。事务则是相对于数据库而言的,如一条sql多条sql或整个程序7种传播机制:一、required检查是否有其他事务每次新增(REQUIRED)二、强制当前事务依赖,有三种机制,如有事务则1.非事务(SUPPORTS)2.异常(MANDATORY)3.新建并阻塞当前(REQUIRES_NEW)三、强制作为非事务处理,有两种机制,如有事务则1.异常(NEVER)2.新建并阻塞当前(NOT_SU

2021-11-27 20:00:42 113

原创 java设置新生代大小,jvm java虚拟机 新生代的配置

1.1.1.1.-Xmn参数参数-Xmn1m可以用于设置新生代的大小。设置一个较大的新生代会影响老生代的大小,因为这两者的总和是一定的,这个系统参数对于系统性能以及GC行为有很大的影响,新生代一般设置为整个堆空间的1/3到1/4左右最合适。参数-XX:SurvivorRatio用来设置新生代中eden空间和from/to空间的比例,公式如下:-XX:SurvivorRatio=eden/from =eden/to解释:from和to之间的两块区间内存是相等的。可以参考from和to之间.

2021-11-25 19:52:34 3036

原创 JVM中新生代为什么要有两个Survivor(from,to)

JVM分代复制算法

2021-11-25 19:43:15 930

转载 AQS 原理以及 AQS 同步组件总结

多线程底层实现原理AQS

2021-11-21 23:01:19 259

转载 Java并发编程:volatile关键字解析

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了vola..

2021-11-21 20:29:52 61

原创 分布式锁的三种实现方式

分布式锁的三种实现方式分布式锁三种实现方式: 1 2 3 1. 基于数据库实现分布式锁; 2. 基于缓存(Redis等)实现分布式锁; 3. 基于Zookeeper实现分布式锁; 一, 基于数据库实现分布式锁1. 悲观锁利用select … where … for update 排他锁注意: 其他附加功能与实现一基本一致,这里需要注意的是“where name=lock ”,name字段必须要走索引,否则会锁

2021-11-14 21:42:36 284

原创 线程安全的ConcurrentHashMap分析

更好的选择:ConcurrentHashMap效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况 下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他线程访问HashTable的同步方法时,可能会进入阻塞 或轮询状态。如线程1使用put进行添加元素,线程2不但不能使用put方法添加元素,并且也不能使用get方法来获取元素,所以竞争越激烈效率越低。锁分段技术HashTable容器在竞争激

2021-11-14 15:25:04 148

原创 两段锁协议

两段锁协议:是指所有的事务必须分两个阶段对数据项加锁和解锁。即事务分两个阶段,第一个阶段是获得封锁。事务可以获得任何数据项上的任何类型的锁,但是不能释放;第二阶段是释放封锁,事务可以释放任何数据项上的任何类型的锁,但不能申请。第一阶段是获得封锁的阶段,称为扩展阶段:其实也就是该阶段可以进入加锁操作,在对任何数据进行读操作之前要申请获得S锁,在进行写操作之前要申请并获得X锁,加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。就是加锁后就不能解锁了。第二阶段是释放封锁的阶段,称为收缩阶段:当事务.

2021-11-03 22:29:59 7873

原创 数据库中各级封锁协议以及幻读的解释

1.什么是读写锁? 排它锁(Exclusive):简写为X锁,又称写锁。 共享锁(Shared):简写为S锁,又称读锁。有以下两个规定: 1)一个事务对数据对象A加了X锁,就可以对A进行读取和更新。加锁期间其它事务不能对A加任何锁。 2)一个事务对数据对象A加了S锁,可以对A进行读取操作,但是不能进行更新操作。加锁期间其它事务能对A加S锁,但是不能加X锁。锁的兼容关系如下表所示:- X SX 不兼容 不兼容...

2021-11-03 22:15:51 1627

原创 java多线程编程步骤

2021-11-01 23:10:47 83

原创 synchronized与Lock的区别

两者区别:1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类;2.synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁;3.synchronized会自动释放锁(a线程执行完同步代码会释放锁 ;b 线程执行过程中发生异常会释放锁),Lock需在finally中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁;4.用synchronized关键字的两个线程1和线程2,如果当前线程1获得锁,线程2线程等待。如果线程.

2021-11-01 22:34:44 48

Python3.8.zip

python3.8.8 linux包 密码123

2021-04-03

Python3.6.zip

python tgz包 3.6.13 密码123

2021-04-03

eclipse-inst-jre-win64.rar

eclipse最新版下载器,idea上手有点不习惯,故结合eclipse使用,可安装eclipse全家桶

2021-01-30

Xftp6.0.0191p.rar

xftp ftp经典工具

2021-01-16

difftool纯净版

difftool纯净版

2021-01-15

VisualStudio_Community安装,Microsoft Visual C++ 14.0 is required问题解决方案

VisualStudio_Community安装,Microsoft Visual C++ 14.0 is required问题解决方案

2020-12-16

jformdesigner5pojie.zip

eclipse jformdesigner全套插件 写guiform推荐插件,比idea自带的gui插件好用

2020-04-11

win10、7下安装hadoop,解决依赖性问题文件,直接合并bin文件

将bin中我所框选的文件复制到hadoop的bin文件中,为解决依赖性问题,之后要将hadoop.dll复制到C:/WINDOW/SYSTEM32下面

2019-04-29

Git-2.16.2-64-bit.exe

Git-2.16.2-64-bit,2.16最新版,网速慢的可以下载这个

2018-04-07

gcc-core-6.3.0-1-mingw32-bin.tar.xz

gcc-core-6.3.0-1-mingw32-bin.tar.xz c语言编译库 gnu gcc

2017-12-18

空空如也

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

TA关注的人

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